diff options
author | Anas Nashif <anas.nashif@intel.com> | 2012-11-06 07:10:54 -0800 |
---|---|---|
committer | Anas Nashif <anas.nashif@intel.com> | 2012-11-06 07:10:54 -0800 |
commit | ede95f2eabeab645352a36af072ee998c400bca1 (patch) | |
tree | fcd5dc9c73c1bdc0444deee28a9b329f62a2ed7b /demos | |
download | ppl-upstream/0.11.2.tar.gz ppl-upstream/0.11.2.tar.bz2 ppl-upstream/0.11.2.zip |
Imported Upstream version 0.11.2upstream/0.11.2upstream
Diffstat (limited to 'demos')
211 files changed, 66214 insertions, 0 deletions
diff --git a/demos/Makefile.am b/demos/Makefile.am new file mode 100644 index 000000000..1bb629d38 --- /dev/null +++ b/demos/Makefile.am @@ -0,0 +1,36 @@ +# Automake source file for the Parma Polyhedra Library. +# Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> +# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) +# +# This file is part of the Parma Polyhedra Library (PPL). +# +# The PPL 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 3 of the License, or (at your +# option) any later version. +# +# The PPL 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 02111-1307, USA. +# +# For the most up-to-date information see the Parma Polyhedra Library +# site: http://www.cs.unipr.it/ppl/ . + +if BUILD_PPL_LCDD +PPL_LCDD_SUBDIR = ppl_lcdd +endif BUILD_PPL_LCDD + +if BUILD_PPL_LPSOL +PPL_LPSOL_SUBDIR = ppl_lpsol +endif BUILD_PPL_LPSOL + +if BUILD_PPL_PIPS +PPL_PIPS_SUBDIR = ppl_pips +endif BUILD_PPL_PIPS + +SUBDIRS = $(PPL_LCDD_SUBDIR) $(PPL_LPSOL_SUBDIR) $(PPL_PIPS_SUBDIR) diff --git a/demos/Makefile.in b/demos/Makefile.in new file mode 100644 index 000000000..e884d96b9 --- /dev/null +++ b/demos/Makefile.in @@ -0,0 +1,696 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ + +# Automake source file for the Parma Polyhedra Library. +# Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> +# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) +# +# This file is part of the Parma Polyhedra Library (PPL). +# +# The PPL 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 3 of the License, or (at your +# option) any later version. +# +# The PPL 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 02111-1307, USA. +# +# For the most up-to-date information see the Parma Polyhedra Library +# site: http://www.cs.unipr.it/ppl/ . +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@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 = demos +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \ + $(top_srcdir)/m4/ac_check_fpu_control.m4 \ + $(top_srcdir)/m4/ac_check_gmp.m4 \ + $(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \ + $(top_srcdir)/m4/ac_check_swi_prolog.m4 \ + $(top_srcdir)/m4/ac_check_xsb_prolog.m4 \ + $(top_srcdir)/m4/ac_check_yap.m4 \ + $(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \ + $(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \ + $(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \ + $(top_srcdir)/m4/ac_cxx_limit_memory.m4 \ + $(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \ + $(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \ + $(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \ + $(top_srcdir)/m4/ac_prog_jar.m4 \ + $(top_srcdir)/m4/ac_prog_java.m4 \ + $(top_srcdir)/m4/ac_prog_javac.m4 \ + $(top_srcdir)/m4/ac_prog_javah.m4 \ + $(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \ + $(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +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 +AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ + distdir +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = ppl_lcdd ppl_lpsol ppl_pips +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CIAO_PROLOG = @CIAO_PROLOG@ +CIAO_PROLOG_INCLUDE_OPTIONS = @CIAO_PROLOG_INCLUDE_OPTIONS@ +CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +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@ +GNU_PROLOG = @GNU_PROLOG@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +ISODATE = @ISODATE@ +JAR = @JAR@ +JAVA = @JAVA@ +JAVAC = @JAVAC@ +JAVAH = @JAVAH@ +JNIFLAGS = @JNIFLAGS@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBEXT = @LIBEXT@ +LIBGMP = @LIBGMP@ +LIBGMPXX = @LIBGMPXX@ +LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@ +LIBGMP_PREFIX = @LIBGMP_PREFIX@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBGMP = @LTLIBGMP@ +LTLIBGMPXX = @LTLIBGMPXX@ +LTLIBOBJS = @LTLIBOBJS@ +M4 = @M4@ +M4_DEBUGFILE = @M4_DEBUGFILE@ +MAKEINFO = @MAKEINFO@ +MD5SUM = @MD5SUM@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OCAMLBEST = @OCAMLBEST@ +OCAMLBUILD = @OCAMLBUILD@ +OCAMLC = @OCAMLC@ +OCAMLCDOTOPT = @OCAMLCDOTOPT@ +OCAMLDEP = @OCAMLDEP@ +OCAMLDOC = @OCAMLDOC@ +OCAMLLIB = @OCAMLLIB@ +OCAMLMKLIB = @OCAMLMKLIB@ +OCAMLMKTOP = @OCAMLMKTOP@ +OCAMLOPT = @OCAMLOPT@ +OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@ +OCAMLVERSION = @OCAMLVERSION@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PPL_VERSION_BETA = @PPL_VERSION_BETA@ +PPL_VERSION_MAJOR = @PPL_VERSION_MAJOR@ +PPL_VERSION_MINOR = @PPL_VERSION_MINOR@ +PPL_VERSION_REVISION = @PPL_VERSION_REVISION@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SHREXT = @SHREXT@ +SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@ +STRIP = @STRIP@ +SWI_PROLOG = @SWI_PROLOG@ +SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@ +SWI_PROLOG_LD = @SWI_PROLOG_LD@ +SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@ +TEXT_MD5SUM = @TEXT_MD5SUM@ +VALGRIND = @VALGRIND@ +VERSION = @VERSION@ +XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@ +YAP_PROLOG = @YAP_PROLOG@ +YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@ +YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@ +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_CXX = @ac_ct_CXX@ +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@ +ciao_prolog = @ciao_prolog@ +coefficient_mnemonic = @coefficient_mnemonic@ +datadir = @datadir@ +datarootdir = @datarootdir@ +debug_flag = @debug_flag@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extra_includes = @extra_includes@ +extra_libraries = @extra_libraries@ +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@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +mlgmp_dir = @mlgmp_dir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +required_instantiations = @required_instantiations@ +required_instantiations_c_cxx_headers = @required_instantiations_c_cxx_headers@ +required_instantiations_c_cxx_objects = @required_instantiations_c_cxx_objects@ +required_instantiations_c_cxx_sources = @required_instantiations_c_cxx_sources@ +required_instantiations_canonical_names = @required_instantiations_canonical_names@ +required_instantiations_java_classes = @required_instantiations_java_classes@ +required_instantiations_java_cxx_headers = @required_instantiations_java_cxx_headers@ +required_instantiations_java_cxx_headers_sources = @required_instantiations_java_cxx_headers_sources@ +required_instantiations_java_cxx_objects = @required_instantiations_java_cxx_objects@ +required_instantiations_java_cxx_sources = @required_instantiations_java_cxx_sources@ +required_instantiations_java_sources = @required_instantiations_java_sources@ +required_instantiations_ocaml_cxx_headers = @required_instantiations_ocaml_cxx_headers@ +required_instantiations_ocaml_cxx_objects = @required_instantiations_ocaml_cxx_objects@ +required_instantiations_ocaml_cxx_sources = @required_instantiations_ocaml_cxx_sources@ +required_instantiations_prolog_cxx_headers = @required_instantiations_prolog_cxx_headers@ +required_instantiations_prolog_cxx_objects = @required_instantiations_prolog_cxx_objects@ +required_instantiations_prolog_cxx_sources = @required_instantiations_prolog_cxx_sources@ +required_instantiations_prolog_generated_test_sources = @required_instantiations_prolog_generated_test_sources@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sicstus_prolog = @sicstus_prolog@ +srcdir = @srcdir@ +subdirs = @subdirs@ +swi_prolog = @swi_prolog@ +swi_prolog_ld = @swi_prolog_ld@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +uudecode = @uudecode@ +xsb_prolog = @xsb_prolog@ +yap_prolog = @yap_prolog@ +@BUILD_PPL_LCDD_TRUE@PPL_LCDD_SUBDIR = ppl_lcdd +@BUILD_PPL_LPSOL_TRUE@PPL_LPSOL_SUBDIR = ppl_lpsol +@BUILD_PPL_PIPS_TRUE@PPL_PIPS_SUBDIR = ppl_pips +SUBDIRS = $(PPL_LCDD_SUBDIR) $(PPL_LPSOL_SUBDIR) $(PPL_PIPS_SUBDIR) +all: all-recursive + +.SUFFIXES: +$(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) --foreign demos/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign demos/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 +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# 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): + @fail= 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; \ + ($(am__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): + @fail= 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; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__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) + set x; \ + 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 || \ + set "$$@" "$$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; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + 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)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__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 "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$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; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +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) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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 Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -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) ctags-recursive \ + install-am install-strip tags-recursive + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean 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-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 + + +# 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/demos/ppl_lcdd/Makefile.am b/demos/ppl_lcdd/Makefile.am new file mode 100644 index 000000000..7312b93aa --- /dev/null +++ b/demos/ppl_lcdd/Makefile.am @@ -0,0 +1,133 @@ +# Automake source file for the Parma Polyhedra Library. +# Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> +# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) +# +# This file is part of the Parma Polyhedra Library (PPL). +# +# The PPL 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 3 of the License, or (at your +# option) any later version. +# +# The PPL 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 02111-1307, USA. +# +# For the most up-to-date information see the Parma Polyhedra Library +# site: http://www.cs.unipr.it/ppl/ . + +SUBDIRS = examples + +AM_CPPFLAGS = \ +-I$(top_builddir) \ +-I$(top_builddir)/src \ +-I$(top_srcdir)/utils \ +@extra_includes@ + +bin_PROGRAMS = ppl_lcdd +ppl_lcdd_SOURCES = ppl_lcdd.cc +ppl_lcdd_LDADD = \ +$(top_builddir)/src/libppl.la \ +$(top_builddir)/utils/libppl_utils.a \ +@extra_libraries@ + +dist_man_MANS = \ +ppl_lcdd.1 + +polka_lcdd.o: $(srcdir)/ppl_lcdd.cc $(top_builddir)/utils/libppl_utils.a + $(CXXCOMPILE) -c -o $@ -DUSE_POLKA $(srcdir)/ppl_lcdd.cc + +polka_lcdd: polka_lcdd.o + $(CXXLINK) $< -lpolkag -lgmpxx -lgmp $(top_builddir)/utils/libppl_utils.a + + +polylib_lcdd.o: $(srcdir)/ppl_lcdd.cc + $(CXXCOMPILE) -c -o $@ -DUSE_POLYLIB $(srcdir)/ppl_lcdd.cc + +polylib_lcdd: polylib_lcdd.o $(top_builddir)/utils/libppl_utils.a + $(CXXLINK) $< -lpolylibgmp -lgmpxx -lgmp $(top_builddir)/utils/libppl_utils.a + +EXTRA_DIST = \ +expected_mpz \ +expected_mpz_a \ +expected_int8 \ +expected_int8_a \ +expected_int16 \ +expected_int16_a \ +expected_int32 \ +expected_int32_a \ +expected_int64 \ +expected_int64_a + +if HAVE_MD5SUM + +COEFFICIENT_MNEMONIC = @coefficient_mnemonic@ + +if ASSERTIONS_ENABLED + +TOUGH_EXAMPLES_IF_ASSERTIONS_ENABLED = \ +ccc6.ext \ +ccp6.ext \ +cut32_16.ext \ +cyclic16-10.ext \ +reg600-5_m.ext \ +cyclic17_8.ine \ +in6.ine \ +in7.ine \ +kq20_11_m.ine \ +mit31-20.ine \ +sampleh8.ine \ +trunc10.ine + +EXPECTED = expected_$(COEFFICIENT_MNEMONIC)_a + +else !ASSERTIONS_ENABLED + +EXPECTED = expected_$(COEFFICIENT_MNEMONIC) + +endif !ASSERTIONS_ENABLED + +TOUGH_EXAMPLES = \ +cp7.ext \ +cyclic25_13.ext \ +prodst62.ext \ +cp6.ine \ +mit.ine \ +mit288-281.ine \ +mit41-16.ine \ +mit708-9.ine \ +mit71-61.ine \ +mit90-86.ine \ +$(TOUGH_EXAMPLES_IF_ASSERTIONS_ENABLED) + +check-local: ppl_lcdd$(EXEEXT) + echo $(TOUGH_EXAMPLES) >tough_examples + echo $(ECHO_N) "$(ECHO_C)" >obtained + export LC_ALL=C; \ + for path in $(srcdir)/examples/*.ext $(srcdir)/examples/*.ine; \ + do \ + file=`basename $$path`; \ + $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \ + echo $(ECHO_N) $$file " $(ECHO_C)" >>obtained; \ + echo ppl_lcdd$(EXEEXT) $$path; \ + ./ppl_lcdd$(EXEEXT) $$path | tr -d '\015' | $(TEXT_MD5SUM) \ + >>obtained; \ + done + diff obtained $(srcdir)/$(EXPECTED) + +MOSTLYCLEANFILES = \ +tough_examples \ +obtained + +endif HAVE_MD5SUM + +$(top_builddir)/utils/libppl_utils.a: + $(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/utils libppl_utils.a + +$(top_builddir)/src/libppl.la: + $(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la diff --git a/demos/ppl_lcdd/Makefile.in b/demos/ppl_lcdd/Makefile.in new file mode 100644 index 000000000..bddaecc4f --- /dev/null +++ b/demos/ppl_lcdd/Makefile.in @@ -0,0 +1,987 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ + +# Automake source file for the Parma Polyhedra Library. +# Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> +# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) +# +# This file is part of the Parma Polyhedra Library (PPL). +# +# The PPL 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 3 of the License, or (at your +# option) any later version. +# +# The PPL 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 02111-1307, USA. +# +# For the most up-to-date information see the Parma Polyhedra Library +# site: http://www.cs.unipr.it/ppl/ . + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@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 = ppl_lcdd$(EXEEXT) +subdir = demos/ppl_lcdd +DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \ + $(top_srcdir)/m4/ac_check_fpu_control.m4 \ + $(top_srcdir)/m4/ac_check_gmp.m4 \ + $(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \ + $(top_srcdir)/m4/ac_check_swi_prolog.m4 \ + $(top_srcdir)/m4/ac_check_xsb_prolog.m4 \ + $(top_srcdir)/m4/ac_check_yap.m4 \ + $(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \ + $(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \ + $(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \ + $(top_srcdir)/m4/ac_cxx_limit_memory.m4 \ + $(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \ + $(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \ + $(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \ + $(top_srcdir)/m4/ac_prog_jar.m4 \ + $(top_srcdir)/m4/ac_prog_java.m4 \ + $(top_srcdir)/m4/ac_prog_javac.m4 \ + $(top_srcdir)/m4/ac_prog_javah.m4 \ + $(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \ + $(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" +PROGRAMS = $(bin_PROGRAMS) +am_ppl_lcdd_OBJECTS = ppl_lcdd.$(OBJEXT) +ppl_lcdd_OBJECTS = $(am_ppl_lcdd_OBJECTS) +ppl_lcdd_DEPENDENCIES = $(top_builddir)/src/libppl.la \ + $(top_builddir)/utils/libppl_utils.a +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +SOURCES = $(ppl_lcdd_SOURCES) +DIST_SOURCES = $(ppl_lcdd_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 +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 = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +man1dir = $(mandir)/man1 +NROFF = nroff +MANS = $(dist_man_MANS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ + distdir +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CIAO_PROLOG = @CIAO_PROLOG@ +CIAO_PROLOG_INCLUDE_OPTIONS = @CIAO_PROLOG_INCLUDE_OPTIONS@ +CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +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@ +GNU_PROLOG = @GNU_PROLOG@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +ISODATE = @ISODATE@ +JAR = @JAR@ +JAVA = @JAVA@ +JAVAC = @JAVAC@ +JAVAH = @JAVAH@ +JNIFLAGS = @JNIFLAGS@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBEXT = @LIBEXT@ +LIBGMP = @LIBGMP@ +LIBGMPXX = @LIBGMPXX@ +LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@ +LIBGMP_PREFIX = @LIBGMP_PREFIX@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBGMP = @LTLIBGMP@ +LTLIBGMPXX = @LTLIBGMPXX@ +LTLIBOBJS = @LTLIBOBJS@ +M4 = @M4@ +M4_DEBUGFILE = @M4_DEBUGFILE@ +MAKEINFO = @MAKEINFO@ +MD5SUM = @MD5SUM@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OCAMLBEST = @OCAMLBEST@ +OCAMLBUILD = @OCAMLBUILD@ +OCAMLC = @OCAMLC@ +OCAMLCDOTOPT = @OCAMLCDOTOPT@ +OCAMLDEP = @OCAMLDEP@ +OCAMLDOC = @OCAMLDOC@ +OCAMLLIB = @OCAMLLIB@ +OCAMLMKLIB = @OCAMLMKLIB@ +OCAMLMKTOP = @OCAMLMKTOP@ +OCAMLOPT = @OCAMLOPT@ +OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@ +OCAMLVERSION = @OCAMLVERSION@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PPL_VERSION_BETA = @PPL_VERSION_BETA@ +PPL_VERSION_MAJOR = @PPL_VERSION_MAJOR@ +PPL_VERSION_MINOR = @PPL_VERSION_MINOR@ +PPL_VERSION_REVISION = @PPL_VERSION_REVISION@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SHREXT = @SHREXT@ +SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@ +STRIP = @STRIP@ +SWI_PROLOG = @SWI_PROLOG@ +SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@ +SWI_PROLOG_LD = @SWI_PROLOG_LD@ +SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@ +TEXT_MD5SUM = @TEXT_MD5SUM@ +VALGRIND = @VALGRIND@ +VERSION = @VERSION@ +XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@ +YAP_PROLOG = @YAP_PROLOG@ +YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@ +YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@ +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_CXX = @ac_ct_CXX@ +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@ +ciao_prolog = @ciao_prolog@ +coefficient_mnemonic = @coefficient_mnemonic@ +datadir = @datadir@ +datarootdir = @datarootdir@ +debug_flag = @debug_flag@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extra_includes = @extra_includes@ +extra_libraries = @extra_libraries@ +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@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +mlgmp_dir = @mlgmp_dir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +required_instantiations = @required_instantiations@ +required_instantiations_c_cxx_headers = @required_instantiations_c_cxx_headers@ +required_instantiations_c_cxx_objects = @required_instantiations_c_cxx_objects@ +required_instantiations_c_cxx_sources = @required_instantiations_c_cxx_sources@ +required_instantiations_canonical_names = @required_instantiations_canonical_names@ +required_instantiations_java_classes = @required_instantiations_java_classes@ +required_instantiations_java_cxx_headers = @required_instantiations_java_cxx_headers@ +required_instantiations_java_cxx_headers_sources = @required_instantiations_java_cxx_headers_sources@ +required_instantiations_java_cxx_objects = @required_instantiations_java_cxx_objects@ +required_instantiations_java_cxx_sources = @required_instantiations_java_cxx_sources@ +required_instantiations_java_sources = @required_instantiations_java_sources@ +required_instantiations_ocaml_cxx_headers = @required_instantiations_ocaml_cxx_headers@ +required_instantiations_ocaml_cxx_objects = @required_instantiations_ocaml_cxx_objects@ +required_instantiations_ocaml_cxx_sources = @required_instantiations_ocaml_cxx_sources@ +required_instantiations_prolog_cxx_headers = @required_instantiations_prolog_cxx_headers@ +required_instantiations_prolog_cxx_objects = @required_instantiations_prolog_cxx_objects@ +required_instantiations_prolog_cxx_sources = @required_instantiations_prolog_cxx_sources@ +required_instantiations_prolog_generated_test_sources = @required_instantiations_prolog_generated_test_sources@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sicstus_prolog = @sicstus_prolog@ +srcdir = @srcdir@ +subdirs = @subdirs@ +swi_prolog = @swi_prolog@ +swi_prolog_ld = @swi_prolog_ld@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +uudecode = @uudecode@ +xsb_prolog = @xsb_prolog@ +yap_prolog = @yap_prolog@ +SUBDIRS = examples +AM_CPPFLAGS = \ +-I$(top_builddir) \ +-I$(top_builddir)/src \ +-I$(top_srcdir)/utils \ +@extra_includes@ + +ppl_lcdd_SOURCES = ppl_lcdd.cc +ppl_lcdd_LDADD = \ +$(top_builddir)/src/libppl.la \ +$(top_builddir)/utils/libppl_utils.a \ +@extra_libraries@ + +dist_man_MANS = \ +ppl_lcdd.1 + +EXTRA_DIST = \ +expected_mpz \ +expected_mpz_a \ +expected_int8 \ +expected_int8_a \ +expected_int16 \ +expected_int16_a \ +expected_int32 \ +expected_int32_a \ +expected_int64 \ +expected_int64_a + +@HAVE_MD5SUM_TRUE@COEFFICIENT_MNEMONIC = @coefficient_mnemonic@ +@ASSERTIONS_ENABLED_TRUE@@HAVE_MD5SUM_TRUE@TOUGH_EXAMPLES_IF_ASSERTIONS_ENABLED = \ +@ASSERTIONS_ENABLED_TRUE@@HAVE_MD5SUM_TRUE@ccc6.ext \ +@ASSERTIONS_ENABLED_TRUE@@HAVE_MD5SUM_TRUE@ccp6.ext \ +@ASSERTIONS_ENABLED_TRUE@@HAVE_MD5SUM_TRUE@cut32_16.ext \ +@ASSERTIONS_ENABLED_TRUE@@HAVE_MD5SUM_TRUE@cyclic16-10.ext \ +@ASSERTIONS_ENABLED_TRUE@@HAVE_MD5SUM_TRUE@reg600-5_m.ext \ +@ASSERTIONS_ENABLED_TRUE@@HAVE_MD5SUM_TRUE@cyclic17_8.ine \ +@ASSERTIONS_ENABLED_TRUE@@HAVE_MD5SUM_TRUE@in6.ine \ +@ASSERTIONS_ENABLED_TRUE@@HAVE_MD5SUM_TRUE@in7.ine \ +@ASSERTIONS_ENABLED_TRUE@@HAVE_MD5SUM_TRUE@kq20_11_m.ine \ +@ASSERTIONS_ENABLED_TRUE@@HAVE_MD5SUM_TRUE@mit31-20.ine \ +@ASSERTIONS_ENABLED_TRUE@@HAVE_MD5SUM_TRUE@sampleh8.ine \ +@ASSERTIONS_ENABLED_TRUE@@HAVE_MD5SUM_TRUE@trunc10.ine + +@ASSERTIONS_ENABLED_FALSE@@HAVE_MD5SUM_TRUE@EXPECTED = expected_$(COEFFICIENT_MNEMONIC) +@ASSERTIONS_ENABLED_TRUE@@HAVE_MD5SUM_TRUE@EXPECTED = expected_$(COEFFICIENT_MNEMONIC)_a +@HAVE_MD5SUM_TRUE@TOUGH_EXAMPLES = \ +@HAVE_MD5SUM_TRUE@cp7.ext \ +@HAVE_MD5SUM_TRUE@cyclic25_13.ext \ +@HAVE_MD5SUM_TRUE@prodst62.ext \ +@HAVE_MD5SUM_TRUE@cp6.ine \ +@HAVE_MD5SUM_TRUE@mit.ine \ +@HAVE_MD5SUM_TRUE@mit288-281.ine \ +@HAVE_MD5SUM_TRUE@mit41-16.ine \ +@HAVE_MD5SUM_TRUE@mit708-9.ine \ +@HAVE_MD5SUM_TRUE@mit71-61.ine \ +@HAVE_MD5SUM_TRUE@mit90-86.ine \ +@HAVE_MD5SUM_TRUE@$(TOUGH_EXAMPLES_IF_ASSERTIONS_ENABLED) + +@HAVE_MD5SUM_TRUE@MOSTLYCLEANFILES = \ +@HAVE_MD5SUM_TRUE@tough_examples \ +@HAVE_MD5SUM_TRUE@obtained + +all: all-recursive + +.SUFFIXES: +.SUFFIXES: .cc .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) --foreign demos/ppl_lcdd/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign demos/ppl_lcdd/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 +$(am__aclocal_m4_deps): +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p || test -f $$p1; \ + then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list +ppl_lcdd$(EXEEXT): $(ppl_lcdd_OBJECTS) $(ppl_lcdd_DEPENDENCIES) + @rm -f ppl_lcdd$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(ppl_lcdd_OBJECTS) $(ppl_lcdd_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppl_lcdd.Po@am__quote@ + +.cc.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cc.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cc.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-man1: $(dist_man_MANS) + @$(NORMAL_INSTALL) + test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" + @list=''; test -n "$(man1dir)" || exit 0; \ + { for i in $$list; do echo "$$i"; done; \ + l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ + done; } + +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man1dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + test -z "$$files" || { \ + echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(man1dir)" && rm -f $$files; } + +# 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): + @fail= 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; \ + ($(am__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): + @fail= 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; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__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) + set x; \ + 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 || \ + set "$$@" "$$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; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + 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)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @list='$(MANS)'; if test -n "$$list"; then \ + list=`for p in $$list; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ + if test -n "$$list" && \ + grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ + echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ + grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ + echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ + echo " typically \`make maintainer-clean' will remove them" >&2; \ + exit 1; \ + else :; fi; \ + else :; fi + @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 "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$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; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +@HAVE_MD5SUM_FALSE@check-local: +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-local +check: check-recursive +all-am: Makefile $(PROGRAMS) $(MANS) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +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: + -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: install-man + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: install-binPROGRAMS + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: install-man1 + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-man + +uninstall-man: uninstall-man1 + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) check-am \ + ctags-recursive install-am install-strip tags-recursive + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am check-local clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags ctags-recursive 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-man1 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-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ + uninstall-binPROGRAMS uninstall-man uninstall-man1 + + +polka_lcdd.o: $(srcdir)/ppl_lcdd.cc $(top_builddir)/utils/libppl_utils.a + $(CXXCOMPILE) -c -o $@ -DUSE_POLKA $(srcdir)/ppl_lcdd.cc + +polka_lcdd: polka_lcdd.o + $(CXXLINK) $< -lpolkag -lgmpxx -lgmp $(top_builddir)/utils/libppl_utils.a + +polylib_lcdd.o: $(srcdir)/ppl_lcdd.cc + $(CXXCOMPILE) -c -o $@ -DUSE_POLYLIB $(srcdir)/ppl_lcdd.cc + +polylib_lcdd: polylib_lcdd.o $(top_builddir)/utils/libppl_utils.a + $(CXXLINK) $< -lpolylibgmp -lgmpxx -lgmp $(top_builddir)/utils/libppl_utils.a + +@HAVE_MD5SUM_TRUE@check-local: ppl_lcdd$(EXEEXT) +@HAVE_MD5SUM_TRUE@ echo $(TOUGH_EXAMPLES) >tough_examples +@HAVE_MD5SUM_TRUE@ echo $(ECHO_N) "$(ECHO_C)" >obtained +@HAVE_MD5SUM_TRUE@ export LC_ALL=C; \ +@HAVE_MD5SUM_TRUE@ for path in $(srcdir)/examples/*.ext $(srcdir)/examples/*.ine; \ +@HAVE_MD5SUM_TRUE@ do \ +@HAVE_MD5SUM_TRUE@ file=`basename $$path`; \ +@HAVE_MD5SUM_TRUE@ $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \ +@HAVE_MD5SUM_TRUE@ echo $(ECHO_N) $$file " $(ECHO_C)" >>obtained; \ +@HAVE_MD5SUM_TRUE@ echo ppl_lcdd$(EXEEXT) $$path; \ +@HAVE_MD5SUM_TRUE@ ./ppl_lcdd$(EXEEXT) $$path | tr -d '\015' | $(TEXT_MD5SUM) \ +@HAVE_MD5SUM_TRUE@ >>obtained; \ +@HAVE_MD5SUM_TRUE@ done +@HAVE_MD5SUM_TRUE@ diff obtained $(srcdir)/$(EXPECTED) + +$(top_builddir)/utils/libppl_utils.a: + $(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/utils libppl_utils.a + +$(top_builddir)/src/libppl.la: + $(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la + +# 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/demos/ppl_lcdd/examples/1d.ine b/demos/ppl_lcdd/examples/1d.ine new file mode 100644 index 000000000..e07de8523 --- /dev/null +++ b/demos/ppl_lcdd/examples/1d.ine @@ -0,0 +1,5 @@ +H-representation +begin +1 2 rational +-1 1 +end diff --git a/demos/ppl_lcdd/examples/1da.ine b/demos/ppl_lcdd/examples/1da.ine new file mode 100644 index 000000000..b0c053427 --- /dev/null +++ b/demos/ppl_lcdd/examples/1da.ine @@ -0,0 +1,6 @@ +H-representation +begin +2 2 rational +-1 1 +0 1 +end diff --git a/demos/ppl_lcdd/examples/Makefile.am b/demos/ppl_lcdd/examples/Makefile.am new file mode 100644 index 000000000..df666eda4 --- /dev/null +++ b/demos/ppl_lcdd/examples/Makefile.am @@ -0,0 +1,136 @@ +# Automake source file for the Parma Polyhedra Library. +# Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> +# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) +# +# This file is part of the Parma Polyhedra Library (PPL). +# +# The PPL 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 3 of the License, or (at your +# option) any later version. +# +# The PPL 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 02111-1307, USA. +# +# For the most up-to-date information see the Parma Polyhedra Library +# site: http://www.cs.unipr.it/ppl/ . + +EXT_FILES = \ +ccc4.ext \ +ccc5.ext \ +ccc6.ext \ +ccp4.ext \ +ccp5.ext \ +ccp6.ext \ +cp4.ext \ +cp5.ext \ +cp6.ext \ +cp7.ext \ +cube.ext \ +cut16_11.ext \ +cut32_16.ext \ +cyclic10-4.ext \ +cyclic12-6.ext \ +cyclic14-8.ext \ +cyclic16-10.ext \ +cyclic25_13.ext \ +dcube10.ext \ +dcube12.ext \ +dcube3.ext \ +dcube6.ext \ +dcube8.ext \ +irbox20-4.ext \ +irbox200-4.ext \ +mp5.ext \ +prodst62.ext \ +redcheck.ext \ +reg24-5.ext \ +reg600-5_m.ext \ +samplev1.ext \ +samplev2.ext \ +samplev3.ext \ +tsp5.ext + +INE_FILES = \ +1d.ine \ +1da.ine \ +allzero.ine \ +cp4.ine \ +cp5.ine \ +cp6.ine \ +cross10.ine \ +cross12.ine \ +cross4.ine \ +cross6.ine \ +cross8.ine \ +cube.ine \ +cube10.ine \ +cube12.ine \ +cube3.ine \ +cube6.ine \ +cube8.ine \ +cubetop.ine \ +cubocta.ine \ +cyc.ine \ +cyclic17_8.ine \ +diamond.ine \ +dodeca_m.ine \ +ex1.ine \ +grcubocta.ine \ +hexocta.ine \ +icododeca_m.ine \ +in0.ine \ +in1.ine \ +in2.ine \ +in3.ine \ +in4.ine \ +in5.ine \ +in6.ine \ +in7.ine \ +infeas.ine \ +integralpoints.ine \ +kkd18_4.ine \ +kkd27_5.ine \ +kkd38_6.ine \ +kq20_11_m.ine \ +metric40_11.ine \ +metric80_16.ine \ +mit.ine \ +mit288-281.ine \ +mit31-20.ine \ +mit41-16.ine \ +mit708-9.ine \ +mit71-61.ine \ +mit90-86.ine \ +mp5.ine \ +mp5a.ine \ +mp6.ine \ +nonfull.ine \ +origin.ine \ +project1_m.ine \ +project1res.ine \ +project2_m.ine \ +project2res.ine \ +rcubocta.ine \ +reg24-5.ine \ +rhomtria_m.ine \ +sample.ine \ +sampleh1.ine \ +sampleh2.ine \ +sampleh3.ine \ +sampleh4.ine \ +sampleh5.ine \ +sampleh6.ine \ +sampleh7.ine \ +sampleh8.ine \ +trunc10.ine \ +trunc7.ine \ +tsp5.ine + +dist_noinst_DATA = $(EXT_FILES) $(INE_FILES) diff --git a/demos/ppl_lcdd/examples/Makefile.in b/demos/ppl_lcdd/examples/Makefile.in new file mode 100644 index 000000000..5ae9a9088 --- /dev/null +++ b/demos/ppl_lcdd/examples/Makefile.in @@ -0,0 +1,606 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ + +# Automake source file for the Parma Polyhedra Library. +# Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> +# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) +# +# This file is part of the Parma Polyhedra Library (PPL). +# +# The PPL 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 3 of the License, or (at your +# option) any later version. +# +# The PPL 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 02111-1307, USA. +# +# For the most up-to-date information see the Parma Polyhedra Library +# site: http://www.cs.unipr.it/ppl/ . + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@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 = demos/ppl_lcdd/examples +DIST_COMMON = README $(dist_noinst_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \ + $(top_srcdir)/m4/ac_check_fpu_control.m4 \ + $(top_srcdir)/m4/ac_check_gmp.m4 \ + $(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \ + $(top_srcdir)/m4/ac_check_swi_prolog.m4 \ + $(top_srcdir)/m4/ac_check_xsb_prolog.m4 \ + $(top_srcdir)/m4/ac_check_yap.m4 \ + $(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \ + $(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \ + $(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \ + $(top_srcdir)/m4/ac_cxx_limit_memory.m4 \ + $(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \ + $(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \ + $(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \ + $(top_srcdir)/m4/ac_prog_jar.m4 \ + $(top_srcdir)/m4/ac_prog_java.m4 \ + $(top_srcdir)/m4/ac_prog_javac.m4 \ + $(top_srcdir)/m4/ac_prog_javah.m4 \ + $(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \ + $(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +SOURCES = +DIST_SOURCES = +DATA = $(dist_noinst_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CIAO_PROLOG = @CIAO_PROLOG@ +CIAO_PROLOG_INCLUDE_OPTIONS = @CIAO_PROLOG_INCLUDE_OPTIONS@ +CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +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@ +GNU_PROLOG = @GNU_PROLOG@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +ISODATE = @ISODATE@ +JAR = @JAR@ +JAVA = @JAVA@ +JAVAC = @JAVAC@ +JAVAH = @JAVAH@ +JNIFLAGS = @JNIFLAGS@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBEXT = @LIBEXT@ +LIBGMP = @LIBGMP@ +LIBGMPXX = @LIBGMPXX@ +LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@ +LIBGMP_PREFIX = @LIBGMP_PREFIX@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBGMP = @LTLIBGMP@ +LTLIBGMPXX = @LTLIBGMPXX@ +LTLIBOBJS = @LTLIBOBJS@ +M4 = @M4@ +M4_DEBUGFILE = @M4_DEBUGFILE@ +MAKEINFO = @MAKEINFO@ +MD5SUM = @MD5SUM@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OCAMLBEST = @OCAMLBEST@ +OCAMLBUILD = @OCAMLBUILD@ +OCAMLC = @OCAMLC@ +OCAMLCDOTOPT = @OCAMLCDOTOPT@ +OCAMLDEP = @OCAMLDEP@ +OCAMLDOC = @OCAMLDOC@ +OCAMLLIB = @OCAMLLIB@ +OCAMLMKLIB = @OCAMLMKLIB@ +OCAMLMKTOP = @OCAMLMKTOP@ +OCAMLOPT = @OCAMLOPT@ +OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@ +OCAMLVERSION = @OCAMLVERSION@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PPL_VERSION_BETA = @PPL_VERSION_BETA@ +PPL_VERSION_MAJOR = @PPL_VERSION_MAJOR@ +PPL_VERSION_MINOR = @PPL_VERSION_MINOR@ +PPL_VERSION_REVISION = @PPL_VERSION_REVISION@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SHREXT = @SHREXT@ +SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@ +STRIP = @STRIP@ +SWI_PROLOG = @SWI_PROLOG@ +SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@ +SWI_PROLOG_LD = @SWI_PROLOG_LD@ +SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@ +TEXT_MD5SUM = @TEXT_MD5SUM@ +VALGRIND = @VALGRIND@ +VERSION = @VERSION@ +XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@ +YAP_PROLOG = @YAP_PROLOG@ +YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@ +YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@ +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_CXX = @ac_ct_CXX@ +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@ +ciao_prolog = @ciao_prolog@ +coefficient_mnemonic = @coefficient_mnemonic@ +datadir = @datadir@ +datarootdir = @datarootdir@ +debug_flag = @debug_flag@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extra_includes = @extra_includes@ +extra_libraries = @extra_libraries@ +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@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +mlgmp_dir = @mlgmp_dir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +required_instantiations = @required_instantiations@ +required_instantiations_c_cxx_headers = @required_instantiations_c_cxx_headers@ +required_instantiations_c_cxx_objects = @required_instantiations_c_cxx_objects@ +required_instantiations_c_cxx_sources = @required_instantiations_c_cxx_sources@ +required_instantiations_canonical_names = @required_instantiations_canonical_names@ +required_instantiations_java_classes = @required_instantiations_java_classes@ +required_instantiations_java_cxx_headers = @required_instantiations_java_cxx_headers@ +required_instantiations_java_cxx_headers_sources = @required_instantiations_java_cxx_headers_sources@ +required_instantiations_java_cxx_objects = @required_instantiations_java_cxx_objects@ +required_instantiations_java_cxx_sources = @required_instantiations_java_cxx_sources@ +required_instantiations_java_sources = @required_instantiations_java_sources@ +required_instantiations_ocaml_cxx_headers = @required_instantiations_ocaml_cxx_headers@ +required_instantiations_ocaml_cxx_objects = @required_instantiations_ocaml_cxx_objects@ +required_instantiations_ocaml_cxx_sources = @required_instantiations_ocaml_cxx_sources@ +required_instantiations_prolog_cxx_headers = @required_instantiations_prolog_cxx_headers@ +required_instantiations_prolog_cxx_objects = @required_instantiations_prolog_cxx_objects@ +required_instantiations_prolog_cxx_sources = @required_instantiations_prolog_cxx_sources@ +required_instantiations_prolog_generated_test_sources = @required_instantiations_prolog_generated_test_sources@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sicstus_prolog = @sicstus_prolog@ +srcdir = @srcdir@ +subdirs = @subdirs@ +swi_prolog = @swi_prolog@ +swi_prolog_ld = @swi_prolog_ld@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +uudecode = @uudecode@ +xsb_prolog = @xsb_prolog@ +yap_prolog = @yap_prolog@ +EXT_FILES = \ +ccc4.ext \ +ccc5.ext \ +ccc6.ext \ +ccp4.ext \ +ccp5.ext \ +ccp6.ext \ +cp4.ext \ +cp5.ext \ +cp6.ext \ +cp7.ext \ +cube.ext \ +cut16_11.ext \ +cut32_16.ext \ +cyclic10-4.ext \ +cyclic12-6.ext \ +cyclic14-8.ext \ +cyclic16-10.ext \ +cyclic25_13.ext \ +dcube10.ext \ +dcube12.ext \ +dcube3.ext \ +dcube6.ext \ +dcube8.ext \ +irbox20-4.ext \ +irbox200-4.ext \ +mp5.ext \ +prodst62.ext \ +redcheck.ext \ +reg24-5.ext \ +reg600-5_m.ext \ +samplev1.ext \ +samplev2.ext \ +samplev3.ext \ +tsp5.ext + +INE_FILES = \ +1d.ine \ +1da.ine \ +allzero.ine \ +cp4.ine \ +cp5.ine \ +cp6.ine \ +cross10.ine \ +cross12.ine \ +cross4.ine \ +cross6.ine \ +cross8.ine \ +cube.ine \ +cube10.ine \ +cube12.ine \ +cube3.ine \ +cube6.ine \ +cube8.ine \ +cubetop.ine \ +cubocta.ine \ +cyc.ine \ +cyclic17_8.ine \ +diamond.ine \ +dodeca_m.ine \ +ex1.ine \ +grcubocta.ine \ +hexocta.ine \ +icododeca_m.ine \ +in0.ine \ +in1.ine \ +in2.ine \ +in3.ine \ +in4.ine \ +in5.ine \ +in6.ine \ +in7.ine \ +infeas.ine \ +integralpoints.ine \ +kkd18_4.ine \ +kkd27_5.ine \ +kkd38_6.ine \ +kq20_11_m.ine \ +metric40_11.ine \ +metric80_16.ine \ +mit.ine \ +mit288-281.ine \ +mit31-20.ine \ +mit41-16.ine \ +mit708-9.ine \ +mit71-61.ine \ +mit90-86.ine \ +mp5.ine \ +mp5a.ine \ +mp6.ine \ +nonfull.ine \ +origin.ine \ +project1_m.ine \ +project1res.ine \ +project2_m.ine \ +project2res.ine \ +rcubocta.ine \ +reg24-5.ine \ +rhomtria_m.ine \ +sample.ine \ +sampleh1.ine \ +sampleh2.ine \ +sampleh3.ine \ +sampleh4.ine \ +sampleh5.ine \ +sampleh6.ine \ +sampleh7.ine \ +sampleh8.ine \ +trunc10.ine \ +trunc7.ine \ +tsp5.ine + +dist_noinst_DATA = $(EXT_FILES) $(INE_FILES) +all: all-am + +.SUFFIXES: +$(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) --foreign demos/ppl_lcdd/examples/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign demos/ppl_lcdd/examples/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 +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +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 "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$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 $(DATA) +installdirs: +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) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool 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-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-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am + + +# 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/demos/ppl_lcdd/examples/README b/demos/ppl_lcdd/examples/README new file mode 100644 index 000000000..c1c4b14d4 --- /dev/null +++ b/demos/ppl_lcdd/examples/README @@ -0,0 +1,13 @@ +Most of the examples in this directory have been taken (sometimes with +changes) from cddlib version 0.93c [1] and lrslib version 4.2 [2]. +The changes consisted in the removal of commands that are not +implemented in `ppl_lcdd', the revision of some comments and, for some +examples, in the conversion of floating point coefficients to integer +or rational numbers. In this last case, the name of the example has +been changed from, e.g., `file.ine' to `file_m.ine'. + + +-------- + +[1] http://www.cs.mcgill.ca/~fukuda/soft/cdd_home/cdd.html +[2] http://cgm.cs.mcgill.ca/~avis/C/lrs.html diff --git a/demos/ppl_lcdd/examples/allzero.ine b/demos/ppl_lcdd/examples/allzero.ine new file mode 100644 index 000000000..9c9c353e2 --- /dev/null +++ b/demos/ppl_lcdd/examples/allzero.ine @@ -0,0 +1,11 @@ +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/demos/ppl_lcdd/examples/ccc4.ext b/demos/ppl_lcdd/examples/ccc4.ext new file mode 100644 index 000000000..8f98f5fad --- /dev/null +++ b/demos/ppl_lcdd/examples/ccc4.ext @@ -0,0 +1,14 @@ +* 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/demos/ppl_lcdd/examples/ccc5.ext b/demos/ppl_lcdd/examples/ccc5.ext new file mode 100644 index 000000000..007cad294 --- /dev/null +++ b/demos/ppl_lcdd/examples/ccc5.ext @@ -0,0 +1,21 @@ +* 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/demos/ppl_lcdd/examples/ccc6.ext b/demos/ppl_lcdd/examples/ccc6.ext new file mode 100644 index 000000000..08f487972 --- /dev/null +++ b/demos/ppl_lcdd/examples/ccc6.ext @@ -0,0 +1,37 @@ +* 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/demos/ppl_lcdd/examples/ccp4.ext b/demos/ppl_lcdd/examples/ccp4.ext new file mode 100644 index 000000000..0c3e44c03 --- /dev/null +++ b/demos/ppl_lcdd/examples/ccp4.ext @@ -0,0 +1,14 @@ +* 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/demos/ppl_lcdd/examples/ccp5.ext b/demos/ppl_lcdd/examples/ccp5.ext new file mode 100644 index 000000000..bd56d9341 --- /dev/null +++ b/demos/ppl_lcdd/examples/ccp5.ext @@ -0,0 +1,22 @@ +* 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/demos/ppl_lcdd/examples/ccp6.ext b/demos/ppl_lcdd/examples/ccp6.ext new file mode 100644 index 000000000..def04446a --- /dev/null +++ b/demos/ppl_lcdd/examples/ccp6.ext @@ -0,0 +1,38 @@ +* 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/demos/ppl_lcdd/examples/cp4.ext b/demos/ppl_lcdd/examples/cp4.ext new file mode 100644 index 000000000..2de9fb7c0 --- /dev/null +++ b/demos/ppl_lcdd/examples/cp4.ext @@ -0,0 +1,12 @@ +V-representation +begin +8 7 integer +1 0 0 0 0 0 0 +1 0 1 1 1 1 0 +1 0 0 1 0 1 1 +1 1 0 0 1 1 0 +1 1 1 1 0 0 0 +1 0 1 0 1 0 1 +1 1 1 0 0 1 1 +1 1 0 1 1 0 1 +end diff --git a/demos/ppl_lcdd/examples/cp4.ine b/demos/ppl_lcdd/examples/cp4.ine new file mode 100644 index 000000000..0a2ec5e20 --- /dev/null +++ b/demos/ppl_lcdd/examples/cp4.ine @@ -0,0 +1,20 @@ +H-representation +begin +16 7 rational + 2 0 -1 -1 0 0 -1 + 2 -1 -1 0 -1 0 0 + 2 0 0 0 -1 -1 -1 + 2 -1 0 -1 0 -1 0 + 0 0 0 0 1 1 -1 + 0 -1 0 1 0 1 0 + 0 0 1 1 0 0 -1 + 0 -1 1 0 1 0 0 + 0 1 0 -1 0 1 0 + 0 0 0 0 -1 1 1 + 0 1 1 0 -1 0 0 + 0 0 1 -1 0 0 1 + 0 1 -1 0 1 0 0 + 0 0 -1 1 0 0 1 + 0 1 0 1 0 -1 0 + 0 0 0 0 1 -1 1 +end diff --git a/demos/ppl_lcdd/examples/cp5.ext b/demos/ppl_lcdd/examples/cp5.ext new file mode 100644 index 000000000..3aa967aac --- /dev/null +++ b/demos/ppl_lcdd/examples/cp5.ext @@ -0,0 +1,21 @@ +* 5 point cut polytope +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/demos/ppl_lcdd/examples/cp5.ine b/demos/ppl_lcdd/examples/cp5.ine new file mode 100644 index 000000000..8b21e429b --- /dev/null +++ b/demos/ppl_lcdd/examples/cp5.ine @@ -0,0 +1,61 @@ +* 6 point cut polytope +H-representation +begin +56 11 rational + 2 0 0 0 0 0 0 0 -1 -1 -1 + 2 0 0 0 0 0 -1 -1 0 0 -1 + 2 0 0 0 0 -1 0 -1 0 -1 0 + 0 1 0 0 1 0 0 -1 0 0 0 + 0 0 1 0 1 0 0 0 0 -1 0 + 0 0 0 1 1 0 0 0 0 0 -1 + 2 1 1 1 1 -1 -1 -1 -1 -1 -1 + 0 0 1 1 0 0 0 0 -1 0 0 + 0 -1 1 0 0 1 0 0 0 0 0 + 0 -1 1 1 1 1 1 1 -1 -1 -1 + 0 0 0 0 0 1 1 0 -1 0 0 + 0 0 0 0 0 1 0 -1 0 1 0 + 0 0 1 0 -1 0 0 0 0 1 0 + 2 -1 1 -1 -1 1 -1 -1 1 1 -1 + 2 -1 0 0 -1 0 0 -1 0 0 0 + 0 -1 0 1 0 0 1 0 0 0 0 + 0 0 0 0 0 0 1 -1 0 0 1 + 0 -1 1 1 -1 1 1 -1 -1 1 1 + 0 0 0 1 -1 0 0 0 0 0 1 + 2 -1 -1 1 -1 -1 1 -1 1 -1 1 + 0 1 0 1 0 0 -1 0 0 0 0 + 0 0 0 0 0 1 0 1 0 -1 0 + 0 0 0 0 0 1 -1 0 1 0 0 + 0 1 -1 0 0 1 0 0 0 0 0 + 0 1 -1 1 1 1 -1 -1 1 1 -1 + 0 1 0 0 -1 0 0 1 0 0 0 + 0 1 1 1 -1 -1 -1 1 -1 1 1 + 2 1 -1 -1 -1 1 1 1 -1 -1 -1 + 2 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 0 0 0 1 -1 1 + 0 1 -1 1 -1 1 -1 1 1 -1 1 + 0 1 1 0 0 -1 0 0 0 0 0 + 0 0 0 0 0 0 1 1 0 0 -1 + 0 0 0 0 0 -1 1 0 1 0 0 + 0 1 0 -1 0 0 1 0 0 0 0 + 0 1 1 -1 1 -1 1 -1 1 -1 1 + 2 0 0 -1 -1 0 0 0 0 0 -1 + 0 0 1 -1 0 0 0 0 1 0 0 + 0 0 0 0 0 0 0 0 1 1 -1 + 0 1 1 -1 -1 -1 1 1 1 1 -1 + 2 0 0 0 0 -1 -1 0 -1 0 0 + 2 -1 0 -1 0 0 -1 0 0 0 0 + 0 -1 0 0 1 0 0 1 0 0 0 + 0 0 0 -1 1 0 0 0 0 0 1 + 2 -1 -1 -1 1 -1 -1 1 -1 1 1 + 0 0 0 0 0 0 -1 1 0 0 1 + 0 -1 1 -1 1 1 -1 1 1 -1 1 + 2 0 -1 -1 0 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 1 + 0 1 -1 -1 1 1 1 -1 -1 1 1 + 0 0 0 0 0 -1 0 1 0 1 0 + 0 -1 -1 1 1 -1 1 1 1 1 -1 + 2 -1 -1 0 0 -1 0 0 0 0 0 + 6 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +end diff --git a/demos/ppl_lcdd/examples/cp6.ext b/demos/ppl_lcdd/examples/cp6.ext new file mode 100644 index 000000000..81b136e60 --- /dev/null +++ b/demos/ppl_lcdd/examples/cp6.ext @@ -0,0 +1,37 @@ +* 6 point cut cone +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/demos/ppl_lcdd/examples/cp6.ine b/demos/ppl_lcdd/examples/cp6.ine new file mode 100644 index 000000000..a26068e54 --- /dev/null +++ b/demos/ppl_lcdd/examples/cp6.ine @@ -0,0 +1,373 @@ +* 6 point cut polytope +H-representation +begin +368 16 integer + 2 0 1 1 1 1 0 0 0 0 -1 -1 -1 -1 -1 -1 + 2 1 0 1 1 1 0 -1 -1 -1 0 0 0 -1 -1 -1 + 2 1 1 0 1 1 -1 0 -1 -1 0 -1 -1 0 0 -1 + 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 0 0 0 + 0 0 1 0 1 0 0 0 0 0 0 -1 0 0 0 0 + 0 0 1 0 0 1 0 0 0 0 0 0 -1 0 0 0 + 0 0 0 1 1 0 0 0 0 0 0 0 0 -1 0 0 + 0 0 0 1 0 1 0 0 0 0 0 0 0 0 -1 0 + 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 -1 + 2 2 2 2 2 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 + 0 0 1 1 0 0 0 0 0 0 -1 0 0 0 0 0 + 0 -1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 + 0 -2 2 2 2 2 1 1 1 1 -1 -1 -1 -1 -1 -1 + 0 -2 1 1 1 1 2 2 2 2 -1 -1 -1 -1 -1 -1 + 0 1 -1 2 -1 -1 1 -2 1 1 2 -1 -1 2 2 -1 + 0 1 -1 -1 2 -1 1 1 -2 1 -1 2 -1 2 -1 2 + 2 -2 1 1 -1 -1 2 2 -2 -2 -1 1 1 1 1 -1 + 0 -1 2 1 -1 -1 2 1 -1 -1 -2 2 2 1 1 -1 + 2 -2 1 -1 -1 1 2 -2 -2 2 1 1 -1 -1 1 1 + 0 -1 2 -1 -1 1 2 -1 -1 1 2 2 -2 -1 1 1 + 2 -1 2 1 1 1 2 1 1 1 -2 -2 -2 -1 -1 -1 + 2 -2 1 -1 1 -1 2 -2 2 -2 1 -1 1 1 -1 1 + 0 -1 2 -1 1 -1 2 -1 1 -1 2 -2 2 1 -1 1 + 0 1 -1 -1 -1 2 1 1 1 -2 -1 -1 2 -1 2 2 + 0 0 0 0 0 0 1 0 0 -1 0 0 1 0 0 0 + 0 -1 1 1 1 0 1 1 1 0 -1 -1 0 -1 0 0 + 2 1 -2 -1 -1 1 2 1 1 -1 -2 -2 2 -1 1 1 + 0 2 -1 -1 -1 1 2 2 2 -2 -1 -1 1 -1 1 1 + 0 0 1 1 1 -1 0 0 0 0 -1 -1 1 -1 1 1 + 0 -1 2 1 1 -1 2 1 1 -1 -2 -2 2 -1 1 1 + 0 0 0 0 0 0 1 1 1 -1 -1 -1 1 -1 1 1 + 0 1 2 -1 -1 -1 -2 1 1 1 2 2 2 -1 -1 -1 + 2 -2 2 -2 2 -2 1 -1 1 -1 1 -1 1 1 -1 1 + 2 -1 1 -1 1 -2 1 -1 1 -2 1 -1 2 1 -2 2 + 0 0 1 0 0 -1 0 0 0 0 0 0 1 0 0 0 + 2 -1 2 -1 -1 -1 2 -1 -1 -1 2 2 2 -1 -1 -1 + 6 -1 1 -1 -1 -2 1 -1 -1 -2 1 1 2 -1 -2 -2 + 2 0 1 -1 -1 -1 0 0 0 0 1 1 1 -1 -1 -1 + 2 -1 1 -1 0 -1 1 -1 0 -1 1 0 1 0 -1 0 + 2 -1 1 0 -1 -1 1 0 -1 -1 0 1 1 0 0 -1 + 2 0 0 0 0 0 1 -1 -1 -1 1 1 1 -1 -1 -1 + 2 1 -1 1 1 2 1 -1 -1 -2 1 1 2 -1 -2 -2 + 0 -2 1 1 1 -1 2 2 2 -2 -1 -1 1 -1 1 1 + 0 -1 1 0 1 -1 1 0 1 -1 0 -1 1 0 0 1 + 0 -1 1 1 0 -1 1 1 0 -1 -1 0 1 0 1 0 + 2 -1 0 0 0 -1 0 0 0 -1 0 0 0 0 0 0 + 0 -1 0 1 1 -1 0 1 1 -1 0 0 0 -1 1 1 + 0 -2 2 2 2 -2 1 1 1 -1 -1 -1 1 -1 1 1 + 2 -2 -2 2 2 -2 -1 1 1 -1 1 1 -1 -1 1 1 + 2 -1 -1 1 1 -2 -1 1 1 -2 1 1 -2 -1 2 2 + 12 -1 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -2 -1 -2 -2 + 0 0 0 0 0 0 1 0 -1 0 0 1 0 0 0 0 + 0 -1 1 1 0 1 1 1 0 1 -1 0 -1 0 -1 0 + 2 1 -2 -1 1 -1 2 1 -1 1 -2 2 -2 1 -1 1 + 0 2 -1 -1 1 -1 2 2 -2 2 -1 1 -1 1 -1 1 + 0 0 1 1 -1 1 0 0 0 0 -1 1 -1 1 -1 1 + 0 -1 2 1 -1 1 2 1 -1 1 -2 2 -2 1 -1 1 + 0 0 0 0 0 0 1 1 -1 1 -1 1 -1 1 -1 1 + 0 0 0 0 0 0 1 1 0 0 -1 0 0 0 0 0 + 0 1 -1 0 1 1 1 0 -1 -1 0 1 1 0 0 -1 + 2 1 -1 -2 1 -1 1 2 -1 1 -2 1 -1 2 -2 1 + 2 -2 -1 1 -1 1 -2 2 -2 2 1 -1 1 1 -1 1 + 0 -1 -1 2 -1 1 -1 2 -1 1 2 -1 1 2 -2 1 + 2 -1 1 2 1 1 1 2 1 1 -2 -1 -1 -2 -2 -1 + 2 1 -1 1 2 1 1 -1 -2 -1 1 2 1 -2 -1 -2 + 0 0 0 0 0 0 0 0 0 0 -1 1 0 1 0 0 + 0 1 -1 -1 1 0 1 1 -1 0 -1 1 0 1 0 0 + 0 0 0 0 0 0 0 1 -1 0 0 0 0 1 0 0 + 0 1 0 -1 1 1 0 1 -1 -1 0 0 0 1 1 -1 + 0 2 -1 -1 1 1 2 2 -2 -2 -1 1 1 1 1 -1 + 2 1 1 -1 2 1 -1 1 -2 -1 1 -2 -1 2 1 -2 + 0 1 -1 -1 2 1 1 1 -2 -1 -1 2 1 2 1 -2 + 0 -1 1 2 -1 -1 1 2 -1 -1 -2 1 1 2 2 -1 + 0 -1 1 1 -1 0 1 1 -1 0 -1 1 0 1 0 0 + 0 -1 1 2 -1 1 1 2 -1 1 -2 1 -1 2 -2 1 + 0 0 0 0 0 0 1 1 -1 -1 -1 1 1 1 1 -1 + 2 -2 -1 1 1 -1 -2 2 2 -2 1 1 -1 -1 1 1 + 0 -1 -1 2 1 -1 -1 2 1 -1 2 1 -1 -2 2 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 0 0 0 1 1 0 0 -1 + 0 -2 1 1 -1 1 2 2 -2 2 -1 1 -1 1 -1 1 + 0 -1 1 0 -1 1 1 0 -1 1 0 1 -1 0 0 1 + 0 0 0 0 0 0 0 0 0 0 -1 0 1 0 1 0 + 0 1 -2 -1 1 1 2 1 -1 -1 -2 2 2 1 1 -1 + 0 1 -1 -1 0 1 1 1 0 -1 -1 0 1 0 1 0 + 2 -2 2 -2 -2 2 1 -1 -1 1 1 1 -1 -1 1 1 + 2 -1 1 -1 -2 1 1 -1 -2 1 1 2 -1 -2 1 2 + 2 1 -1 -2 -1 1 1 2 1 -1 -2 -1 1 -2 2 1 + 6 -1 1 -1 -2 -1 1 -1 -2 -1 1 2 1 -2 -1 -2 + 2 -1 1 -1 -1 0 1 -1 -1 0 1 1 0 -1 0 0 + 0 1 -1 -2 1 1 1 2 -1 -1 -2 1 1 2 2 -1 + 0 -1 1 2 1 -1 1 2 1 -1 -2 -1 1 -2 2 1 + 6 -1 -1 1 -2 -1 -1 1 -2 -1 1 -2 -1 2 1 -2 + 2 -1 -1 1 -1 0 -1 1 -1 0 1 -1 0 1 0 0 + 2 -1 0 0 -1 0 0 0 -1 0 0 0 0 0 0 0 + 0 -1 0 1 -1 1 0 1 -1 1 0 0 0 1 -1 1 + 0 -2 2 2 -2 2 1 1 -1 1 -1 1 -1 1 -1 1 + 2 -2 -2 2 -2 2 -1 1 -1 1 1 -1 1 1 -1 1 + 2 -1 -1 1 -2 1 -1 1 -2 1 1 -2 1 2 -1 2 + 12 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -2 -1 -2 -1 -2 + 0 1 -1 -1 1 2 1 1 -1 -2 -1 1 2 1 2 -2 + 2 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 -1 + 0 0 0 0 0 0 0 1 0 -1 0 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 -1 0 0 0 0 0 0 0 0 1 0 + 2 -1 -1 2 -1 -1 -1 2 -1 -1 2 -1 -1 2 2 -1 + 6 -1 -1 1 -1 -2 -1 1 -1 -2 1 -1 -2 1 2 -2 + 2 0 -1 1 -1 -1 0 0 0 0 1 -1 -1 1 1 -1 + 2 -1 -1 1 0 -1 -1 1 0 -1 1 0 -1 0 1 0 + 2 -1 0 1 -1 -1 0 1 -1 -1 0 0 0 1 1 -1 + 2 0 0 0 0 0 -1 1 -1 -1 1 -1 -1 1 1 -1 + 2 1 1 -1 1 2 -1 1 -1 -2 1 -1 -2 1 2 -2 + 0 0 0 1 -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 1 -1 + 0 1 0 1 0 0 0 -1 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 -1 1 0 1 1 1 0 1 1 0 -1 -1 0 0 -1 + 2 1 -2 1 -1 -1 2 -1 1 1 2 -2 -2 1 1 -1 + 0 2 -1 1 -1 -1 2 -2 2 2 1 -1 -1 1 1 -1 + 0 0 1 -1 1 1 0 0 0 0 1 -1 -1 1 1 -1 + 0 -1 2 -1 1 1 2 -1 1 1 2 -2 -2 1 1 -1 + 0 0 0 0 0 0 1 -1 1 1 1 -1 -1 1 1 -1 + 0 0 0 0 0 0 1 0 1 0 0 -1 0 0 0 0 + 0 1 -1 1 0 1 1 -1 0 -1 1 0 1 0 -1 0 + 2 1 -1 1 -2 -1 1 -1 2 1 1 -2 -1 2 1 -2 + 2 -2 -1 -1 1 1 -2 -2 2 2 -1 1 1 1 1 -1 + 0 -1 -1 -1 2 1 -1 -1 2 1 -1 2 1 2 1 -2 + 2 -2 2 2 -2 -2 1 1 -1 -1 -1 1 1 1 1 -1 + 2 1 -1 2 1 1 1 -2 -1 -1 2 1 1 -2 -2 -1 + 2 1 2 -1 1 1 -2 1 -1 -1 2 -2 -2 1 1 -1 + 2 -1 1 1 2 1 1 1 2 1 -1 -2 -1 -2 -1 -2 + 2 2 -2 -2 2 -2 1 1 -1 1 -1 1 -1 1 -1 1 + 2 -1 1 1 -1 -2 1 1 -1 -2 -1 1 2 1 2 -2 + 2 1 -1 -1 1 -2 1 1 -1 2 -1 1 -2 1 -2 2 + 0 0 0 0 0 0 0 -1 1 0 0 0 0 1 0 0 + 0 1 0 1 -1 1 0 -1 1 -1 0 0 0 1 -1 1 + 0 2 -1 1 -1 1 2 -2 2 -2 1 -1 1 1 -1 1 + 2 1 1 2 -1 1 -1 -2 1 -1 -2 1 -1 2 -2 1 + 0 1 -1 2 -1 1 1 -2 1 -1 2 -1 1 2 -2 1 + 0 -1 1 -1 2 -1 1 -1 2 -1 1 -2 1 2 -1 2 + 0 -1 1 -1 1 0 1 -1 1 0 1 -1 0 1 0 0 + 0 -1 1 -1 2 1 1 -1 2 1 1 -2 -1 2 1 -2 + 0 0 0 0 0 0 1 -1 1 -1 1 -1 1 1 -1 1 + 0 0 0 0 0 0 0 0 0 0 1 -1 0 1 0 0 + 0 1 -1 1 -1 0 1 -1 1 0 1 -1 0 1 0 0 + 0 0 0 0 0 0 1 0 0 1 0 0 -1 0 0 0 + 0 1 -1 1 1 0 1 -1 -1 0 1 1 0 -1 0 0 + 0 1 -1 0 0 0 1 0 0 0 0 0 0 0 0 0 + 0 2 -2 2 2 2 1 -1 -1 -1 1 1 1 -1 -1 -1 + 0 1 -2 1 1 1 2 -1 -1 -1 2 2 2 -1 -1 -1 + 2 2 -1 1 1 1 2 -2 -2 -2 1 1 1 -1 -1 -1 + 0 1 0 0 0 -1 0 0 0 1 0 0 0 0 0 0 + 0 1 1 1 1 -2 -1 -1 -1 2 -1 -1 2 -1 2 2 + 0 2 2 2 2 -2 -1 -1 -1 1 -1 -1 1 -1 1 1 + 2 2 1 1 1 -1 -2 -2 -2 2 -1 -1 1 -1 1 1 + 2 2 2 -2 -2 -2 -1 1 1 1 1 1 1 -1 -1 -1 + 2 2 -1 -1 -1 -1 2 2 2 2 -1 -1 -1 -1 -1 -1 + 6 1 -1 -1 -1 -2 1 1 1 2 -1 -1 -2 -1 -2 -2 + 2 1 0 -1 -1 -1 0 1 1 1 0 0 0 -1 -1 -1 + 2 1 1 -1 -1 -2 -1 1 1 2 1 1 2 -1 -2 -2 + 2 1 -1 -1 0 -1 1 1 0 1 -1 0 -1 0 -1 0 + 6 1 -1 -1 -2 -1 1 1 2 1 -1 -2 -1 -2 -1 -2 + 2 1 -1 0 -1 -1 1 0 1 1 0 -1 -1 0 0 -1 + 2 2 -2 2 -2 -2 1 -1 1 1 1 -1 -1 1 1 -1 + 2 1 -1 1 -1 -2 1 -1 1 2 1 -1 -2 1 2 -2 + 2 -1 -2 1 1 -1 -2 1 1 -1 2 2 -2 -1 1 1 + 2 -1 1 1 -2 -1 1 1 -2 -1 -1 2 1 2 1 -2 + 2 -1 1 1 1 2 1 1 1 2 -1 -1 -2 -1 -2 -2 + 2 2 -2 -2 -2 2 1 1 1 -1 -1 -1 1 -1 1 1 + 2 -1 1 -2 1 -1 1 -2 1 -1 2 -1 1 2 -2 1 + 2 1 -1 -1 -1 0 1 1 1 0 -1 -1 0 -1 0 0 + 2 0 0 0 0 0 1 1 1 1 -1 -1 -1 -1 -1 -1 + 0 1 -2 1 1 -1 2 -1 -1 1 2 2 -2 -1 1 1 + 0 1 -1 0 1 -1 1 0 -1 1 0 1 -1 0 0 1 + 0 1 -1 1 0 -1 1 -1 0 1 1 0 -1 0 1 0 + 2 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 1 -1 -1 1 1 + 0 2 -2 2 2 -2 1 -1 -1 1 1 1 -1 -1 1 1 + 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 -1 + 0 1 1 1 -1 0 -1 -1 1 0 -1 1 0 1 0 0 + 0 1 0 0 -1 0 0 0 1 0 0 0 0 0 0 0 + 2 2 1 1 -1 1 -2 -2 2 -2 -1 1 -1 1 -1 1 + 0 2 2 2 -2 2 -1 -1 1 -1 -1 1 -1 1 -1 1 + 0 1 1 1 -2 1 -1 -1 2 -1 -1 2 -1 2 -1 2 + 0 1 1 1 -2 -1 -1 -1 2 1 -1 2 1 2 1 -2 + 0 1 0 1 -1 -1 0 -1 1 1 0 0 0 1 1 -1 + 0 1 1 0 -1 -1 -1 0 1 1 0 1 1 0 0 -1 + 2 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 -1 + 0 0 1 1 -1 -1 0 0 0 0 -1 1 1 1 1 -1 + 0 2 2 2 -2 -2 -1 -1 1 1 -1 1 1 1 1 -1 + 2 1 1 -1 -2 -1 -1 1 2 1 1 2 1 -2 -1 -2 + 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 1 0 + 2 1 1 2 1 -1 -1 -2 -1 1 -2 -1 1 -2 2 1 + 0 1 0 1 1 -1 0 -1 -1 1 0 0 0 -1 1 1 + 0 2 -1 1 1 -1 2 -2 -2 2 1 1 -1 -1 1 1 + 0 1 -1 2 1 -1 1 -2 -1 1 2 1 -1 -2 2 1 + 0 -1 1 -1 -1 2 1 -1 -1 2 1 1 -2 -1 2 2 + 0 -2 1 -1 1 1 2 -2 2 2 1 -1 -1 1 1 -1 + 0 -1 1 -1 0 1 1 -1 0 1 1 0 -1 0 1 0 + 0 -1 1 -2 1 1 1 -2 1 1 2 -1 -1 2 2 -1 + 0 -1 1 -1 1 2 1 -1 1 2 1 -1 -2 1 2 -2 + 0 0 0 0 0 0 1 -1 -1 1 1 1 -1 -1 1 1 + 0 1 -2 1 -1 1 2 -1 1 -1 2 -2 2 1 -1 1 + 0 1 -1 0 -1 1 1 0 1 -1 0 -1 1 0 0 1 + 0 0 0 0 0 0 -1 -1 1 1 -1 1 1 1 1 -1 + 0 1 1 2 -1 -1 -1 -2 1 1 -2 1 1 2 2 -1 + 2 -1 -2 1 -1 1 -2 1 -1 1 2 -2 2 1 -1 1 + 0 -1 -1 -1 1 2 -1 -1 1 2 -1 1 2 1 2 -2 + 2 1 -1 -1 -2 1 1 1 2 -1 -1 -2 1 -2 1 2 + 2 -1 1 -2 -1 1 1 -2 -1 1 2 1 -1 -2 2 1 + 2 0 -1 0 -1 0 0 0 0 0 0 -1 0 0 0 0 + 0 0 -1 1 -1 1 0 0 0 0 1 -1 1 1 -1 1 + 0 2 -2 2 -2 2 1 -1 1 -1 1 -1 1 1 -1 1 + 2 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 1 0 -1 0 1 0 + 0 0 -1 1 0 0 0 0 0 0 1 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 -1 1 0 0 1 0 0 0 0 0 + 0 -1 0 1 1 1 0 1 1 1 0 0 0 -1 -1 -1 + 2 1 1 -2 -1 -1 -1 2 1 1 2 1 1 -2 -2 -1 + 0 2 1 -1 -1 -1 -2 2 2 2 1 1 1 -1 -1 -1 + 0 0 -1 1 1 1 0 0 0 0 1 1 1 -1 -1 -1 + 0 -1 -1 2 1 1 -1 2 1 1 2 1 1 -2 -2 -1 + 0 0 0 0 0 0 -1 1 1 1 1 1 1 -1 -1 -1 + 0 0 0 0 0 0 0 1 1 0 0 0 0 -1 0 0 + 0 1 1 -1 0 1 -1 1 0 -1 1 0 -1 0 1 0 + 0 0 0 0 0 0 0 0 0 0 1 1 0 -1 0 0 + 0 1 1 -1 -1 0 -1 1 1 0 1 1 0 -1 0 0 + 0 0 0 0 0 0 0 1 0 1 0 0 0 0 -1 0 + 0 1 1 -1 1 0 -1 1 -1 0 1 -1 0 1 0 0 + 0 1 0 -1 0 0 0 1 0 0 0 0 0 0 0 0 + 2 2 1 -1 1 1 -2 2 -2 -2 1 -1 -1 1 1 -1 + 0 2 2 -2 2 2 -1 1 -1 -1 1 -1 -1 1 1 -1 + 0 1 1 -2 1 1 -1 2 -1 -1 2 -1 -1 2 2 -1 + 0 1 1 -2 1 -1 -1 2 -1 1 2 -1 1 2 -2 1 + 0 1 0 -1 1 -1 0 1 -1 1 0 0 0 1 -1 1 + 0 1 1 -1 0 -1 -1 1 0 1 1 0 1 0 -1 0 + 2 0 0 -1 0 -1 0 0 0 0 0 0 0 0 -1 0 + 0 0 1 -1 1 -1 0 0 0 0 1 -1 1 1 -1 1 + 0 2 2 -2 2 -2 -1 1 -1 1 1 -1 1 1 -1 1 + 2 0 0 0 0 0 0 0 0 0 0 0 0 -1 -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 0 0 0 1 0 1 0 -1 0 + 2 1 1 1 1 0 -1 -1 -1 0 -1 -1 0 -1 0 0 + 2 0 0 0 0 0 0 -1 -1 0 0 0 0 -1 0 0 + 0 0 0 0 0 0 0 0 -1 1 0 0 0 0 0 1 + 0 -1 0 0 0 1 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 1 + 2 -1 -1 -1 -1 2 -1 -1 -1 2 -1 -1 2 -1 2 2 + 6 -1 -1 -1 -2 1 -1 -1 -2 1 -1 -2 1 -2 1 2 + 2 0 -1 -1 -1 1 0 0 0 0 -1 -1 1 -1 1 1 + 2 -1 -1 0 -1 1 -1 0 -1 1 0 -1 1 0 0 1 + 2 -1 0 -1 -1 1 0 -1 -1 1 0 0 0 -1 1 1 + 2 0 0 0 0 0 -1 -1 -1 1 -1 -1 1 -1 1 1 + 2 1 1 1 2 -1 -1 -1 -2 1 -1 -2 1 -2 1 2 + 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 1 1 + 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 1 0 + 2 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 -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 0 0 -1 0 0 1 0 0 1 0 0 0 + 2 1 2 1 1 -1 -2 -1 -1 1 -2 -2 2 -1 1 1 + 0 1 1 0 1 -1 -1 0 -1 1 0 -1 1 0 0 1 + 0 2 1 -1 1 -1 -2 2 -2 2 1 -1 1 1 -1 1 + 0 1 2 -1 1 -1 -2 1 -1 1 2 -2 2 1 -1 1 + 0 1 1 1 0 -1 -1 -1 0 1 -1 0 1 0 1 0 + 0 2 1 1 -1 -1 -2 -2 2 2 -1 1 1 1 1 -1 + 0 1 1 1 -1 -2 -1 -1 1 2 -1 1 2 1 2 -2 + 0 1 2 1 -1 -1 -2 -1 1 1 -2 2 2 1 1 -1 + 0 1 1 -1 1 -2 -1 1 -1 2 1 -1 2 1 -2 2 + 0 -2 -1 1 1 1 -2 2 2 2 1 1 1 -1 -1 -1 + 0 -1 -1 1 0 1 -1 1 0 1 1 0 1 0 -1 0 + 0 -1 -2 1 1 1 -2 1 1 1 2 2 2 -1 -1 -1 + 0 -1 -1 1 1 2 -1 1 1 2 1 1 2 -1 -2 -2 + 0 -1 -1 1 -1 2 -1 1 -1 2 1 -1 2 1 -2 2 + 0 1 1 -2 -1 1 -1 2 1 -1 2 1 -1 -2 2 1 + 0 1 0 -1 -1 1 0 1 1 -1 0 0 0 -1 1 1 + 2 0 0 -1 -1 0 0 0 0 0 0 0 0 -1 0 0 + 0 0 1 -1 -1 1 0 0 0 0 1 1 -1 -1 1 1 + 0 2 2 -2 -2 2 -1 1 1 -1 1 1 -1 -1 1 1 + 0 0 0 0 0 0 -1 1 -1 1 1 -1 1 1 -1 1 + 0 1 1 -1 2 -1 -1 1 -2 1 1 -2 1 2 -1 2 + 6 1 -1 -2 -1 -1 1 2 1 1 -2 -1 -1 -2 -2 -1 + 2 0 0 0 0 0 -1 0 -1 0 0 -1 0 0 0 0 + 6 1 1 1 2 1 -1 -1 -2 -1 -1 -2 -1 -2 -1 -2 + 2 1 1 1 0 1 -1 -1 0 -1 -1 0 -1 0 -1 0 + 2 0 0 0 0 0 0 -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 + 0 -1 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 0 0 1 + 2 -1 -1 -1 2 -1 -1 -1 2 -1 -1 2 -1 2 -1 2 + 6 -1 -1 -1 1 -2 -1 -1 1 -2 -1 1 -2 1 -2 2 + 2 0 -1 -1 1 -1 0 0 0 0 -1 1 -1 1 -1 1 + 2 -1 -1 0 1 -1 -1 0 1 -1 0 1 -1 0 0 1 + 2 -1 0 -1 1 -1 0 -1 1 -1 0 0 0 1 -1 1 + 2 0 0 0 0 0 -1 -1 1 -1 -1 1 -1 1 -1 1 + 2 1 1 1 -1 2 -1 -1 1 -2 -1 1 -2 1 -2 2 + 0 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 1 + 0 0 0 -1 1 0 0 0 0 0 0 0 0 1 0 0 + 2 0 0 0 0 0 0 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 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 0 0 0 + 0 1 1 0 -1 1 -1 0 1 -1 0 1 -1 0 0 1 + 0 2 1 -1 -1 1 -2 2 2 -2 1 1 -1 -1 1 1 + 2 1 2 1 -1 1 -2 -1 1 -1 -2 2 -2 1 -1 1 + 0 1 2 -1 -1 1 -2 1 1 -1 2 2 -2 -1 1 1 + 0 -1 -1 1 1 0 -1 1 1 0 1 1 0 -1 0 0 + 0 -1 -1 1 2 1 -1 1 2 1 1 2 1 -2 -1 -2 + 0 -1 -1 1 2 -1 -1 1 2 -1 1 2 -1 -2 1 2 + 0 0 0 0 0 0 -1 1 1 -1 1 1 -1 -1 1 1 + 2 0 0 0 0 0 -1 -1 0 0 -1 0 0 0 0 0 + 6 1 1 2 1 1 -1 -2 -1 -1 -2 -1 -1 -2 -2 -1 + 0 1 -1 1 1 -2 1 -1 -1 2 1 1 -2 -1 2 2 + 0 -1 1 1 -2 1 1 1 -2 1 -1 2 -1 2 -1 2 + 6 -1 -1 -2 -1 1 -1 -2 -1 1 -2 -1 1 -2 2 1 + 2 -1 -1 -1 0 1 -1 -1 0 1 -1 0 1 0 1 0 + 0 -1 1 1 -1 2 1 1 -1 2 -1 1 -2 1 -2 2 + 0 1 -1 1 2 -1 1 -1 -2 1 1 2 -1 -2 1 2 + 0 1 -1 1 -2 1 1 -1 2 -1 1 -2 1 2 -1 2 + 0 -1 1 1 1 -2 1 1 1 -2 -1 -1 2 -1 2 2 + 0 -1 1 1 2 -1 1 1 2 -1 -1 -2 1 -2 1 2 + 6 -1 -1 -2 1 -1 -1 -2 1 -1 -2 1 -1 2 -2 1 + 2 -1 -1 -1 1 0 -1 -1 1 0 -1 1 0 1 0 0 + 2 -2 -2 -2 2 2 -1 -1 1 1 -1 1 1 1 1 -1 + 0 -2 2 -2 2 2 1 -1 1 1 1 -1 -1 1 1 -1 + 0 -1 0 -1 1 1 0 -1 1 1 0 0 0 1 1 -1 + 2 -1 -1 -2 1 1 -1 -2 1 1 -2 1 1 2 2 -1 + 2 -1 0 -1 0 0 0 -1 0 0 0 0 0 0 0 0 + 12 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 + 12 -1 -1 -2 -1 -1 -1 -2 -1 -1 -2 -1 -1 -2 -2 -1 + 6 -1 1 -2 -1 -1 1 -2 -1 -1 2 1 1 -2 -2 -1 + 6 -1 0 -1 -1 -1 0 -1 -1 -1 0 0 0 -1 -1 -1 + 6 -2 1 -1 -1 -1 2 -2 -2 -2 1 1 1 -1 -1 -1 + 0 1 -1 1 -1 2 1 -1 1 -2 1 -1 2 1 -2 2 + 0 2 -2 -2 2 2 1 1 -1 -1 -1 1 1 1 1 -1 + 0 0 -1 -1 1 1 0 0 0 0 -1 1 1 1 1 -1 + 2 0 -1 -1 0 0 0 0 0 0 -1 0 0 0 0 0 + 0 1 1 -1 -2 1 -1 1 2 -1 1 2 -1 -2 1 2 + 0 -2 -2 2 2 2 -1 1 1 1 1 1 1 -1 -1 -1 + 0 -1 -1 0 1 1 -1 0 1 1 0 1 1 0 0 -1 + 2 -1 -2 -1 1 1 -2 -1 1 1 -2 2 2 1 1 -1 + 0 1 1 -1 -1 2 -1 1 1 -2 1 1 -2 -1 2 2 + 6 1 2 1 1 1 -2 -1 -1 -1 -2 -2 -2 -1 -1 -1 + 6 2 -2 -2 -2 -2 1 1 1 1 -1 -1 -1 -1 -1 -1 + 6 2 1 1 1 1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 + 6 -2 2 -2 -2 -2 1 -1 -1 -1 1 1 1 -1 -1 -1 + 6 -2 -2 2 -2 -2 -1 1 -1 -1 1 -1 -1 1 1 -1 + 2 -1 -1 0 0 0 -1 0 0 0 0 0 0 0 0 0 + 12 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -2 -2 -1 -1 -1 + 6 -1 -2 1 -1 -1 -2 1 -1 -1 2 -2 -2 1 1 -1 + 6 -1 -1 0 -1 -1 -1 0 -1 -1 0 -1 -1 0 0 -1 + 6 -2 -1 1 -1 -1 -2 2 -2 -2 1 -1 -1 1 1 -1 + 6 -1 -2 -1 1 -1 -2 -1 1 -1 -2 2 -2 1 -1 1 + 6 -2 -2 -2 2 -2 -1 -1 1 -1 -1 1 -1 1 -1 1 + 6 -1 -1 -1 0 -1 -1 -1 0 -1 -1 0 -1 0 -1 0 + 6 -2 -1 -1 1 -1 -2 -2 2 -2 -1 1 -1 1 -1 1 + 12 -2 -1 -1 -1 -1 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 + 6 -1 -2 -1 -1 1 -2 -1 -1 1 -2 -2 2 -1 1 1 + 6 -2 -2 -2 -2 2 -1 -1 -1 1 -1 -1 1 -1 1 1 + 6 -1 -1 -1 -1 0 -1 -1 -1 0 -1 -1 0 -1 0 0 + 6 -2 -1 -1 -1 1 -2 -2 -2 2 -1 -1 1 -1 1 1 + 6 0 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1 -1 -1 + 6 1 -2 -1 -1 -1 2 1 1 1 -2 -2 -2 -1 -1 -1 + 6 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 + 2 0 0 0 0 0 -1 0 0 -1 0 0 -1 0 0 0 + 6 1 1 1 1 2 -1 -1 -1 -2 -1 -1 -2 -1 -2 -2 +end diff --git a/demos/ppl_lcdd/examples/cp7.ext b/demos/ppl_lcdd/examples/cp7.ext new file mode 100644 index 000000000..390c0682d --- /dev/null +++ b/demos/ppl_lcdd/examples/cp7.ext @@ -0,0 +1,70 @@ +* Complete Cut Polytope on 7 vertices +* The number of facets is 116,764. +V-representation +begin + 64 22 integer +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 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 +1 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 +1 1 1 0 1 1 1 0 1 0 0 0 1 0 0 0 1 1 1 0 0 0 +1 1 1 1 0 1 1 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0 +1 1 1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 +1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 1 +1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 +1 0 1 0 1 1 1 1 0 1 1 1 1 0 0 0 1 1 1 0 0 0 +1 0 1 1 0 1 1 1 1 0 1 1 0 1 0 0 1 0 0 1 1 0 +1 0 1 1 1 0 1 1 1 1 0 1 0 0 1 0 0 1 0 1 0 1 +1 0 1 1 1 1 0 1 1 1 1 0 0 0 0 1 0 0 1 0 1 1 +1 1 0 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 +1 1 0 1 0 1 1 1 0 1 0 0 1 0 1 1 1 0 0 1 1 0 +1 1 0 1 1 0 1 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 +1 1 0 1 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 +1 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 +1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 +1 1 1 0 1 1 0 0 1 0 0 1 1 0 0 1 1 1 0 0 1 1 +1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 1 0 0 1 1 +1 1 1 1 0 1 0 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 +1 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 1 0 +1 0 0 0 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 0 0 0 +1 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 0 0 1 1 0 +1 0 0 1 1 0 1 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 +1 0 0 1 1 1 0 0 1 1 1 0 1 1 1 0 0 0 1 0 1 1 +1 0 1 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0 +1 0 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 +1 0 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 1 0 0 1 1 +1 0 1 1 0 0 1 1 1 0 0 1 0 1 1 0 1 1 0 0 1 1 +1 0 1 1 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 1 0 1 +1 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1 0 1 1 1 1 0 +1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 0 +1 1 0 0 1 0 1 1 1 0 1 0 0 1 0 1 1 0 1 1 0 1 +1 1 0 0 1 1 0 1 1 0 0 1 0 1 1 0 1 1 0 0 1 1 +1 1 0 1 0 0 1 1 0 1 1 0 1 0 0 1 1 1 0 0 1 1 +1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 +1 1 0 1 1 0 0 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0 +1 1 1 0 0 0 1 0 1 1 1 0 1 1 1 0 0 0 1 0 1 1 +1 1 1 0 0 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 +1 1 1 0 1 0 0 0 1 0 1 1 1 0 1 1 1 0 0 1 1 0 +1 1 1 1 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 0 0 0 +1 0 0 0 0 1 1 0 0 0 1 1 0 0 1 1 0 1 1 1 1 0 +1 0 0 0 1 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 +1 0 0 0 1 1 0 0 0 1 1 0 0 1 1 0 1 1 0 0 1 1 +1 0 0 1 0 0 1 0 1 0 0 1 1 0 0 1 1 1 0 0 1 1 +1 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 +1 0 0 1 1 0 0 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 +1 0 1 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 +1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 +1 0 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 1 1 0 +1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 +1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 1 +1 1 0 0 0 1 0 1 1 1 0 1 0 0 1 0 0 1 0 1 0 1 +1 1 0 0 1 0 0 1 1 0 1 1 0 1 0 0 1 0 0 1 1 0 +1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 0 0 0 +1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 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 1 1 +1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 +1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0 +1 0 0 1 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 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 +1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 +end diff --git a/demos/ppl_lcdd/examples/cross10.ine b/demos/ppl_lcdd/examples/cross10.ine new file mode 100644 index 000000000..ad45922ab --- /dev/null +++ b/demos/ppl_lcdd/examples/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/demos/ppl_lcdd/examples/cross12.ine b/demos/ppl_lcdd/examples/cross12.ine new file mode 100644 index 000000000..ce5b2fcfd --- /dev/null +++ b/demos/ppl_lcdd/examples/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/demos/ppl_lcdd/examples/cross4.ine b/demos/ppl_lcdd/examples/cross4.ine new file mode 100644 index 000000000..b7165625a --- /dev/null +++ b/demos/ppl_lcdd/examples/cross4.ine @@ -0,0 +1,20 @@ +H-representation +begin +16 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 +end diff --git a/demos/ppl_lcdd/examples/cross6.ine b/demos/ppl_lcdd/examples/cross6.ine new file mode 100644 index 000000000..a4024b873 --- /dev/null +++ b/demos/ppl_lcdd/examples/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/demos/ppl_lcdd/examples/cross8.ine b/demos/ppl_lcdd/examples/cross8.ine new file mode 100644 index 000000000..b045ac5a9 --- /dev/null +++ b/demos/ppl_lcdd/examples/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/demos/ppl_lcdd/examples/cube.ext b/demos/ppl_lcdd/examples/cube.ext new file mode 100644 index 000000000..b55a87575 --- /dev/null +++ b/demos/ppl_lcdd/examples/cube.ext @@ -0,0 +1,13 @@ +* cube +V-representation +begin +8 4 rational + 1 1 1 1 + 1 -1 1 1 + 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/demos/ppl_lcdd/examples/cube.ine b/demos/ppl_lcdd/examples/cube.ine new file mode 100644 index 000000000..28301fc29 --- /dev/null +++ b/demos/ppl_lcdd/examples/cube.ine @@ -0,0 +1,12 @@ +* cube of side 2 centred at origin +H-representation +linearity 1 1 +begin +6 4 rational +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/demos/ppl_lcdd/examples/cube10.ine b/demos/ppl_lcdd/examples/cube10.ine new file mode 100644 index 000000000..7318f4833 --- /dev/null +++ b/demos/ppl_lcdd/examples/cube10.ine @@ -0,0 +1,25 @@ +* 10-dim hypercube +H-representation +begin + 20 11 integer + 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 -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 +end diff --git a/demos/ppl_lcdd/examples/cube12.ine b/demos/ppl_lcdd/examples/cube12.ine new file mode 100644 index 000000000..4206e39e6 --- /dev/null +++ b/demos/ppl_lcdd/examples/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/demos/ppl_lcdd/examples/cube3.ine b/demos/ppl_lcdd/examples/cube3.ine new file mode 100644 index 000000000..601dd13ce --- /dev/null +++ b/demos/ppl_lcdd/examples/cube3.ine @@ -0,0 +1,11 @@ +* 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/demos/ppl_lcdd/examples/cube6.ine b/demos/ppl_lcdd/examples/cube6.ine new file mode 100644 index 000000000..98b25538f --- /dev/null +++ b/demos/ppl_lcdd/examples/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/demos/ppl_lcdd/examples/cube8.ine b/demos/ppl_lcdd/examples/cube8.ine new file mode 100644 index 000000000..2028c837f --- /dev/null +++ b/demos/ppl_lcdd/examples/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/demos/ppl_lcdd/examples/cubetop.ine b/demos/ppl_lcdd/examples/cubetop.ine new file mode 100644 index 000000000..bc0b835f8 --- /dev/null +++ b/demos/ppl_lcdd/examples/cubetop.ine @@ -0,0 +1,12 @@ +* top facet of cube +linearity 1 3 +H-representation +begin +6 4 integer + 1 -1 0 0 + 1 0 -1 0 + 1 0 0 -1 + 0 1 0 0 + 0 0 1 0 + 0 0 0 1 +end diff --git a/demos/ppl_lcdd/examples/cubocta.ine b/demos/ppl_lcdd/examples/cubocta.ine new file mode 100644 index 000000000..d467383b8 --- /dev/null +++ b/demos/ppl_lcdd/examples/cubocta.ine @@ -0,0 +1,19 @@ +* 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/demos/ppl_lcdd/examples/cut16_11.ext b/demos/ppl_lcdd/examples/cut16_11.ext new file mode 100644 index 000000000..c7370ff7a --- /dev/null +++ b/demos/ppl_lcdd/examples/cut16_11.ext @@ -0,0 +1,21 @@ +* 5 point cut polytope +V-representation +begin +16 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 +end diff --git a/demos/ppl_lcdd/examples/cut32_16.ext b/demos/ppl_lcdd/examples/cut32_16.ext new file mode 100644 index 000000000..5d6839730 --- /dev/null +++ b/demos/ppl_lcdd/examples/cut32_16.ext @@ -0,0 +1,37 @@ +* 6 point cut polytope +V-representation +begin + 32 16 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 +end diff --git a/demos/ppl_lcdd/examples/cyc.ine b/demos/ppl_lcdd/examples/cyc.ine new file mode 100644 index 000000000..9eeadd9e9 --- /dev/null +++ b/demos/ppl_lcdd/examples/cyc.ine @@ -0,0 +1,10 @@ +* cyclic polytope: 5 vertices in R^3 +V-representation +begin +5 4 integer +1 1 1 1 +1 2 4 8 +1 3 9 27 +1 4 16 64 +1 5 25 125 +end diff --git a/demos/ppl_lcdd/examples/cyclic10-4.ext b/demos/ppl_lcdd/examples/cyclic10-4.ext new file mode 100644 index 000000000..84629a5d7 --- /dev/null +++ b/demos/ppl_lcdd/examples/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/demos/ppl_lcdd/examples/cyclic12-6.ext b/demos/ppl_lcdd/examples/cyclic12-6.ext new file mode 100644 index 000000000..4dfa2f6b5 --- /dev/null +++ b/demos/ppl_lcdd/examples/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/demos/ppl_lcdd/examples/cyclic14-8.ext b/demos/ppl_lcdd/examples/cyclic14-8.ext new file mode 100644 index 000000000..df59976b5 --- /dev/null +++ b/demos/ppl_lcdd/examples/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/demos/ppl_lcdd/examples/cyclic16-10.ext b/demos/ppl_lcdd/examples/cyclic16-10.ext new file mode 100644 index 000000000..c7d90da5b --- /dev/null +++ b/demos/ppl_lcdd/examples/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/demos/ppl_lcdd/examples/cyclic17_8.ine b/demos/ppl_lcdd/examples/cyclic17_8.ine new file mode 100644 index 000000000..af885fc40 --- /dev/null +++ b/demos/ppl_lcdd/examples/cyclic17_8.ine @@ -0,0 +1,20 @@ +begin +17 9 integer +1 -72 516 -4608 36156 -294912 2349516 -18874368 150850236 +1 -63 381 -3087 20901 -151263 1049061 -7411887 51738501 +1 -54 264 -1944 10956 -69984 410124 -2519424 14971836 +1 -45 165 -1125 4917 -28125 130845 -703125 3370917 +1 -36 84 -576 1596 -9216 27084 -147456 445116 +1 -27 21 -243 21 -2187 -3219 -19683 -85659 +1 -18 -24 -72 -564 -288 -9204 -1152 -142404 +1 -9 -51 -9 -699 -9 -9771 -9 -144699 +1 0 -60 0 -708 0 -9780 0 -144708 +1 9 -51 9 -699 9 -9771 9 -144699 +1 18 -24 72 -564 288 -9204 1152 -142404 +1 27 21 243 21 2187 -3219 19683 -85659 +1 36 84 576 1596 9216 27084 147456 445116 +1 45 165 1125 4917 28125 130845 703125 3370917 +1 54 264 1944 10956 69984 410124 2519424 14971836 +1 63 381 3087 20901 151263 1049061 7411887 51738501 +1 72 516 4608 36156 294912 2349516 18874368 150850236 +end diff --git a/demos/ppl_lcdd/examples/cyclic25_13.ext b/demos/ppl_lcdd/examples/cyclic25_13.ext new file mode 100644 index 000000000..fdd1448ef --- /dev/null +++ b/demos/ppl_lcdd/examples/cyclic25_13.ext @@ -0,0 +1,54 @@ +H-representation +begin +25 13 integer +1 -156 1690 -22464 265018 -3234816 38683450 -465813504 +5585476858 -67077144576 804783054010 -9659108818944 115904429355898 +1 -143 1391 -17303 185783 -2093663 22895951 -253333223 +2782380263 -30653319983 337043838911 -3709051717943 40794692425943 +1 -130 1118 -13000 125450 -1300000 12865658 -130000000 +1295714810 -13000000000 129857319098 -1300000000000 12995123528570 +1 -117 871 -9477 80743 -767637 6774391 -62178597 555322183 +-5036466357 45185516311 -407953774917 3666707502823 +1 -104 650 -6656 48698 -425984 3273530 -27262976 213818618 +-1744830464 13815962810 -111669149696 888476726138 +1 -91 455 -4459 26663 -218491 1395095 -10706059 70657223 +-524596891 3529497335 -25705247659 175060262183 +1 -78 286 -2808 12298 -101088 472186 -3639168 17549818 +-131010048 643379386 -4716361728 23421698938 +1 -65 143 -1625 3575 -40625 68783 -1015625 792935 -25390625 + -15727777 -634765625 -1702643305 +1 -52 26 -832 -1222 -13312 -81094 -212992 -3433222 -3407872 + -129049414 -54525952 -4658367622 +1 -39 -65 -351 -3497 -3159 -124865 -28431 -4199897 -255879 +-141913265 -2302911 -4869562697 +1 -26 -130 -104 -4342 -416 -133510 -1664 -4281862 -6656 +-142667590 -26624 -4876418182 +1 -13 -169 -13 -4537 -13 -134329 -13 -4285177 -13 +-142680889 -13 -4876471417 +1 0 -182 0 -4550 0 -134342 0 -4285190 0 -142680902 0 +-4876471430 +1 13 -169 13 -4537 13 -134329 13 -4285177 13 -142680889 +13 -4876471417 +1 26 -130 104 -4342 416 -133510 1664 -4281862 6656 +-142667590 26624 -4876418182 +1 39 -65 351 -3497 3159 -124865 28431 -4199897 255879 +-141913265 2302911 -4869562697 +1 52 26 832 -1222 13312 -81094 212992 -3433222 3407872 +-129049414 54525952 -4658367622 +1 65 143 1625 3575 40625 68783 1015625 792935 25390625 +-15727777 634765625 -1702643305 +1 78 286 2808 12298 101088 472186 3639168 17549818 131010048 + 643379386 4716361728 23421698938 +1 91 455 4459 26663 218491 1395095 10706059 70657223 +524596891 3529497335 25705247659 175060262183 +1 104 650 6656 48698 425984 3273530 27262976 213818618 +1744830464 13815962810 111669149696 888476726138 +1 117 871 9477 80743 767637 6774391 62178597 555322183 +5036466357 45185516311 407953774917 3666707502823 +1 130 1118 13000 125450 1300000 12865658 130000000 1295714810 + 13000000000 129857319098 1300000000000 12995123528570 +1 143 1391 17303 185783 2093663 22895951 253333223 2782380263 + 30653319983 337043838911 3709051717943 40794692425943 +1 156 1690 22464 265018 3234816 38683450 465813504 5585476858 + 67077144576 804783054010 9659108818944 115904429355898 +end diff --git a/demos/ppl_lcdd/examples/dcube10.ext b/demos/ppl_lcdd/examples/dcube10.ext new file mode 100644 index 000000000..67db3196c --- /dev/null +++ b/demos/ppl_lcdd/examples/dcube10.ext @@ -0,0 +1,24 @@ +V-representation +begin +20 11 rational +1 0 0 0 0 0 0 0 0 0 1 +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 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 +1 0 0 0 0 0 0 1 0 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 0 -1 0 0 0 0 +1 0 0 0 0 1 0 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 0 -1 0 0 0 0 0 0 +1 0 0 1 0 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 +1 0 -1 0 0 0 0 0 0 0 0 +1 1 0 0 0 0 0 0 0 0 0 +1 -1 0 0 0 0 0 0 0 0 0 +end diff --git a/demos/ppl_lcdd/examples/dcube12.ext b/demos/ppl_lcdd/examples/dcube12.ext new file mode 100644 index 000000000..0e4b7f54f --- /dev/null +++ b/demos/ppl_lcdd/examples/dcube12.ext @@ -0,0 +1,28 @@ +V-representation +begin +24 13 rational +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 +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 0 +1 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 +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 0 +1 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 +1 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 +1 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 +1 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 +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 +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 0 +1 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 +1 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 +end diff --git a/demos/ppl_lcdd/examples/dcube3.ext b/demos/ppl_lcdd/examples/dcube3.ext new file mode 100644 index 000000000..5702d28a4 --- /dev/null +++ b/demos/ppl_lcdd/examples/dcube3.ext @@ -0,0 +1,10 @@ +V-representation +begin +6 4 rational +1 0 0 1 +1 0 0 -1 +1 0 1 0 +1 0 -1 0 +1 1 0 0 +1 -1 0 0 +end diff --git a/demos/ppl_lcdd/examples/dcube6.ext b/demos/ppl_lcdd/examples/dcube6.ext new file mode 100644 index 000000000..43861a001 --- /dev/null +++ b/demos/ppl_lcdd/examples/dcube6.ext @@ -0,0 +1,16 @@ +V-representation +begin +12 7 rational +1 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 -1 0 +1 0 0 0 1 0 0 +1 0 0 0 -1 0 0 +1 0 0 1 0 0 0 +1 0 0 -1 0 0 0 +1 0 1 0 0 0 0 +1 0 -1 0 0 0 0 +1 1 0 0 0 0 0 +1 -1 0 0 0 0 0 +end diff --git a/demos/ppl_lcdd/examples/dcube8.ext b/demos/ppl_lcdd/examples/dcube8.ext new file mode 100644 index 000000000..d15179741 --- /dev/null +++ b/demos/ppl_lcdd/examples/dcube8.ext @@ -0,0 +1,20 @@ +V-representation +begin +16 9 rational +1 0 0 0 0 0 0 0 1 +1 0 0 0 0 0 0 0 -1 +1 0 0 0 0 0 0 1 0 +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 0 0 +1 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 0 -1 0 0 0 0 +1 0 0 1 0 0 0 0 0 +1 0 0 -1 0 0 0 0 0 +1 0 1 0 0 0 0 0 0 +1 0 -1 0 0 0 0 0 0 +1 1 0 0 0 0 0 0 0 +1 -1 0 0 0 0 0 0 0 +end diff --git a/demos/ppl_lcdd/examples/diamond.ine b/demos/ppl_lcdd/examples/diamond.ine new file mode 100644 index 000000000..8522f1c1a --- /dev/null +++ b/demos/ppl_lcdd/examples/diamond.ine @@ -0,0 +1,10 @@ +* Unit diamond centred at origin +* Last two inequalities define vertex (-1/2,0) +begin +4 3 rational +1/2 -1 -1 +1/2 -1 1 +1/2 1 -1 +1/2 1 1 +end + diff --git a/demos/ppl_lcdd/examples/dodeca_m.ine b/demos/ppl_lcdd/examples/dodeca_m.ine new file mode 100644 index 000000000..6599d7872 --- /dev/null +++ b/demos/ppl_lcdd/examples/dodeca_m.ine @@ -0,0 +1,17 @@ +* dodecahedron inequalities +H-representation +begin +12 4 integer +562949953421312 -562949953421312 0 -347922205179541 +562949953421312 -562949953421312 0 347922205179541 +562949953421312 -347922205179541 -562949953421312 0 +562949953421312 -347922205179541 562949953421312 0 +562949953421312 0 -347922205179541 -562949953421312 +562949953421312 0 -347922205179541 562949953421312 +562949953421312 0 347922205179541 -562949953421312 +562949953421312 0 347922205179541 562949953421312 +562949953421312 347922205179541 -562949953421312 0 +562949953421312 347922205179541 562949953421312 0 +562949953421312 562949953421312 0 -347922205179541 +562949953421312 562949953421312 0 347922205179541 +end diff --git a/demos/ppl_lcdd/examples/ex1.ine b/demos/ppl_lcdd/examples/ex1.ine new file mode 100644 index 000000000..790b89774 --- /dev/null +++ b/demos/ppl_lcdd/examples/ex1.ine @@ -0,0 +1,10 @@ +* 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/demos/ppl_lcdd/examples/grcubocta.ine b/demos/ppl_lcdd/examples/grcubocta.ine new file mode 100644 index 000000000..9fd74c42f --- /dev/null +++ b/demos/ppl_lcdd/examples/grcubocta.ine @@ -0,0 +1,31 @@ +* 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/demos/ppl_lcdd/examples/hexocta.ine b/demos/ppl_lcdd/examples/hexocta.ine new file mode 100644 index 000000000..57ffede41 --- /dev/null +++ b/demos/ppl_lcdd/examples/hexocta.ine @@ -0,0 +1,54 @@ +* 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/demos/ppl_lcdd/examples/icododeca_m.ine b/demos/ppl_lcdd/examples/icododeca_m.ine new file mode 100644 index 000000000..3f095ec50 --- /dev/null +++ b/demos/ppl_lcdd/examples/icododeca_m.ine @@ -0,0 +1,39 @@ +* Icosidodecahedron +% rational numbers appearing here are [approximations of] +% -3-5^(1/2), -1-5^(1/2) and their negatives. +H-representation +begin +32 4 integer +2251799813685248 -11790576896177794 -7286977268807297 0 +2251799813685248 -11790576896177794 7286977268807297 0 +2251799813685248 -7286977268807297 -7286977268807297 -7286977268807297 +2251799813685248 -7286977268807297 -7286977268807297 7286977268807297 +2251799813685248 -7286977268807297 0 -11790576896177794 +2251799813685248 -7286977268807297 0 11790576896177794 +2251799813685248 -7286977268807297 7286977268807297 -7286977268807297 +2251799813685248 -7286977268807297 7286977268807297 7286977268807297 +1125899906842624 -5895288448088897 0 -2251799813685248 +1125899906842624 -5895288448088897 0 2251799813685248 +1125899906842624 -2251799813685248 -5895288448088897 0 +1125899906842624 -2251799813685248 5895288448088897 0 +2251799813685248 0 -11790576896177794 -7286977268807297 +2251799813685248 0 -11790576896177794 7286977268807297 +1125899906842624 0 -2251799813685248 -5895288448088897 +1125899906842624 0 -2251799813685248 5895288448088897 +1125899906842624 0 2251799813685248 -5895288448088897 +1125899906842624 0 2251799813685248 5895288448088897 +2251799813685248 0 11790576896177794 -7286977268807297 +2251799813685248 0 11790576896177794 7286977268807297 +1125899906842624 2251799813685248 -5895288448088897 0 +1125899906842624 2251799813685248 5895288448088897 0 +1125899906842624 5895288448088897 0 -2251799813685248 +1125899906842624 5895288448088897 0 2251799813685248 +2251799813685248 7286977268807297 -7286977268807297 -7286977268807297 +2251799813685248 7286977268807297 -7286977268807297 7286977268807297 +2251799813685248 7286977268807297 0 -11790576896177794 +2251799813685248 7286977268807297 0 11790576896177794 +2251799813685248 7286977268807297 7286977268807297 -7286977268807297 +2251799813685248 7286977268807297 7286977268807297 7286977268807297 +2251799813685248 11790576896177794 -7286977268807297 0 +2251799813685248 11790576896177794 7286977268807297 0 +end diff --git a/demos/ppl_lcdd/examples/in0.ine b/demos/ppl_lcdd/examples/in0.ine new file mode 100644 index 000000000..8c3d751c7 --- /dev/null +++ b/demos/ppl_lcdd/examples/in0.ine @@ -0,0 +1,11 @@ +begin +8 6 integer +9 -2 -3 -3 -2 -2 +9 -2 0 0 2 0 +9 -2 -1 -1 -1 -3 +0 1 0 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 0 1 +end diff --git a/demos/ppl_lcdd/examples/in1.ine b/demos/ppl_lcdd/examples/in1.ine new file mode 100644 index 000000000..e231e5256 --- /dev/null +++ b/demos/ppl_lcdd/examples/in1.ine @@ -0,0 +1,37 @@ +begin +34 5 integer +1 -299 -534 815 807 +1 -887 -399 -867 -543 +1 683 632 958 -181 +1 -756 681 -658 470 +1 -99 135 -921 -825 +1 -795 -874 -286 732 +1 43 -567 588 -143 +1 -955 414 -159 -378 +1 -235 -695 947 166 +1 957 853 -194 -258 +1 487 -914 -100 -991 +1 -515 -786 -169 200 +1 954 -758 -178 985 +1 505 -970 400 -211 +1 714 997 401 661 +1 -475 618 459 775 +1 -219 704 -111 -876 +1 152 -390 -629 984 +1 -240 -621 -62 583 +1 -76 531 -606 -676 +1 490 -519 -240 -109 +1 -635 860 -798 825 +1 5 49 781 895 +1 495 490 -774 866 +1 -78 69 853 861 +1 -340 228 -374 498 +1 390 -12 -524 -408 +1 -382 -42 -376 264 +1 -299 -731 -283 -518 +1 892 -581 654 -439 +0 1 0 0 0 +0 0 1 0 0 +0 0 0 1 0 +0 0 0 0 1 +end diff --git a/demos/ppl_lcdd/examples/in2.ine b/demos/ppl_lcdd/examples/in2.ine new file mode 100644 index 000000000..cb491128c --- /dev/null +++ b/demos/ppl_lcdd/examples/in2.ine @@ -0,0 +1,19 @@ +begin +16 6 integer +1 -1 0 -1 0 0 +1 -1 0 0 0 -1 +1 0 -1 -1 0 0 +1 0 -1 0 -1 0 +1 0 0 0 -1 -1 +0 -1 1 0 0 1 +0 1 -1 0 1 0 +0 0 0 -1 1 1 +0 0 1 1 -1 0 +0 1 0 1 0 -1 +2 -1 -1 -1 -1 -1 +0 1 0 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 0 1 +end diff --git a/demos/ppl_lcdd/examples/in3.ine b/demos/ppl_lcdd/examples/in3.ine new file mode 100644 index 000000000..a5db73234 --- /dev/null +++ b/demos/ppl_lcdd/examples/in3.ine @@ -0,0 +1,16 @@ +begin +13 7 integer +0 1 -1 0 1 0 0 +0 0 -1 1 0 0 1 +0 -1 1 0 1 0 0 +0 -1 0 1 0 1 0 +0 0 1 -1 0 0 1 +0 1 1 0 -1 0 0 +0 0 0 0 -1 1 1 +0 1 0 1 0 -1 0 +0 0 0 0 1 -1 1 +0 0 1 1 0 0 -1 +0 0 0 0 1 1 -1 +0 1 0 -1 0 1 0 +12 -1 -1 -1 -1 -1 -1 +end diff --git a/demos/ppl_lcdd/examples/in4.ine b/demos/ppl_lcdd/examples/in4.ine new file mode 100644 index 000000000..8c11b9538 --- /dev/null +++ b/demos/ppl_lcdd/examples/in4.ine @@ -0,0 +1,15 @@ +begin +12 8 integer +10 -8 -1 -2 -3 -3 -2 -2 +10 8 -2 -2 0 0 2 0 +10 -11 3 -2 -1 -1 -1 -3 +5 23 -4 -2 -3 0 0 1 +27 5 -4 -1 3 9 11 -12 +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 +end diff --git a/demos/ppl_lcdd/examples/in5.ine b/demos/ppl_lcdd/examples/in5.ine new file mode 100644 index 000000000..e429d0ba0 --- /dev/null +++ b/demos/ppl_lcdd/examples/in5.ine @@ -0,0 +1,17 @@ +begin +14 10 integer +10 2 3 -8 -1 -2 -3 -3 -2 -2 +10 -6 33 8 -2 -2 0 0 2 0 +10 93 3 -11 3 -2 -1 -1 -1 -3 +5 -9 21 23 -4 -2 -3 0 0 1 +27 31 23 5 -4 -1 3 9 11 -12 +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 +end diff --git a/demos/ppl_lcdd/examples/in6.ine b/demos/ppl_lcdd/examples/in6.ine new file mode 100644 index 000000000..faa493a77 --- /dev/null +++ b/demos/ppl_lcdd/examples/in6.ine @@ -0,0 +1,26 @@ +begin +23 11 integer +1 1 1 1 1 1 1 1 1 1 0 +2 -2 -3 8 1 2 3 3 2 2 -9 +3 6 -3 -8 2 2 0 0 -2 0 -9 +4 -9 -3 1 -3 2 1 1 1 3 -9 +5 9 -2 -2 4 2 3 0 0 -1 -5 +6 -3 -2 -5 4 1 -3 -9 -1 2 -7 +7 -9 -3 -5 -2 2 4 -2 4 -1 -7 +8 -8 -4 5 -2 2 4 -2 4 -1 -7 +9 -7 -5 -5 -2 2 4 -2 4 -1 -7 +10 -6 -6 5 -2 2 4 -2 4 -1 -7 +11 -5 -7 -5 -2 2 4 -2 4 -1 -7 +12 -4 -8 5 -2 2 4 -2 4 -1 -7 +13 -3 -9 -5 -2 2 4 -2 4 -1 -7 +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 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 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 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 +end diff --git a/demos/ppl_lcdd/examples/in7.ine b/demos/ppl_lcdd/examples/in7.ine new file mode 100644 index 000000000..5e8276224 --- /dev/null +++ b/demos/ppl_lcdd/examples/in7.ine @@ -0,0 +1,23 @@ +begin +20 11 integer +10000 -915 -828 -303 -632 -786 -231 -12 -568 -351 -308 +10000 -930 -217 -480 -704 -700 -91 -441 -927 -33 -330 +10000 -765 -616 -962 -274 -276 -39 -924 -541 -444 -838 +10000 -747 -470 -506 -329 -481 -425 -679 -140 -764 -960 +10000 -243 -664 -760 -333 -456 -686 -717 -137 -721 -833 +10000 -682 -107 -380 -720 -382 -920 -164 -220 -640 -262 +10000 -145 -942 -873 -570 -973 -365 -685 -932 -424 -928 +10000 -183 -612 -402 -869 -681 -539 -941 -513 -290 -622 +10000 -669 -694 -353 -941 -209 -572 -580 -822 -964 -725 +10000 -188 -646 -87 -552 -330 -19 -976 -609 -965 -158 +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 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 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 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 +end diff --git a/demos/ppl_lcdd/examples/infeas.ine b/demos/ppl_lcdd/examples/infeas.ine new file mode 100644 index 000000000..0f2a49644 --- /dev/null +++ b/demos/ppl_lcdd/examples/infeas.ine @@ -0,0 +1,18 @@ +* 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 + 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 + -2 1 0 0 0 0 0 +end diff --git a/demos/ppl_lcdd/examples/integralpoints.ine b/demos/ppl_lcdd/examples/integralpoints.ine new file mode 100644 index 000000000..8f75e2707 --- /dev/null +++ b/demos/ppl_lcdd/examples/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/demos/ppl_lcdd/examples/irbox20-4.ext b/demos/ppl_lcdd/examples/irbox20-4.ext new file mode 100644 index 000000000..8fba2990a --- /dev/null +++ b/demos/ppl_lcdd/examples/irbox20-4.ext @@ -0,0 +1,25 @@ +* 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/demos/ppl_lcdd/examples/irbox200-4.ext b/demos/ppl_lcdd/examples/irbox200-4.ext new file mode 100644 index 000000000..d218b3327 --- /dev/null +++ b/demos/ppl_lcdd/examples/irbox200-4.ext @@ -0,0 +1,205 @@ +* 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/demos/ppl_lcdd/examples/kkd18_4.ine b/demos/ppl_lcdd/examples/kkd18_4.ine new file mode 100644 index 000000000..ad6b26b31 --- /dev/null +++ b/demos/ppl_lcdd/examples/kkd18_4.ine @@ -0,0 +1,25 @@ +* 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/demos/ppl_lcdd/examples/kkd27_5.ine b/demos/ppl_lcdd/examples/kkd27_5.ine new file mode 100644 index 000000000..7a8954c6f --- /dev/null +++ b/demos/ppl_lcdd/examples/kkd27_5.ine @@ -0,0 +1,34 @@ +* 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/demos/ppl_lcdd/examples/kkd38_6.ine b/demos/ppl_lcdd/examples/kkd38_6.ine new file mode 100644 index 000000000..4ea9b0b88 --- /dev/null +++ b/demos/ppl_lcdd/examples/kkd38_6.ine @@ -0,0 +1,49 @@ +* 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/demos/ppl_lcdd/examples/kq20_11_m.ine b/demos/ppl_lcdd/examples/kq20_11_m.ine new file mode 100644 index 000000000..19a589d05 --- /dev/null +++ b/demos/ppl_lcdd/examples/kq20_11_m.ine @@ -0,0 +1,24 @@ +H-representation +begin +20 11 integer +10000 -915 -828 -303 -632 -786 -231 -12 -568 -351 -308 +10000 -930 -217 -480 -704 -700 -91 -441 -927 -33 -330 +10000 -765 -616 -962 -274 -276 -39 -924 -541 -444 -838 +10000 -747 -470 -506 -329 -481 -425 -679 -140 -764 -960 +10000 -243 -664 -760 -333 -456 -686 -717 -137 -721 -833 +10000 -682 -107 -380 -720 -382 -920 -164 -220 -640 -262 +10000 -145 -942 -873 -570 -973 -365 -685 -932 -424 -928 +10000 -183 -612 -402 -869 -681 -539 -941 -513 -290 -622 +10000 -669 -694 -353 -941 -209 -572 -580 -822 -964 -725 +10000 -188 -646 -87 -552 -330 -19 -976 -609 -965 -158 +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 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 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 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 +end diff --git a/demos/ppl_lcdd/examples/metric40_11.ine b/demos/ppl_lcdd/examples/metric40_11.ine new file mode 100644 index 000000000..2fec9a5ee --- /dev/null +++ b/demos/ppl_lcdd/examples/metric40_11.ine @@ -0,0 +1,45 @@ +* metric polytope on 5 points +H-representation +begin +40 11 integer +0 0 0 1 1 0 0 0 0 0 -1 +0 0 1 0 1 0 0 0 0 -1 0 +0 0 1 1 0 0 0 0 -1 0 0 +0 1 0 0 1 0 0 -1 0 0 0 +0 1 0 1 0 0 -1 0 0 0 0 +0 1 1 0 0 -1 0 0 0 0 0 +0 -1 0 0 1 0 0 1 0 0 0 +0 0 0 -1 1 0 0 0 0 0 1 +0 0 0 0 0 0 -1 1 0 0 1 +0 0 -1 0 1 0 0 0 0 1 0 +0 0 0 0 0 0 0 0 -1 1 1 +0 0 0 0 0 -1 0 1 0 1 0 +2 0 0 0 0 -1 -1 0 -1 0 0 +0 -1 0 1 0 0 1 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 1 +0 0 -1 1 0 0 0 0 1 0 0 +0 0 0 0 0 0 0 0 1 -1 1 +0 0 0 0 0 -1 1 0 1 0 0 +2 -1 -1 0 0 -1 0 0 0 0 0 +2 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 1 0 -1 0 1 0 +0 0 1 0 -1 0 0 0 0 1 0 +2 -1 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 0 1 1 -1 +0 0 1 -1 0 0 0 0 1 0 0 +2 -1 0 -1 0 0 -1 0 0 0 0 +2 0 0 0 0 0 -1 -1 0 0 -1 +0 0 0 0 0 1 1 0 -1 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 1 0 0 -1 0 0 1 0 0 0 +2 0 -1 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 1 0 0 0 0 +2 0 0 -1 -1 0 0 0 0 0 -1 +2 0 -1 -1 0 0 0 0 -1 0 0 +2 0 0 0 0 0 0 0 -1 -1 -1 +end diff --git a/demos/ppl_lcdd/examples/metric80_16.ine b/demos/ppl_lcdd/examples/metric80_16.ine new file mode 100644 index 000000000..065eae38d --- /dev/null +++ b/demos/ppl_lcdd/examples/metric80_16.ine @@ -0,0 +1,86 @@ +* metric polytope on 6 points +H-representation +linearity 3 1 2 3 +begin +80 16 integer +0 1 1 0 0 0 -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 0 +0 1 0 1 0 0 0 -1 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 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 0 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 1 0 0 0 0 0 +0 0 1 -1 0 0 0 0 0 0 1 0 0 0 0 0 +0 0 1 1 0 0 0 0 0 0 -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 0 -1 0 0 0 0 0 0 1 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 1 0 0 0 0 0 0 1 0 0 0 +0 0 1 0 0 -1 0 0 0 0 0 0 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 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 1 0 0 +0 0 0 1 0 1 0 0 0 0 0 0 0 0 -1 0 +0 0 0 1 0 -1 0 0 0 0 0 0 0 0 1 0 +0 0 0 -1 0 1 0 0 0 0 0 0 0 0 1 0 +0 0 0 0 1 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 1 +0 0 0 0 1 -1 0 0 0 0 0 0 0 0 0 1 +6 0 0 0 0 0 -1 -1 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 0 0 0 -1 1 0 0 1 0 0 0 0 0 +0 0 0 0 0 0 1 -1 0 0 1 0 0 0 0 0 +6 0 0 0 0 0 -1 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 0 0 0 0 0 -1 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 +6 0 0 0 0 0 -1 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 0 0 0 0 1 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 +6 0 0 0 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 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 1 1 0 0 0 0 -1 0 0 +6 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 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 1 0 0 0 0 -1 0 +6 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 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 1 0 0 0 0 0 -1 +6 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 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 0 0 0 0 0 0 0 -1 1 0 1 0 0 +6 0 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 1 0 -1 0 +0 0 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 1 0 1 0 +6 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 1 1 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 0 0 0 -1 1 0 0 1 +6 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 1 1 -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 0 0 0 0 0 -1 1 1 +6 -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 0 0 0 0 0 0 +0 1 -1 0 0 0 1 0 0 0 0 0 0 0 0 0 +6 -1 0 -1 0 0 0 -1 0 0 0 0 0 0 0 0 +0 1 0 -1 0 0 0 1 0 0 0 0 0 0 0 0 +6 -1 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 0 0 0 +6 -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 0 0 0 0 0 0 +6 0 -1 -1 0 0 0 0 0 0 -1 0 0 0 0 0 +6 0 -1 0 -1 0 0 0 0 0 0 -1 0 0 0 0 +6 0 -1 0 0 -1 0 0 0 0 0 0 -1 0 0 0 +6 0 0 -1 -1 0 0 0 0 0 0 0 0 -1 0 0 +6 0 0 -1 0 -1 0 0 0 0 0 0 0 0 -1 0 +6 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 -1 +end diff --git a/demos/ppl_lcdd/examples/mit.ine b/demos/ppl_lcdd/examples/mit.ine new file mode 100644 index 000000000..5d31d882c --- /dev/null +++ b/demos/ppl_lcdd/examples/mit.ine @@ -0,0 +1,732 @@ +begin +729 9 integer +72 0 0 -4 -4 -2 0 0 0 +216 -2 -2 -10 -12 -6 0 0 0 +192 -4 -2 -8 -8 -8 0 0 0 +288 -12 6 8 -16 -8 0 0 0 +96 -4 2 0 -4 -4 0 0 0 +144 -5 1 -4 -6 -6 0 0 0 +288 -8 -2 -10 -12 -12 0 0 0 +96 -4 2 -4 -2 -4 0 0 0 +240 -7 -1 -10 -8 -10 0 0 0 +288 -8 -2 -12 -8 -12 0 0 0 +288 -8 -2 -8 -16 -8 0 0 0 +96 -4 2 -8 0 0 0 0 0 +0 0 6 -8 4 8 0 0 0 +0 4 6 -8 0 8 0 0 0 +24 2 2 -4 -2 2 0 0 0 +864 -24 -6 -40 -16 -32 0 0 0 +24 0 0 -2 -2 2 0 0 0 +0 4 10 -16 0 24 0 0 0 +0 1 1 -4 0 12 0 0 0 +0 0 6 -16 8 40 0 0 0 +96 -4 2 -16 16 32 0 0 0 +288 -8 -2 -16 0 0 0 0 0 +96 -4 2 8 -8 8 0 0 0 +288 -8 -2 8 -24 24 0 0 0 +0 0 2 -8 8 24 0 0 0 +96 -1 -1 -4 -8 8 0 0 0 +576 -12 -6 -16 -40 16 0 0 0 +192 -4 -2 0 -16 16 0 0 0 +576 -8 -6 -24 -32 -16 0 0 0 +576 -12 -6 -20 -32 -16 0 0 0 +960 -16 -10 -40 -56 -16 0 0 0 +160 0 0 -7 -7 -6 -1 0 -1 +480 -4 -4 -21 -21 -18 -1 0 -3 +192 -4 -4 -12 -4 -8 4 2 -4 +640 -16 -8 -28 -28 -24 4 2 -4 +640 -8 -6 -28 -28 -24 0 0 -4 +192 -8 0 -8 -8 -8 4 2 0 +384 -12 -4 -16 -16 -16 4 2 0 +960 -20 -12 -42 -42 -36 4 2 -6 +240 -9 -1 -11 -9 -10 3 2 -1 +0 2 2 4 0 0 -4 -2 0 +640 -22 -4 -24 -28 -24 8 4 -4 +1920 -60 -20 -76 -84 -72 20 10 -12 +1920 -32 -22 -84 -84 -72 4 2 -12 +960 -28 -10 -44 -36 -40 8 4 -4 +1152 -36 -12 -52 -44 -48 12 6 -4 +720 -23 -7 -33 -27 -30 7 4 -3 +1920 -48 -24 -88 -72 -80 12 6 -8 +3456 -96 -40 -160 -128 -144 28 14 -16 +576 -15 -7 -26 -20 -24 4 2 -4 +384 -12 -4 -20 -12 -16 4 2 0 +336 -11 -3 -17 -11 -14 3 2 -1 +192 -8 0 -12 -4 -8 4 2 0 +0 0 0 -4 4 0 4 2 0 +0 0 2 -8 8 0 8 4 -2 +192 -12 12 -28 12 -8 20 10 -4 +192 -12 12 -20 4 -8 12 6 -2 +1920 -48 -24 -92 -60 -80 12 6 -4 +576 -15 -7 -28 -18 -24 4 2 -2 +1536 -42 -18 -76 -40 -64 12 6 -8 +384 -12 -4 -20 4 -16 4 2 -4 +1920 -60 -20 -102 18 -76 14 10 -18 +1920 -60 -20 -102 -46 -76 14 10 -2 +672 -22 -6 -37 -17 -26 5 4 -1 +640 -22 -4 -36 -16 -24 4 4 0 +960 -40 0 -64 -16 -32 8 10 0 +64 -4 4 -8 0 0 0 2 0 +0 0 8 -6 2 4 -2 2 0 +0 8 18 -8 0 8 -8 2 0 +64 36 60 -28 -4 24 -28 6 -4 +192 28 36 -20 -12 8 -20 2 -4 +96 4 4 -5 -5 -2 -3 0 -1 +64 4 6 -4 -4 0 -4 0 0 +96 0 0 -5 -5 -2 -1 0 -1 +16 0 0 -1 -1 0 0 0 0 +192 -6 0 -8 12 -8 0 0 -4 +192 -6 0 -8 -4 -8 0 0 0 +960 -30 -8 -48 -20 -40 8 4 -4 +960 -32 -8 -52 -20 -40 12 6 -4 +960 -32 -8 -52 44 -40 12 6 -20 +960 -30 -8 -48 12 -40 8 4 -12 +576 -16 -6 -28 -12 -24 4 2 -4 +208 -8 0 -8 -8 -8 4 2 -2 +160 -7 1 -5 -7 -6 3 2 -1 +192 -12 12 0 -8 -8 8 6 0 +160 -9 7 -1 -7 -6 5 4 -1 +640 -20 -4 -20 -28 -24 4 2 -4 +96 -5 3 -2 -4 -4 2 2 0 +192 -6 0 -4 -8 -8 0 0 0 +480 -18 -2 -17 -21 -18 7 4 -3 +528 -19 -3 -20 -22 -20 8 4 -4 +960 -30 -4 -32 -36 -40 4 2 -4 +1152 -36 -4 -32 -40 -48 0 2 -8 +1152 -36 -12 -48 -40 -48 8 6 -8 +192 -8 0 -4 -4 -8 4 2 -4 +192 -6 0 0 -4 -8 0 0 -4 +384 -12 -4 -8 -8 -16 4 2 -8 +1920 -48 -24 -48 -40 -80 12 6 -40 +384 -16 2 -20 -12 -16 4 4 0 +576 -24 0 -32 -16 -24 8 6 0 +432 -17 -1 -23 -13 -18 5 4 -1 +576 -28 12 -36 -12 -24 12 10 -4 +960 -52 36 -92 12 -40 52 26 -12 +0 0 4 -14 10 4 6 6 -2 +2688 -72 -32 -120 -104 -112 16 10 -8 +0 0 8 -20 12 56 -12 2 -4 +64 -4 4 -16 8 24 -4 2 0 +192 -8 0 -16 0 0 0 2 0 +64 8 16 -20 -4 24 -12 2 -4 +0 2 4 -4 0 8 -4 0 0 +288 -13 3 -12 -10 -12 6 4 -2 +336 -14 2 -15 -11 -14 7 4 -3 +96 3 1 -8 -6 4 0 0 -2 +192 12 0 -20 -12 8 4 2 -4 +0 4 8 -6 2 4 -2 2 -2 +192 -12 12 -28 28 -8 20 10 -12 +0 0 0 -4 16 0 4 2 -6 +0 0 0 -4 40 0 4 2 -12 +192 -8 0 -12 44 -8 4 2 -12 +0 0 2 0 32 0 0 0 -8 +192 -12 12 -20 300 -8 12 6 -76 +960 -40 0 -64 208 -32 8 10 -56 +2112 -72 -16 -120 120 -80 16 14 -48 +512 -16 -4 -26 6 -20 2 2 -6 +512 -16 -4 -26 -10 -20 2 2 -2 +448 -16 0 -24 -8 -16 0 2 0 +448 24 8 -68 -20 56 12 6 -20 +192 8 2 -24 -8 16 4 2 -8 +192 16 0 -36 -4 24 12 6 -12 +448 -13 -5 -23 -13 -18 3 2 -1 +64 -2 0 -4 0 0 0 0 0 +0 2 -2 -4 4 0 4 2 -2 +0 0 0 -22 22 4 14 10 0 +0 0 0 -22 82 4 14 10 -30 +0 0 4 -14 34 4 6 6 -14 +480 -21 3 -20 -18 -20 8 6 -2 +480 -19 1 -16 -18 -20 4 4 -2 +1344 -52 0 -44 -52 -56 12 10 -4 +576 -22 0 -12 -24 -24 4 4 0 +768 -28 -4 -24 -32 -32 8 6 0 +768 -28 -4 40 -32 -32 -8 6 0 +576 -22 0 20 -24 -24 -4 4 0 +320 -12 0 10 -14 -12 -2 2 -2 +160 -7 1 3 -7 -6 1 2 -1 +0 2 2 -12 8 16 4 2 -4 +0 22 14 -52 16 80 12 6 -16 +192 32 16 -68 -4 88 12 6 -20 +128 18 10 -36 -8 48 4 2 -8 +64 8 8 -20 -4 24 -4 2 -4 +0 4 2 -4 4 8 0 0 -4 +0 4 8 -14 2 20 -4 2 -2 +0 1 7 -11 3 14 -3 2 -1 +0 0 8 -12 4 16 -4 2 0 +0 4 12 -20 4 32 -8 2 0 +0 0 24 -44 20 64 -16 6 0 +0 0 4 -10 6 12 -2 2 -2 +0 14 22 -44 8 64 -12 6 -8 +0 6 10 -18 2 28 -6 2 -2 +192 28 36 -52 -12 72 -36 2 -12 +96 3 3 -8 -6 4 -4 0 -2 +0 1 1 -2 0 4 0 0 0 +0 0 12 -10 6 12 -6 2 -2 +48 0 0 -3 -3 2 -1 0 -1 +192 16 24 -44 -12 72 -28 2 -12 +0 4 12 -14 2 20 -8 2 -2 +0 1 9 -11 3 14 -5 2 -1 +192 32 40 -68 -4 88 -36 6 -20 +16 1 1 -3 -1 6 -1 0 -1 +64 4 6 -12 -4 24 -8 0 -4 +0 4 12 -20 4 40 -12 2 -4 +0 0 10 -16 8 24 -8 2 0 +192 -12 12 -40 16 32 -8 6 0 +0 0 24 -34 14 44 -14 6 -2 +64 -4 4 -16 8 16 0 2 0 +0 0 8 -20 12 32 0 2 0 +0 0 4 -14 10 20 2 2 -2 +0 0 2 -2 2 4 -2 0 0 +0 0 24 -44 20 72 -20 6 -4 +0 0 24 -60 36 104 -4 6 -4 +0 6 10 -16 4 24 -8 2 -4 +0 1 1 -1 1 2 -1 0 -1 +0 6 18 -16 4 24 -12 2 -4 +384 0 -2 -20 -20 -8 0 0 -4 +384 -12 -4 -12 -20 -8 4 2 -4 +640 -16 -8 -20 -36 -8 4 2 -4 +960 -20 -12 -32 -56 -8 4 2 -4 +96 -1 -1 -4 -6 0 0 0 0 +1280 -6 -14 -60 -80 0 -4 2 0 +1024 -2 -10 -52 -64 0 -4 2 0 +1024 -12 -12 -48 -56 -16 0 2 -8 +384 8 -4 -24 -24 0 0 2 0 +256 4 -4 -16 -16 0 2 2 0 +1024 0 -16 -56 -56 -16 8 6 -8 +960 0 -16 -52 -52 -16 12 6 -8 +6400 -96 -72 -280 -280 -240 8 6 -40 +960 -16 -12 -42 -42 -36 2 2 -6 +3840 -48 -40 -168 -168 -144 0 2 -24 +4032 -72 -48 -178 -178 -148 10 6 -26 +1152 -20 -14 -52 -52 -40 4 2 -8 +0 2 -2 0 0 0 2 2 0 +192 -6 0 12 -8 -8 -4 0 0 +192 -4 -4 -8 -8 -8 4 2 0 +6912 -176 -88 -288 -288 -288 40 26 0 +1920 -48 -24 -80 -80 -80 10 6 0 +576 -12 -10 -24 -24 -24 6 4 0 +5760 -168 -64 -264 -216 -240 48 26 -24 +960 -48 24 -36 -36 -40 20 18 -4 +960 -44 12 -28 -36 -40 12 14 -4 +192 -12 12 4 -4 -8 4 6 -4 +960 -56 48 -20 -36 -40 28 26 -4 +640 -20 0 -4 -28 -24 -2 0 -4 +576 -24 0 -28 -12 -24 4 6 -4 +0 0 0 4 8 0 -2 0 -4 +192 -6 0 -4 12 -8 -4 0 -6 +960 -30 0 -32 -12 -40 -8 0 -6 +960 -32 0 -36 -20 -40 -4 2 -4 +640 -20 0 -28 -4 -24 -4 0 -2 +0 0 20 -4 12 8 -12 0 -2 +16 0 0 -1 -1 6 -1 0 -1 +720 -23 -3 -25 -27 -30 3 2 -3 +624 -21 -1 -27 -17 -26 1 2 -1 +768 -26 0 -32 -20 -32 0 2 0 +1536 -62 0 -80 -44 -64 16 14 0 +1344 -42 -12 -64 -44 -56 12 6 -4 +2880 -90 -28 -128 -108 -120 28 14 -12 +960 -30 0 -12 -32 -40 -6 0 -8 +768 -30 0 -24 -28 -32 6 6 -4 +576 -24 0 -20 -20 -24 8 6 -4 +576 -24 0 -15 -23 -22 9 6 -5 +192 -8 0 12 -4 -8 -4 2 -4 +0 0 2 -4 4 8 0 0 0 +0 0 0 -8 8 8 4 2 0 +192 -12 12 -76 76 88 20 10 -12 +0 0 6 -28 28 40 8 4 -6 +576 -15 -7 -29 -15 -22 3 2 -1 +448 -13 -5 -25 -7 -14 3 2 -1 +512 -14 -6 -26 -14 -20 4 2 -2 +448 -13 -5 -23 -5 -18 3 2 -3 +384 -6 -4 -16 -20 -8 0 0 -4 +0 6 8 -16 4 40 -4 0 -4 +0 8 8 -24 8 48 0 2 -8 +96 -1 -1 0 -6 36 -4 0 -6 +192 -4 -4 12 -12 72 -4 2 -12 +0 0 0 -6 6 4 2 2 0 +384 -12 -4 -22 -6 -12 2 2 0 +1216 -31 -15 -59 -37 -50 7 4 -3 +960 -20 -16 -42 -42 -36 10 6 -6 +2304 -72 -20 -112 -64 -96 16 10 -8 +1344 -42 -12 -64 -36 -56 8 6 -6 +1152 -36 -12 -56 -32 -48 8 6 -4 +384 -12 -4 -16 -8 -16 0 2 0 +192 -6 0 -4 0 -8 -4 0 0 +912 -26 -10 -43 -31 -38 5 4 -1 +960 -27 -11 -46 -32 -40 6 4 -2 +1344 -39 -15 -66 -44 -56 10 6 -4 +4224 -120 -48 -200 -152 -176 32 18 -16 +4992 -132 -60 -240 -168 -208 32 18 -16 +3456 -96 -40 -168 -104 -144 24 14 -16 +2688 -76 -28 -128 -72 -112 16 10 -16 +960 -29 -9 -46 -28 -40 6 4 -4 +0 2 -2 12 0 0 -4 2 0 +960 -20 -20 134 -42 -36 -38 10 -6 +1920 -60 -20 148 -84 -72 -36 10 -12 +1920 -68 -12 100 -84 -72 -20 14 -12 +320 -12 0 -6 -14 -12 2 2 -2 +960 -40 0 -26 -42 -36 18 10 -6 +576 -12 -8 -22 -30 -12 2 2 -6 +576 -12 -10 -8 -24 -24 -2 4 0 +2304 -56 -32 -80 -96 -96 8 10 0 +960 -20 -20 -38 -42 -36 20 10 -6 +192 -6 0 -4 -4 -8 -2 0 -2 +0 0 0 1 1 2 -1 0 -1 +192 -8 0 -4 28 -8 -4 2 -12 +192 -8 0 -4 60 -8 -4 2 -20 +0 0 2 -4 4 16 -4 0 0 +1792 -28 -20 -80 -88 -48 0 2 -16 +384 -3 -3 -18 -20 -8 -2 0 -4 +8064 -204 -100 -384 -264 -336 48 26 -24 +1920 -48 -24 -88 -56 -80 8 6 -8 +384 -12 -4 -16 8 -16 0 2 -8 +192 -12 12 -12 -4 -8 4 6 0 +192 -12 12 -12 12 -8 4 6 -8 +192 -12 12 4 60 -8 -12 6 -28 +0 0 0 -8 8 16 0 2 0 +192 -4 -2 -4 -4 -8 0 0 -4 +192 -4 -4 16 -12 0 -4 2 0 +768 -20 -12 40 -48 0 -8 6 0 +512 -14 -6 20 -32 0 -4 2 0 +64 -2 0 0 -4 0 0 0 0 +1344 -60 12 -68 -44 -56 20 18 -4 +2112 -92 12 -116 -60 -88 28 26 -4 +960 -44 12 -52 -28 -40 12 14 0 +1920 -48 -24 -72 -56 -80 8 6 -24 +96 -5 3 -4 -2 -4 0 2 0 +0 0 2 -8 24 0 8 4 -10 +0 4 4 -16 8 112 -16 2 -8 +384 -12 -4 -24 0 0 0 2 0 +0 2 -2 -4 16 0 4 2 -8 +64 -4 4 -20 20 24 4 2 -2 +128 -6 2 -20 16 16 4 2 -2 +192 -8 0 -20 12 8 4 2 0 +96 -4 0 -14 10 8 4 2 -2 +448 -20 4 -76 60 56 20 10 -12 +192 -4 -2 -4 -12 8 0 0 -4 +384 -12 -4 0 -24 16 4 2 -8 +192 -8 0 4 -12 8 4 2 -4 +192 12 20 -20 -12 8 -12 2 -4 +192 12 4 -20 -12 8 -4 2 -4 +192 76 20 -84 -12 72 -4 18 -12 +64 20 12 -28 -4 24 -4 6 -4 +64 20 44 -28 -4 24 -20 6 -4 +0 12 36 -22 2 20 -14 6 -2 +0 4 10 -8 0 8 -4 2 0 +0 4 6 -8 0 8 -2 2 0 +0 4 0 -6 2 4 2 2 -2 +0 0 4 -6 2 4 0 2 0 +192 4 2 -12 -12 0 -4 0 0 +0 8 8 -16 0 24 -4 2 0 +64 20 4 -28 -4 24 4 6 -4 +0 20 4 -24 0 24 4 6 0 +0 8 0 -8 0 8 4 2 0 +0 5 -1 -6 2 4 4 2 -2 +64 24 0 -28 -4 24 12 6 -4 +96 46 -10 -42 -6 36 18 14 -6 +32 18 -6 -14 -2 12 10 6 -2 +192 112 -40 -84 -12 72 76 38 -12 +0 6 -2 -4 0 4 4 2 0 +0 0 0 0 16 0 0 2 -8 +192 -12 12 4 28 -8 4 6 -20 +960 -40 0 38 -42 -36 2 10 -6 +960 -40 8 -20 -36 -40 4 10 -4 +192 -8 2 0 -8 -8 0 2 0 +384 -18 6 -4 -16 -16 4 6 0 +192 -8 0 8 -8 -8 0 2 0 +320 -20 20 10 -14 -12 14 10 -2 +576 -8 -6 -20 -36 24 -4 0 -12 +96 -1 -1 -4 -6 4 0 0 -2 +192 16 -8 -20 -12 8 12 6 -4 +960 12 -20 -60 -52 -8 20 10 -12 +576 -12 -8 -26 -26 -20 4 2 -4 +1920 -48 -24 -68 -100 -40 12 6 -20 +640 -16 -8 -32 -16 -24 4 2 0 +384 -12 -4 -24 0 -8 4 2 0 +192 -8 0 -36 44 24 12 6 -12 +192 -8 0 -36 76 24 12 6 -20 +128 -6 2 -20 40 16 4 2 -8 +64 -4 4 -20 60 24 4 2 -12 +0 0 2 -4 20 8 0 0 -4 +624 -21 -5 -34 -16 -24 4 4 0 +400 -12 -4 -20 -12 -16 2 2 0 +192 1 -1 -10 -12 0 -2 0 0 +640 -16 -8 -8 -40 48 0 2 -16 +1920 -48 -24 -24 -120 80 8 6 -40 +96 8 8 -22 -6 36 -10 2 -6 +0 8 8 -16 0 32 -8 2 0 +2112 -72 -16 -120 -40 -80 16 14 -8 +3456 -100 -36 -160 -120 -144 24 14 -16 +1152 -36 -12 -59 -27 -46 7 6 -3 +1920 -48 -24 -96 -32 -64 8 6 0 +640 -16 -8 -32 0 0 0 2 0 +240 -2 -2 -11 -15 10 -3 0 -5 +960 -20 -12 -32 -56 16 0 2 -16 +1920 -48 -24 216 -80 -80 -64 6 0 +384 -12 -4 32 -16 -16 -8 2 0 +320 -10 0 18 -14 -12 -6 0 -2 +192 -6 0 20 -4 -8 -8 0 -4 +320 -10 0 -14 18 -12 -2 0 -6 +32 -1 1 -4 6 20 -4 0 -2 +192 -8 0 -16 32 0 0 2 -8 +192 -8 0 -20 28 8 4 2 -4 +0 0 0 -8 28 8 4 2 -8 +0 0 0 -6 34 4 2 2 -10 +384 -12 -4 -22 2 -12 2 2 -2 +192 -12 12 28 -12 8 12 6 -4 +576 -24 0 -8 -24 -16 8 6 -8 +192 -8 0 -2 -10 -4 4 2 -2 +768 0 -8 -40 -40 -16 0 2 -8 +3840 0 -56 -200 -200 -80 24 18 -40 +384 0 -6 -20 -20 -8 4 2 -4 +768 -12 -10 -36 -36 -24 4 2 -6 +192 -8 0 -20 28 88 -12 2 -4 +64 -4 4 -20 52 200 -28 2 -12 +0 0 8 -24 72 336 -48 2 -24 +0 1 1 -2 4 40 -6 0 -4 +0 0 2 -4 12 48 -8 0 -4 +1792 -4 -20 -88 -112 0 -8 6 0 +768 4 -12 -40 -48 0 0 6 0 +192 0 -4 -10 -10 -4 2 2 -2 +96 -5 3 1 -5 -2 3 2 -1 +96 6 -2 -10 -6 4 2 2 -2 +528 9 -11 -35 -29 -2 9 6 -7 +480 38 -18 -50 -30 20 22 14 -10 +640 12 -12 -40 -40 0 8 6 0 +48 -3 3 -14 8 24 -4 2 0 +384 2 -6 -20 -24 144 4 2 -24 +192 -4 -2 -6 -10 -4 0 0 -2 +1344 -24 -16 -56 -72 -16 0 2 -16 +2880 -60 -36 -112 -152 -56 12 6 -28 +1344 -24 -16 -56 -72 -24 4 2 -12 +384 -6 -6 -12 -24 0 0 2 0 +64 -4 4 4 -4 0 4 2 0 +384 -12 -4 48 -8 -16 -16 2 -8 +192 -6 0 12 -4 -8 -6 0 -4 +576 -18 0 -23 -3 -22 -5 0 -3 +0 0 0 -22 194 4 14 10 -58 +64 -4 4 -8 96 0 0 2 -24 +0 0 10 -2 154 4 -6 0 -38 +384 -12 -4 16 -24 80 0 2 -16 +64 -2 0 8 -4 24 0 0 -4 +384 -12 -4 48 -24 144 0 2 -24 +192 -8 0 4 -12 0 4 2 0 +384 -12 -4 16 -24 16 0 2 -8 +0 0 6 1 9 2 -5 0 -3 +0 0 2 4 16 0 -4 0 -6 +1344 -56 8 -60 -44 -56 12 14 -4 +192 -4 -2 32 -4 -8 -12 0 -4 +1920 -48 -24 296 -40 -80 -104 6 -40 +192 -4 -2 24 -8 -8 -8 0 0 +960 -20 -10 114 -42 -36 -38 0 -6 +640 -16 -8 68 -28 -24 -20 2 -4 +0 10 2 -12 0 160 -20 2 0 +0 3 -1 -6 4 40 -2 2 -4 +0 8 -8 -24 24 80 8 10 -8 +0 116 -36 -80 0 80 64 38 0 +0 136 -56 -120 40 80 104 58 -40 +0 14 -6 -12 4 8 12 6 -4 +0 10 -6 -12 8 16 12 6 -8 +192 8 -8 -20 -4 88 12 6 -20 +960 0 -16 -52 -52 248 12 6 -52 +0 0 2 -4 20 80 -12 0 -4 +64 -2 0 -4 8 24 -4 0 0 +1920 -40 -20 -68 -84 -72 -2 0 -12 +576 -12 -6 -19 -23 -22 -1 0 -5 +1920 -48 -24 -72 -72 -80 4 6 -8 +192 -4 -4 4 -4 -8 -4 2 -4 +1920 -68 -12 -60 -84 -72 20 14 -12 +0 1 1 -2 4 24 -4 0 -4 +0 0 2 -4 12 32 -6 0 -4 +64 -4 4 -20 52 72 -12 2 -12 +192 -8 0 -20 28 24 -4 2 -4 +448 -16 0 -36 28 56 -12 2 -4 +288 -8 -4 -2 -18 12 2 2 -6 +192 -4 -4 12 -12 8 -4 2 -4 +192 -12 12 14 -10 -4 10 6 -2 +192 -8 0 36 -12 72 4 2 -12 +1344 -24 -16 -36 -84 120 -12 2 -36 +960 -20 -12 -20 -60 72 -4 2 -24 +640 -16 -8 -20 -36 0 4 2 -8 +576 -12 -8 -18 -34 -4 2 2 -2 +192 -4 -4 -4 -12 0 4 2 0 +192 -4 -4 -6 -10 -4 4 2 -2 +192 -4 -4 36 -4 -8 -12 2 -4 +192 -4 -4 28 -8 -8 -8 2 0 +192 -4 -4 4 -8 -8 -2 2 0 +960 -20 -20 22 -42 -36 -10 10 -6 +384 -12 -4 16 -8 -16 -8 2 -8 +576 -12 -6 0 -16 -24 -10 0 -8 +1920 -48 -24 -24 -56 -80 -16 6 -24 +1920 -48 -24 72 -40 -80 -48 6 -40 +192 -4 -2 8 -4 -8 -6 0 -4 +576 -12 -6 -15 -23 -22 -3 0 -5 +0 0 0 -8 24 80 -8 2 -8 +64 -4 4 -20 20 72 -12 2 -4 +192 -8 0 -20 12 24 -4 2 0 +192 -6 0 -12 8 8 -4 0 0 +0 0 0 -8 24 16 0 2 -8 +0 0 2 -4 20 16 -4 0 -4 +0 0 2 -4 12 24 -4 0 -4 +96 -4 0 -14 10 20 -2 2 -2 +64 -4 4 -20 52 40 -4 2 -12 +192 -12 12 -60 188 152 -28 6 -36 +192 -4 -2 -4 -12 0 0 0 0 +0 16 24 -52 12 120 -12 2 -12 +0 0 14 -18 6 20 -6 4 0 +576 -8 -8 -20 -36 24 -4 2 -12 +640 -16 -8 24 -40 48 -8 2 -16 +192 -6 0 8 -12 8 0 0 -4 +640 -20 -4 16 -40 48 0 2 -16 +960 -20 -12 -4 -60 168 -12 2 -36 +640 -16 -8 24 -40 176 -8 2 -32 +640 -16 -8 56 -40 240 -8 2 -40 +960 -20 -12 28 -60 296 -20 2 -52 +192 -4 -2 12 -12 72 -4 0 -12 +1920 -48 -24 156 -100 -40 -44 6 -20 +384 -12 -4 20 -20 -8 -4 2 -4 +192 -8 0 6 -10 -4 2 2 -2 +0 0 0 8 4 0 -4 0 -2 +192 -12 12 4 12 -8 -12 6 -4 +192 -8 0 -4 4 -8 -4 2 0 +192 -6 0 -4 20 -8 -4 0 -8 +0 3 11 -9 1 10 -5 2 -1 +576 -12 -6 -16 -16 -24 -2 0 -8 +1920 -48 -24 -48 -112 32 8 6 -32 +640 -16 -8 -8 -40 16 0 2 -8 +1152 -12 -12 -52 -60 -24 -4 2 -12 +2880 -60 -36 -112 -152 -48 8 6 -32 +0 8 16 -36 12 120 -28 2 -12 +0 2 4 -8 4 40 -8 0 -4 +0 0 4 -16 16 48 -8 2 -4 +0 4 4 -16 8 48 -8 2 -8 +128 -6 2 -2 -6 -4 2 2 0 +160 -7 1 1 -9 -2 3 2 -1 +288 -8 -4 -2 -18 0 2 2 0 +768 -20 -12 8 -48 0 0 6 0 +0 8 0 0 0 96 -16 2 0 +192 4 -4 12 -12 72 -20 2 -12 +0 6 -2 12 0 48 -12 2 0 +0 12 -4 -8 0 96 -8 6 0 +192 16 -16 -12 -12 72 4 14 -12 +0 14 -10 -4 0 48 4 10 0 +640 -16 -8 32 -40 0 -8 2 0 +1920 -48 -24 104 -120 80 -24 6 -40 +1920 -48 -24 116 -108 8 -36 6 -28 +640 -16 -8 24 -40 16 -8 2 -8 +192 -4 -2 12 -12 8 -4 0 -4 +192 -4 -2 13 -11 2 -5 0 -3 +576 -12 -6 28 -36 16 -12 0 -8 +192 -4 -2 12 -12 0 -4 0 0 +192 -4 -2 18 -10 -4 -6 0 -2 +384 -12 -4 16 -24 0 0 2 0 +384 -12 -4 0 -24 0 4 2 0 +1920 -48 -24 -56 -56 -80 -8 6 -8 +0 20 4 -24 0 288 -40 6 0 +0 2 0 4 0 8 -4 0 0 +0 10 -6 -4 0 16 4 6 0 +0 14 -6 -8 0 8 8 6 0 +0 20 -4 -16 0 16 8 6 0 +0 8 2 -8 0 8 0 2 0 +0 32 0 -32 0 32 8 10 0 +48 19 -1 -21 -3 18 5 6 -3 +1152 -18 -14 -50 -62 -20 2 2 -10 +0 2 -2 -2 2 4 2 2 -2 +192 -4 -2 4 -12 40 -4 0 -8 +192 -4 -2 4 -12 24 -4 0 -6 +128 -3 -1 2 -8 16 -2 0 -4 +64 -4 4 -20 20 40 -4 2 -4 +192 -12 12 -52 36 104 -20 6 -4 +0 0 6 -12 20 40 -8 0 -4 +384 -12 -4 -24 32 64 -8 2 0 +0 0 0 -6 18 4 2 2 -6 +0 0 0 -8 20 8 4 2 -6 +0 0 8 -24 40 208 -32 2 -16 +0 0 8 -24 40 144 -24 2 -16 +0 0 8 -24 40 112 -16 2 -16 +192 -8 0 -20 60 152 -20 2 -4 +64 -4 4 -20 84 264 -36 2 -12 +960 -16 -12 -26 -42 -36 -6 2 -6 +960 -20 -12 -34 -42 -36 0 2 -6 +960 -20 -16 -18 -42 -36 -2 6 -6 +576 -8 -8 -20 -36 88 -4 2 -20 +192 132 -60 -84 -12 72 76 58 -12 +192 20 -12 -20 -12 8 12 10 -4 +96 3 -3 -6 -6 0 2 2 0 +768 16 -16 -48 -48 0 8 10 0 +96 -1 -1 0 -6 20 -4 0 -4 +0 3 5 -10 8 72 -14 0 -8 +0 4 12 -32 24 176 -32 2 -16 +192 -12 12 -60 60 152 -28 6 -4 +192 -12 12 -76 76 184 -28 10 -12 +0 0 0 0 48 0 0 2 -16 +576 -12 -8 -12 -36 24 0 2 -12 +192 -4 -4 -4 -12 8 4 2 -4 +0 0 12 -32 32 96 -16 2 -8 +0 24 -8 -24 8 16 16 10 -8 +0 52 -28 -64 40 80 48 30 -40 +192 -12 12 20 156 -8 -28 6 -60 +192 -12 12 20 380 -8 -28 6 -116 +0 0 2 4 40 0 -4 0 -12 +0 0 6 8 24 0 -8 0 -10 +0 0 8 -36 28 152 -20 6 -4 +32 -2 2 -12 8 32 -4 2 0 +0 0 2 4 4 0 -4 0 0 +0 0 6 8 8 0 -8 0 -2 +0 0 6 1 5 2 -5 0 -1 +1024 -16 -12 -48 -48 -32 4 2 -8 +1248 -23 -15 -55 -57 -42 3 2 -9 +1344 -24 -16 -58 -66 -36 2 2 -12 +1056 -21 -13 -45 -51 -30 3 2 -9 +960 -20 -12 -40 -48 -24 4 2 -8 +0 0 8 -24 24 112 -20 2 -8 +0 4 12 -32 24 144 -24 2 -16 +0 0 8 -24 24 80 -12 2 -8 +0 8 0 -8 24 80 -8 2 -24 +0 6 -2 -4 16 48 4 2 -16 +0 14 -10 -20 16 48 20 10 -16 +0 20 -12 -32 24 80 16 14 -24 +0 14 -2 -20 8 16 12 6 -8 +0 12 -4 -16 8 16 8 6 -8 +0 2 0 0 4 8 0 0 -4 +192 4 -4 -12 -4 88 4 2 -20 +96 1 -3 -4 -6 36 0 2 -6 +192 4 -12 -4 -12 72 12 10 -12 +192 -4 -4 22 -10 -4 -6 2 -2 +1344 -28 -16 -54 -62 -44 2 2 -10 +2688 -36 -28 -120 -144 -32 -8 2 -32 +640 -8 -6 -28 -36 0 -4 0 -8 +112 -1 -1 -5 -7 2 -1 0 -1 +48 2 2 -7 -3 18 -5 0 -3 +0 1 1 -2 0 8 -2 0 0 +0 12 20 -48 24 240 -48 2 -24 +4864 -80 -56 -216 -216 -176 8 6 -32 +2304 -32 -24 -104 -104 -80 0 2 -16 +1152 -24 -14 -44 -60 -24 4 2 -12 +384 -6 -4 -12 -24 24 -4 0 -8 +1728 -28 -20 -64 -104 48 -8 2 -32 +1344 -24 -16 -36 -84 88 -12 2 -28 +192 8 -8 -12 -12 8 4 6 -4 +192 48 -32 -28 -12 72 20 30 -12 +1920 -48 -24 -44 -108 8 4 6 -28 +960 -20 -12 -20 -60 40 -4 2 -16 +1344 -28 -16 -28 -84 40 -4 2 -20 +768 -14 -8 -20 -48 24 -4 0 -12 +2112 -32 -24 -68 -132 152 -20 2 -52 +192 -4 -2 -3 -11 2 -1 0 -3 +576 -12 -6 -4 -36 16 -4 0 -8 +192 -4 -2 4 -12 16 -4 0 -4 +1728 -36 -18 -59 -75 -62 -3 0 -13 +192 4 -4 -12 -12 0 4 2 0 +96 -1 -1 -3 -5 -2 -1 0 -1 +192 0 -2 -4 -12 0 -4 0 0 +2496 -36 -28 -96 -152 16 -8 2 -16 +960 -12 -12 -36 -60 8 -4 2 -4 +1920 -18 -26 -76 -120 0 -4 6 0 +2688 -42 -34 -116 -144 -48 4 6 -24 +864 -17 -11 -37 -43 -22 3 2 -7 +2880 -60 -36 -118 -142 -76 10 6 -26 +192 -6 0 -10 10 -4 -2 0 -2 +192 -6 0 -10 2 -4 -2 0 0 +0 0 2 -2 26 4 -2 0 -6 +192 -12 12 -40 240 32 -8 6 -56 +480 -7 -5 -12 -30 52 -8 0 -14 +0 0 4 -16 16 80 -12 2 -4 +0 4 6 -12 4 48 -12 0 -4 +1152 -36 -12 -60 -20 -40 4 6 -4 +0 2 8 -16 12 56 -12 0 -4 +0 10 16 -32 12 120 -28 0 -12 +96 9 -1 16 -6 36 -20 0 -6 +96 1 -1 0 -6 4 -4 0 -2 +416 -10 -6 -12 -24 16 4 2 -8 +192 -4 -4 6 -10 -4 -2 2 -2 +192 -4 -4 8 -12 0 -2 2 0 +0 4 -2 -3 1 2 3 2 -1 +960 -12 -12 -44 -52 -16 4 2 -8 +576 -8 -8 -28 -28 -16 4 2 -4 +0 3 5 -9 1 10 -1 2 -1 +0 3 7 -9 1 10 -3 2 -1 +1792 -16 -24 -88 -88 -48 8 6 -16 +864 -15 -11 -39 -41 -26 3 2 -7 +672 -11 -9 -31 -33 -18 3 2 -5 +960 -16 -12 -42 -50 -20 2 2 -8 +3200 -80 -40 -154 -90 -132 18 10 -6 +1920 -48 -24 -94 -46 -76 10 6 -2 +1056 -12 -12 -50 -58 -4 -2 2 -14 +960 -12 -12 -44 -52 -8 4 2 -12 +0 0 6 -20 20 56 -8 2 -6 +192 8 8 -24 -8 16 -8 2 -8 +0 3 1 -2 4 8 -2 0 -4 +0 11 1 -2 20 40 -6 0 -20 +0 0 18 -3 13 10 -13 0 -3 +400 -6 -4 -16 -20 -8 -2 0 -4 +3648 -64 -40 -144 -176 -96 -8 2 -32 +624 -8 -6 -26 -34 -4 -4 0 -8 +576 0 -6 -28 -36 0 -4 2 0 +4608 -60 -52 -200 -240 -96 -8 6 -48 +1152 -18 -14 -48 -60 -24 0 2 -12 +1920 -34 -22 -80 -92 -56 0 2 -16 +1728 -36 -22 -74 -82 -52 8 4 -14 +1344 -28 -20 -40 -80 96 8 6 -32 +576 -12 -8 -12 -36 56 0 2 -16 +528 -13 -7 -16 -30 4 4 2 -8 +192 -12 12 -48 40 80 -16 6 -8 +192 -12 12 -48 200 80 -16 6 -48 +0 0 6 -12 52 40 -8 0 -12 +0 0 2 -3 21 10 -3 0 -5 +256 -8 0 -12 12 -8 -2 0 -4 +192 -6 0 -7 13 -6 -3 0 -5 +512 -16 0 -24 0 -16 -4 0 -2 +512 -14 -6 -4 -32 0 2 2 0 +640 -16 -8 -8 -40 0 2 2 0 +960 -20 -14 -20 -60 0 2 4 0 +960 -20 -12 -4 -60 72 -12 2 -20 +960 -20 -12 -4 -60 104 -12 2 -28 +192 -12 12 20 36 -8 -28 6 0 +0 0 2 -3 5 10 -3 0 -1 +192 28 -4 -44 -4 24 20 10 -12 +64 8 0 -12 -4 8 4 2 -2 +256 14 6 -36 -16 32 4 2 -8 +48 4 6 -10 -2 20 -8 0 -4 +16 2 4 -4 0 8 -4 0 -2 +0 12 36 -28 12 56 -28 2 -12 +0 4 4 -8 0 8 0 2 0 +64 4 8 -12 -4 8 -4 2 0 +448 12 12 -36 -28 8 -12 2 -4 +768 -10 -8 -28 -48 8 -4 0 -4 +1536 -22 -16 -52 -96 56 -12 0 -28 +1792 -16 -16 -88 -88 -48 0 2 -16 +384 6 -10 -20 -24 0 4 6 0 +2304 -12 -28 -104 -144 0 -8 6 0 +3840 -48 -40 -168 -200 -80 -8 2 -40 +0 0 8 -6 10 4 -2 2 -4 +0 4 8 -6 18 4 -2 2 -10 +768 -16 -10 -16 -48 24 -2 2 -12 +2304 -56 -32 -32 -144 96 8 10 -48 +1792 -48 -24 -16 -112 0 8 10 0 +2304 -56 -32 -32 -144 0 8 10 0 +192 -6 0 -7 5 -6 -3 0 -3 +448 -14 0 -19 1 -14 -5 0 -3 +576 -18 0 -24 4 -16 -8 0 -4 +2880 -60 -36 -96 -168 -16 8 6 -16 +192 -6 0 10 -10 -4 -2 0 -2 +256 -8 0 12 -12 -8 -4 0 -2 +512 -16 0 0 -24 -16 -2 0 -4 +192 -6 0 2 -10 -4 0 0 -2 +576 -18 0 4 -24 -16 -4 0 -8 +448 -14 0 1 -19 -14 -3 0 -5 +576 -18 0 -3 -23 -22 -3 0 -5 +192 -6 0 5 -7 -6 -3 0 -3 +192 -6 0 13 -7 -6 -5 0 -3 +64 -4 4 20 -4 24 4 2 -4 +2304 -56 -32 -96 -96 -96 16 10 0 +768 -30 0 -32 -28 -32 8 6 0 +0 1 0 0 0 0 0 0 0 +0 0 1 0 0 0 0 0 0 +0 0 0 1 0 0 0 0 0 +0 0 0 0 1 0 0 0 0 +0 0 0 0 0 1 0 0 0 +0 0 0 0 0 0 1 0 0 +0 0 0 0 0 0 0 1 0 +0 0 0 0 0 0 0 0 1 +end diff --git a/demos/ppl_lcdd/examples/mit288-281.ine b/demos/ppl_lcdd/examples/mit288-281.ine new file mode 100644 index 000000000..895a518b3 --- /dev/null +++ b/demos/ppl_lcdd/examples/mit288-281.ine @@ -0,0 +1,291 @@ +begin +288 281 rational +1 -3 0 10 -4 -8 8 4 -4 -4 4 4 2 4 8 -12 -4 4 0 -2 1 0 -8 -4 0 4 -4 0 -8 -16 2 -8 4 4 12 8 2 0 -8 16 0 0 -4 -4 -8 -4 -4 0 24 8 0 -4 -2 8 -2 0 -8 -1 -16 -10 -8 -4 -12 0 24 8 -12 2 4 -4 4 -8 12 0 -8 -8 16 8 0 0 -4 -8 0 0 0 8 0 8 0 0 0 0 -16 -24 10 16 16 -16 0 4 -16 4 16 4 -16 8 16 8 12 -8 -4 -8 0 8 -8 4 -12 0 -8 4 16 4 -24 -6 8 -4 -8 12 8 8 4 8 -16 0 16 0 -16 0 -24 0 8 0 0 4 -16 -8 -4 -8 16 12 8 -16 -16 16 16 8 16 -16 16 -16 8 4 -8 8 0 8 4 0 0 -12 -16 16 -8 -8 4 0 4 0 10 8 4 0 12 -4 4 -24 -6 8 0 8 0 8 24 -8 -4 0 8 4 8 -12 -8 -8 -4 -2 -4 12 -16 0 0 16 -4 -4 -4 8 -4 0 -10 0 -8 -2 -4 0 -12 4 -1 0 -4 0 24 6 -8 -8 -8 -2 0 1 12 0 0 8 -4 -8 4 4 0 -4 -8 2 16 0 0 -16 4 -8 -8 4 -4 0 0 2 4 8 0 8 4 8 4 2 4 -8 -12 -4 -4 -8 -4 8 2 0 -1 -2 1 +1 -5 0 12 -2 -4 0 4 -8 0 2 0 4 8 8 -8 0 0 0 -4 -1 -8 -8 -8 8 0 -4 0 0 -8 2 0 0 4 8 0 -2 0 0 4 -4 -8 0 0 -8 0 0 8 8 8 0 0 -2 0 2 0 -8 1 -4 0 0 0 -4 -8 0 0 0 0 0 0 -4 0 0 0 0 -8 8 0 8 4 0 8 0 0 0 0 0 4 4 0 0 0 0 0 0 8 0 8 0 0 0 0 0 0 -8 -8 0 8 4 0 4 0 4 8 0 0 0 -4 4 0 -8 0 -8 0 0 0 -8 0 0 0 0 8 8 0 8 0 0 0 0 0 0 0 0 0 -8 0 -4 8 0 0 -8 -8 0 -8 0 0 -8 0 8 0 -4 0 -4 0 -4 0 0 4 0 0 8 0 0 0 0 0 0 0 0 -8 0 -4 -4 0 0 8 0 -8 0 8 0 0 0 0 0 0 0 4 -8 0 8 0 0 2 0 0 4 -4 0 -8 0 0 0 0 0 -8 0 0 8 -2 0 -8 4 0 -1 8 0 0 -8 0 0 8 -8 4 8 1 -8 -8 0 0 4 0 0 -4 0 0 8 -2 -4 4 0 8 0 0 0 0 8 8 0 2 0 -8 0 0 -8 -4 -4 -4 -2 8 8 0 4 4 2 -8 -4 0 1 4 -1 +1 -7 4 14 0 0 -8 4 -12 4 0 -4 -2 4 8 -8 4 -4 0 2 1 0 -8 -4 0 -4 -4 0 24 0 -2 0 4 4 4 -8 -2 0 0 -8 -8 -16 4 4 8 4 4 0 -8 -8 0 -4 2 0 2 0 8 -1 8 2 -8 4 4 0 8 0 -4 -10 -4 -4 4 -8 12 0 8 8 0 8 16 8 4 8 -16 0 0 8 0 0 0 0 0 0 16 -8 -2 0 0 0 0 -4 0 -4 0 -4 -16 -8 -16 -8 -4 -8 -4 -8 0 -8 -4 -4 -12 0 0 -4 16 4 8 6 8 4 8 4 4 8 4 -8 0 0 0 0 0 0 -8 0 8 0 0 -4 0 -8 -4 8 0 4 -8 0 0 0 0 8 0 0 16 16 0 4 0 8 0 4 -4 0 0 -12 -16 -16 -8 -4 -4 0 -4 0 -2 -8 -4 0 -4 4 4 8 6 -8 0 -8 0 0 8 -8 4 0 8 4 -8 -4 8 -8 -4 2 4 12 8 8 0 0 4 4 4 0 -4 16 2 0 8 2 4 0 4 -4 -1 0 -4 -16 -8 -6 8 8 8 2 0 1 4 0 16 -8 -4 0 -4 4 0 4 -8 -2 -8 -8 0 0 -4 8 0 4 -4 -16 0 -2 -4 8 -4 -8 4 0 4 -2 0 -8 -4 4 -4 0 0 8 6 4 -1 -6 1 +1 -7 0 18 0 0 0 4 -12 0 0 -12 6 12 0 -12 0 0 12 -6 -3 -24 0 -12 24 0 -4 0 0 -12 6 0 0 12 12 0 -6 0 0 0 0 -24 12 12 -24 12 0 24 0 24 -12 12 -6 0 6 0 0 3 0 6 0 -12 12 -24 0 0 0 6 0 -12 -12 0 -12 0 0 0 12 0 24 0 -12 24 0 -12 4 -12 0 0 0 0 12 0 -24 0 -6 -24 0 24 -4 12 0 -12 -24 -12 0 -24 24 24 -12 0 12 12 0 0 0 -12 12 0 0 12 0 12 0 -6 0 0 -24 0 0 0 -12 0 0 0 0 0 24 -12 0 0 0 0 0 -12 0 0 12 -24 -24 0 0 24 0 -24 0 0 0 24 0 -24 0 -12 0 -12 0 0 12 0 0 12 0 24 12 0 12 4 -12 -4 -6 0 -12 0 -12 0 12 0 -6 24 12 -24 0 0 0 0 12 0 0 -12 24 0 0 0 12 -6 -12 -12 0 0 -12 12 0 -12 12 0 0 24 6 0 0 6 12 24 12 0 3 -24 -12 0 0 6 0 -24 24 -6 -24 -3 12 24 0 0 -4 0 0 12 0 0 0 6 0 0 12 -12 0 0 0 0 -12 -24 0 -6 0 0 0 0 12 0 4 6 0 -12 -12 0 -12 0 0 12 6 0 -1 -6 1 +1 -7 0 14 0 4 0 0 -12 -4 0 -4 6 4 0 -4 4 4 -8 -6 -3 -16 0 -4 0 0 0 -8 8 8 2 0 0 0 4 0 -2 -8 0 4 -4 0 4 -12 8 4 0 16 0 0 8 12 -2 0 2 8 0 3 -4 -2 0 12 0 0 0 0 4 -2 12 4 0 0 -4 8 0 0 -8 8 0 4 -4 -8 -8 4 -4 -8 0 4 0 0 -4 0 0 0 2 16 -8 -16 4 -12 8 12 0 -4 8 8 0 -8 0 -8 0 8 0 0 0 -4 4 0 -4 4 -8 -4 0 2 0 -12 0 -4 0 0 -12 0 -8 0 8 0 0 4 0 0 0 0 0 -4 -8 -8 0 0 0 -4 0 -16 8 16 -8 0 8 0 -8 0 4 -12 -4 -8 0 0 4 0 0 4 8 0 8 0 -12 -4 12 4 2 0 -4 0 0 -12 -4 0 2 -8 -4 8 0 0 0 0 4 8 8 0 0 4 0 0 12 -2 -4 -4 -4 4 8 -8 0 12 -12 0 0 0 -2 8 0 2 4 16 0 12 3 0 4 -8 0 -2 0 8 -8 -6 -16 -3 4 0 8 0 0 0 4 0 -8 4 0 2 4 -4 -8 8 0 0 0 0 -4 0 -8 -2 -4 0 0 0 4 -4 0 6 0 -8 -4 -4 0 4 0 8 6 0 -1 -6 1 +1 -9 4 20 2 8 -8 0 -16 -4 -2 -16 0 0 -8 -12 4 4 4 0 -1 -8 8 0 8 0 0 0 24 4 2 0 0 8 8 0 -2 0 0 0 0 -8 8 0 0 8 0 8 -8 0 -4 8 -2 0 2 0 8 1 0 4 -8 0 8 -8 8 0 -4 -4 4 0 0 8 0 0 0 8 -4 8 8 0 -8 0 -16 0 0 -4 8 -8 -4 0 0 -8 8 -8 -4 -8 0 -8 0 0 0 0 -8 -8 0 0 8 0 -8 -8 0 -4 -4 -8 -4 -8 0 4 -8 8 0 0 8 4 8 -4 0 4 -4 -8 -8 -8 -16 0 -16 0 -8 0 8 8 -8 0 0 8 16 8 0 0 8 -4 8 8 0 8 0 8 16 8 0 -8 8 8 8 4 4 4 -8 -4 -8 0 0 -8 4 4 0 0 0 0 4 8 8 4 8 4 0 -8 -4 0 0 0 0 0 -8 8 -8 0 -8 0 0 4 -8 -8 -8 2 8 0 0 0 4 4 0 0 0 0 0 -8 -4 0 -8 -2 -8 -8 -8 -4 -1 8 0 16 8 4 0 0 0 0 8 1 -8 -8 -16 0 0 0 -4 -8 0 -4 -8 -2 0 0 -4 -4 0 -8 0 0 0 8 0 2 4 8 4 8 0 8 0 0 2 12 8 4 8 -8 -2 -12 -8 -4 1 8 -1 +1 -11 8 26 4 16 -24 -4 -20 -12 -4 -28 -6 -12 -24 -20 4 12 8 6 1 16 24 12 16 4 4 16 40 8 2 8 4 12 12 8 2 16 8 8 8 16 -4 -4 -8 -4 -4 -16 -8 -8 -8 -4 -2 -8 -2 -16 -8 -1 -8 -2 -8 -4 -4 -16 -8 -8 -4 -6 -4 -4 -4 -8 -4 -16 -8 -8 -8 -8 -16 -8 -4 -8 -16 0 0 0 0 0 0 0 0 0 0 8 2 0 0 0 0 4 0 4 0 4 0 8 0 8 4 8 4 0 0 8 0 4 4 0 0 4 0 4 8 2 8 4 8 4 0 8 4 8 0 0 0 0 0 0 8 0 8 0 0 4 0 8 4 8 0 4 8 0 0 0 0 8 0 0 0 0 0 4 0 0 0 0 4 0 0 4 0 0 0 0 4 0 4 0 2 8 4 0 4 4 4 8 2 8 0 8 0 -8 -8 -8 -4 -16 -8 -4 -8 -4 -8 -8 -4 -2 -4 -4 -8 -8 -8 -8 -4 -4 -4 -8 -4 -16 -2 -16 -8 -2 -4 -16 -4 -4 -1 -16 -4 -16 -8 -2 -8 -8 -8 6 16 1 12 16 16 8 4 8 12 12 16 4 24 2 8 8 8 8 4 24 8 4 12 16 16 2 -4 -24 -8 -24 -12 -16 -4 -6 -4 -16 -12 -12 -12 16 4 16 10 8 -1 -10 1 +1 -13 12 36 6 24 -48 -8 -32 -24 -6 -48 -12 -24 -48 -36 8 24 24 12 3 48 48 24 48 12 8 48 96 24 6 24 12 24 24 24 6 48 24 24 24 48 -24 -24 -48 -24 -12 -48 -48 -48 -24 -24 -6 -24 -6 -48 -48 -3 -24 -12 -48 -24 -24 -48 -48 -24 -24 -24 -24 -24 -24 -48 -24 -48 -24 -48 -24 -48 -48 -24 -24 -48 -48 12 4 24 24 24 12 48 12 24 48 48 12 48 48 48 4 24 48 24 48 24 48 48 48 48 24 48 24 24 12 48 12 24 24 12 24 24 48 24 48 12 48 24 48 24 12 48 24 48 48 16 48 48 48 -12 -48 -24 -48 -48 -16 -24 -48 -48 -24 -48 -48 -24 -48 -48 -48 -48 -48 -48 -48 -48 -48 -48 -24 -24 -24 -24 -12 -12 -24 -12 -24 -24 -48 -48 -24 -12 -24 -4 -24 -4 -12 -48 -24 -12 -24 -24 -24 -48 -12 -48 -12 -48 -48 24 48 48 24 48 48 24 48 24 48 48 24 6 24 24 24 24 24 24 12 24 24 24 12 48 12 48 48 6 24 48 24 24 3 48 24 48 48 12 24 48 48 -12 -48 -3 -24 -48 -48 -24 -8 -24 -24 -24 -48 -8 -48 -6 -24 -24 -24 -24 -12 -48 -24 -12 -24 -48 -48 -6 8 48 12 48 24 24 8 12 6 24 24 24 24 -24 -6 -24 -12 -12 1 12 -1 +1 13 12 36 6 24 48 8 32 24 6 48 12 24 48 36 8 24 24 12 3 48 48 24 48 12 8 48 96 24 6 24 12 24 24 24 6 48 24 24 24 48 24 24 48 24 12 48 48 48 24 24 6 24 6 48 48 3 24 12 48 24 24 48 48 24 24 24 24 24 24 48 24 48 24 48 24 48 48 24 24 48 48 12 4 24 24 24 12 48 12 24 48 48 12 48 48 48 4 24 48 24 48 24 48 48 48 48 24 48 24 24 12 48 12 24 24 12 24 24 48 24 48 12 48 24 48 24 12 48 24 48 48 16 48 48 48 12 48 24 48 48 16 24 48 48 24 48 48 24 48 48 48 48 48 48 48 48 48 48 24 24 24 24 12 12 24 12 24 24 48 48 24 12 24 4 24 4 12 48 24 12 24 24 24 48 12 48 12 48 48 24 48 48 24 48 48 24 48 24 48 48 24 6 24 24 24 24 24 24 12 24 24 24 12 48 12 48 48 6 24 48 24 24 3 48 24 48 48 12 24 48 48 12 48 3 24 48 48 24 8 24 24 24 48 8 48 6 24 24 24 24 12 48 24 12 24 48 48 6 8 48 12 48 24 24 8 12 6 24 24 24 24 24 6 24 12 12 1 12 1 +1 11 8 26 4 16 24 4 20 12 4 28 6 12 24 20 4 12 8 6 1 16 24 12 16 4 4 16 40 8 2 8 4 12 12 8 2 16 8 8 8 16 4 4 8 4 4 16 8 8 8 4 2 8 2 16 8 1 8 2 8 4 4 16 8 8 4 6 4 4 4 8 4 16 8 8 8 8 16 8 4 8 16 0 0 0 0 0 0 0 0 0 0 8 2 0 0 0 0 4 0 4 0 4 0 8 0 8 4 8 4 0 0 8 0 4 4 0 0 4 0 4 8 2 8 4 8 4 0 8 4 8 0 0 0 0 0 0 -8 0 -8 0 0 -4 0 -8 -4 -8 0 -4 -8 0 0 0 0 -8 0 0 0 0 0 -4 0 0 0 0 -4 0 0 -4 0 0 0 0 -4 0 -4 0 -2 -8 -4 0 -4 -4 -4 -8 -2 -8 0 -8 0 -8 -8 -8 -4 -16 -8 -4 -8 -4 -8 -8 -4 -2 -4 -4 -8 -8 -8 -8 -4 -4 -4 -8 -4 -16 -2 -16 -8 -2 -4 -16 -4 -4 -1 -16 -4 -16 -8 -2 -8 -8 -8 -6 -16 -1 -12 -16 -16 -8 -4 -8 -12 -12 -16 -4 -24 -2 -8 -8 -8 -8 -4 -24 -8 -4 -12 -16 -16 -2 -4 -24 -8 -24 -12 -16 -4 -6 -4 -16 -12 -12 -12 -16 -4 -16 -10 -8 -1 -10 -1 +1 11 12 12 6 24 48 8 -16 24 -6 0 12 24 48 12 -8 -24 24 -12 3 48 -48 -24 48 12 -8 48 0 24 6 24 12 -24 -24 24 6 48 24 24 24 48 24 24 48 24 -12 -48 48 48 -24 24 -6 -24 -6 -48 48 -3 -24 12 48 24 24 -48 48 -24 24 0 24 24 24 48 24 -48 -24 48 -24 48 -48 -24 24 48 -48 12 4 24 24 24 12 48 12 24 48 -48 -12 48 48 48 4 -24 48 -24 48 -24 48 -48 48 -48 -24 -48 -24 24 12 -48 12 -24 -24 12 24 -24 48 -24 -48 -12 -48 -24 -48 -24 12 -48 -24 -48 48 16 48 48 48 -12 48 -24 48 -48 -16 24 -48 48 24 48 -48 24 48 -48 -48 -48 -48 48 -48 -48 -48 -48 -24 24 -24 -24 -12 -12 24 -12 -24 24 -48 -48 -24 -12 24 -4 24 -4 12 48 24 -12 24 24 24 48 12 48 -12 48 -48 24 -48 -48 -24 48 -48 -24 -48 -24 -48 -48 -24 6 -24 -24 24 24 24 24 12 -24 -24 24 12 48 -12 48 -48 6 -24 48 -24 -24 3 48 -24 48 -48 -12 24 -48 -48 12 -48 -3 24 -48 -48 -24 8 -24 24 24 -48 8 48 -6 -24 -24 -24 -24 -12 48 -24 -12 24 -48 -48 -6 -8 -48 12 -48 -24 24 -8 -12 6 24 -24 -24 -24 -24 -6 -24 12 -12 1 -12 -1 +1 9 8 16 2 8 16 0 8 0 2 8 8 8 0 16 0 0 -8 8 3 16 0 8 0 -4 0 16 16 -8 2 8 4 0 8 0 2 0 0 -8 -8 0 8 -16 -16 0 -4 16 -16 0 -8 16 2 8 2 16 -16 3 -8 0 0 -16 0 0 0 0 0 4 0 0 0 16 8 0 0 0 -8 0 0 -8 0 -16 0 -4 -4 8 0 8 -4 -32 -4 0 0 0 0 -16 -16 -16 -4 -16 -16 -16 0 0 0 -16 0 -16 0 0 0 8 4 0 8 8 8 -4 8 0 0 0 -16 0 0 0 0 0 8 16 16 -16 0 0 0 -16 0 -4 0 0 0 -16 0 8 0 0 0 0 0 0 0 -16 -16 -16 -16 16 0 0 0 0 8 16 8 8 4 8 0 -4 0 8 0 0 8 8 -16 -4 -16 -4 0 -16 0 -4 0 0 0 -16 0 -16 -4 -16 -32 8 0 0 8 16 0 0 0 0 0 16 16 2 0 8 -8 -8 -8 -8 -4 -16 -16 0 4 0 0 0 -16 2 0 16 0 0 3 0 0 0 -16 0 0 -16 -16 8 16 3 8 0 0 0 0 8 0 0 16 0 0 2 -8 -8 -8 -8 -4 16 0 4 8 0 0 2 0 0 8 16 8 8 0 8 2 8 8 0 0 8 2 8 8 8 1 8 1 +1 9 4 20 2 8 8 0 16 4 2 16 0 0 8 12 4 4 4 0 -1 -8 8 0 8 0 0 0 24 4 2 0 0 8 8 0 -2 0 0 0 0 -8 -8 0 0 -8 0 -8 8 0 4 -8 2 0 -2 0 -8 -1 0 -4 8 0 -8 8 -8 0 4 4 -4 0 0 -8 0 0 0 -8 4 -8 -8 0 8 0 16 0 0 -4 8 -8 -4 0 0 -8 8 -8 -4 -8 0 -8 0 0 0 0 -8 -8 0 0 8 0 -8 -8 0 -4 -4 -8 -4 -8 0 4 -8 8 0 0 8 4 8 -4 0 4 -4 -8 -8 -8 -16 0 -16 0 -8 0 -8 -8 8 0 0 -8 -16 -8 0 0 -8 4 -8 -8 0 -8 0 -8 -16 -8 0 8 -8 -8 -8 -4 -4 -4 8 4 8 0 0 8 -4 -4 0 0 0 0 -4 -8 -8 -4 -8 -4 0 8 4 0 0 0 0 0 -8 8 -8 0 -8 0 0 4 -8 -8 -8 2 8 0 0 0 4 4 0 0 0 0 0 -8 -4 0 -8 -2 -8 -8 -8 -4 -1 8 0 16 8 4 0 0 0 0 -8 -1 8 8 16 0 0 0 4 8 0 4 8 2 0 0 4 4 0 8 0 0 0 -8 0 -2 4 8 4 8 0 8 0 0 2 12 8 4 8 8 2 12 8 4 1 8 1 +1 9 4 16 6 8 0 0 8 0 6 8 8 0 32 4 0 0 8 8 3 16 32 0 -16 12 0 16 -16 8 -2 -8 -4 0 0 8 -2 -16 8 8 8 -16 0 16 0 -16 12 16 0 0 8 16 -2 -8 -2 16 0 3 8 -8 -32 16 0 -16 -32 8 0 -12 0 -16 0 0 0 -16 8 32 8 0 -16 8 -16 0 -16 -4 4 8 -24 8 -4 16 -4 -24 -16 -32 -8 16 16 16 4 16 16 16 -16 -16 -16 0 -16 0 0 0 0 8 12 32 4 0 0 -4 8 -16 -16 -16 0 -8 -32 0 0 0 4 0 16 0 -16 -16 -16 -16 -16 -4 -32 -24 -32 -16 -16 0 -16 0 0 0 -16 0 32 16 16 16 16 0 -16 -16 -16 -16 8 16 8 8 12 4 -16 -4 -24 0 -16 -16 8 4 16 4 16 4 -8 0 -16 -4 0 0 -16 0 -8 0 -4 0 16 -8 -32 -32 0 16 0 0 0 0 32 0 16 -2 -16 0 8 8 8 8 12 16 16 8 -4 -16 -8 -16 0 -2 -16 16 0 0 3 -16 -16 -16 0 -8 8 0 0 8 16 3 0 -16 -16 8 0 -8 0 0 16 0 32 -2 8 8 8 8 12 0 8 -4 0 -16 -16 -2 0 32 4 0 0 8 0 8 6 8 0 0 0 8 6 8 8 4 1 8 1 +1 9 4 16 2 12 8 4 8 8 2 16 0 8 8 4 0 8 0 0 -1 0 8 8 0 0 4 -8 0 0 -2 0 0 4 0 0 2 8 0 4 4 16 0 0 0 8 0 0 -8 -8 0 -8 -2 0 2 -8 8 -1 4 4 -8 0 4 0 8 0 -8 -4 0 0 -4 -8 -8 8 0 -8 0 0 16 4 -8 0 -8 0 0 -8 -8 -4 4 0 0 8 -16 8 4 0 -8 0 0 0 -8 0 0 8 -8 0 -16 0 4 0 -4 -8 -4 -8 -4 0 -8 -4 -4 -8 -8 0 -8 -4 -8 0 -8 -8 -4 -8 -8 8 8 0 8 0 0 0 8 8 -8 0 0 0 8 0 -4 -8 0 -8 -8 0 -8 0 -8 -8 8 0 -8 -16 -4 -8 -4 -8 -4 -4 -8 -4 -8 -8 -8 -16 -8 -4 0 0 0 0 4 8 8 4 4 0 0 -8 -4 0 0 0 0 0 8 -8 0 -8 0 -4 -8 -8 -8 -8 -8 -2 -8 -8 4 4 0 0 0 0 0 0 0 16 4 8 8 2 8 0 4 0 -1 0 0 -8 -8 -4 0 0 0 0 0 -1 0 0 -8 0 4 0 8 4 -8 0 8 -2 4 4 0 0 0 8 0 0 8 16 8 2 0 8 4 8 8 12 4 0 2 8 0 8 4 12 2 8 8 4 1 8 1 +1 9 8 6 4 16 24 4 -12 12 -4 -4 6 12 24 4 -4 -12 8 -6 1 16 -24 -12 16 4 -4 16 -8 8 2 8 4 -12 -12 8 2 16 8 8 8 16 4 4 8 4 -4 -16 8 8 -8 4 -2 -8 -2 -16 8 -1 -8 2 8 4 4 -16 8 -8 4 -2 4 4 4 8 4 -16 -8 8 -8 8 -16 -8 4 8 -16 0 0 0 0 0 0 0 0 0 0 -8 -2 0 0 0 0 -4 0 -4 0 -4 0 -8 0 -8 -4 -8 -4 0 0 -8 0 -4 -4 0 0 -4 0 -4 -8 -2 -8 -4 -8 -4 0 -8 -4 -8 0 0 0 0 0 0 -8 0 -8 0 0 -4 0 -8 -4 -8 0 -4 -8 0 0 0 0 -8 0 0 0 0 0 -4 0 0 0 0 -4 0 0 -4 0 0 0 0 -4 0 -4 0 -2 -8 -4 0 -4 -4 -4 -8 -2 -8 0 -8 0 -8 8 8 4 -16 8 4 8 4 8 8 4 -2 4 4 -8 -8 -8 -8 -4 4 4 -8 -4 -16 2 -16 8 -2 4 -16 4 4 -1 -16 4 -16 8 2 -8 8 8 -6 16 1 -12 16 16 8 -4 8 -12 -12 16 -4 -24 2 8 8 8 8 4 -24 8 4 -12 16 16 2 4 24 -8 24 12 -16 4 6 -4 -16 12 12 12 16 4 16 -10 8 -1 10 1 +1 7 4 14 0 0 8 -4 12 -4 0 4 2 -4 -8 8 4 -4 0 2 1 0 -8 -4 0 -4 -4 0 24 0 -2 0 4 4 4 -8 -2 0 0 -8 -8 -16 -4 -4 -8 -4 -4 0 8 8 0 4 -2 0 -2 0 -8 1 -8 -2 8 -4 -4 0 -8 0 4 10 4 4 -4 8 -12 0 -8 -8 0 -8 -16 -8 -4 -8 16 0 0 8 0 0 0 0 0 0 16 -8 -2 0 0 0 0 -4 0 -4 0 -4 -16 -8 -16 -8 -4 -8 -4 -8 0 -8 -4 -4 -12 0 0 -4 16 4 8 6 8 4 8 4 4 8 4 -8 0 0 0 0 0 0 8 0 -8 0 0 4 0 8 4 -8 0 -4 8 0 0 0 0 -8 0 0 -16 -16 0 -4 0 -8 0 -4 4 0 0 12 16 16 8 4 4 0 4 0 2 8 4 0 4 -4 -4 -8 -6 8 0 8 0 0 8 -8 4 0 8 4 -8 -4 8 -8 -4 2 4 12 8 8 0 0 4 4 4 0 -4 16 2 0 8 2 4 0 4 -4 -1 0 -4 -16 -8 -6 8 8 8 -2 0 -1 -4 0 -16 8 4 0 4 -4 0 -4 8 2 8 8 0 0 4 -8 0 -4 4 16 0 2 -4 8 -4 -8 4 0 4 -2 0 -8 -4 4 -4 0 0 -8 -6 -4 -1 -6 -1 +1 7 8 6 4 0 8 -4 -4 -12 4 -12 10 4 8 12 -4 -12 -8 10 1 16 8 4 -16 4 -4 16 -8 -8 2 8 4 -12 4 8 2 -16 8 -8 -8 -16 12 -4 -8 -4 4 16 -8 -8 -8 -4 2 8 2 16 -8 1 -8 -2 -8 -4 -4 -16 -8 8 -4 2 -4 -4 -4 24 12 -16 8 24 -8 -8 -16 -8 -4 -8 -16 0 0 -16 0 16 0 0 0 0 0 -8 -2 0 0 0 0 -4 0 -4 0 -4 0 -8 0 -8 -4 -8 -4 16 0 24 0 12 12 0 -16 -4 0 -4 -8 -2 -8 -4 -8 -4 0 24 -4 -8 0 0 0 0 0 0 8 0 8 0 0 -12 0 8 4 8 0 4 -24 0 0 0 0 -24 0 0 0 0 -16 4 16 16 0 0 4 0 0 -12 0 0 -16 0 4 0 4 0 2 8 4 0 4 4 4 8 2 8 0 8 0 -8 8 8 -12 -16 8 4 8 4 -24 -24 4 -2 4 -12 8 8 8 8 -4 4 4 -8 -4 16 2 16 8 -2 4 -16 4 4 -1 16 4 16 8 2 -8 8 8 -10 -16 -1 -4 16 16 -8 4 -8 12 12 -16 4 -8 -2 8 8 8 8 -4 -8 -8 -4 -4 16 16 -2 4 -8 -8 -8 -4 0 4 -10 -4 0 -4 12 12 0 -4 0 -6 -8 -1 -6 -1 +1 7 4 6 0 8 8 4 -4 4 0 4 2 4 -8 0 -4 4 -8 2 1 0 -8 4 0 -4 4 0 -8 -8 -2 0 4 -4 -4 -8 -2 0 0 0 0 16 -12 -4 -8 -4 -4 0 -8 -8 -8 4 -2 0 -2 0 8 1 0 6 -8 -4 4 0 8 0 -4 2 -4 4 4 8 -4 0 -8 -8 -8 8 16 0 -4 -8 -16 0 0 0 0 -8 0 0 0 0 0 8 6 0 0 0 0 -4 0 -4 -16 -4 0 -8 0 -8 4 8 4 0 0 -8 -4 -12 -4 0 8 -4 0 4 -8 -2 -8 -4 -8 -4 4 8 4 8 -16 0 16 0 16 0 -8 0 8 0 0 12 16 -8 -4 8 16 4 8 0 0 0 0 -8 -16 -16 0 0 8 -4 -8 0 0 -4 4 0 0 4 0 0 0 4 4 0 4 0 -6 -8 4 0 -4 4 -4 8 2 8 0 8 0 0 -8 8 12 0 -8 -4 8 4 8 -8 -4 2 4 4 0 0 8 8 4 4 4 0 -4 -16 -6 0 -8 2 4 0 -4 4 -1 0 -4 16 8 2 8 8 8 -2 0 -1 4 0 16 8 -4 0 -4 4 0 4 8 2 0 0 8 8 4 -8 0 -4 -4 -16 0 2 4 8 -4 -8 -4 -8 -4 -2 0 0 4 -4 4 -8 0 0 -6 -4 -1 -6 -1 +1 7 4 10 0 4 0 0 4 0 0 4 2 4 -8 8 0 0 -4 2 1 0 -8 4 0 -4 0 0 0 -4 2 0 -4 0 4 0 2 0 -8 -4 -4 0 4 -4 0 4 -4 0 -8 0 -4 4 2 0 2 0 -8 1 -4 -2 0 -4 0 0 0 -8 0 -6 0 -4 0 -16 4 0 0 -8 -4 0 0 -4 4 0 0 0 0 4 0 -4 0 0 0 0 -8 0 -2 0 0 0 0 -4 0 -4 8 4 8 0 8 0 0 0 0 -4 0 -8 4 4 4 0 4 4 -8 -4 -8 -2 0 0 0 0 -4 -16 4 -8 8 0 -8 0 -8 0 0 0 0 0 0 -4 -8 0 0 0 -8 0 8 0 0 0 0 16 8 8 8 8 4 -4 -4 -4 0 4 -4 0 0 -4 -8 -8 4 -4 4 0 4 0 2 8 -4 0 0 0 4 8 2 0 0 0 0 0 0 0 -4 0 0 0 0 0 8 16 -4 -2 -4 -4 4 4 4 4 4 4 4 8 4 0 2 0 8 -2 -4 0 0 0 -1 0 4 0 8 2 0 0 0 -2 0 -1 -4 0 0 0 0 0 0 0 0 0 8 -2 4 4 4 4 4 0 8 4 -4 0 0 -2 0 8 -4 0 -4 -4 0 -2 0 -4 -4 0 0 -4 0 -4 -6 -4 -1 -6 -1 +1 7 8 0 2 8 16 0 -8 0 -2 -8 8 8 0 0 0 0 -8 -8 3 16 0 -8 0 -4 0 16 -16 -8 2 8 4 0 -8 0 2 0 0 -8 -8 0 8 -16 -16 0 4 -16 -16 0 8 16 -2 -8 -2 -16 -16 -3 8 0 0 -16 0 0 0 0 0 -4 0 0 0 16 8 0 0 0 8 0 0 8 0 -16 0 -4 -4 8 0 8 -4 -32 -4 0 0 0 0 -16 -16 -16 -4 16 -16 16 0 0 0 16 0 16 0 0 0 8 4 0 8 -8 -8 -4 8 0 0 0 16 0 0 0 0 0 8 -16 -16 16 0 0 0 -16 0 4 0 0 0 16 0 8 0 0 0 0 0 0 0 16 16 16 16 16 0 0 0 0 -8 16 -8 -8 -4 -8 0 4 0 8 0 0 -8 -8 -16 4 -16 4 0 -16 0 4 0 0 0 -16 0 -16 4 -16 32 8 0 0 -8 16 0 0 0 0 0 -16 -16 2 0 -8 -8 -8 -8 -8 -4 16 16 0 4 0 0 0 16 2 0 16 0 0 3 0 0 0 16 0 0 16 16 8 -16 -3 8 0 0 0 0 -8 0 0 -16 0 0 -2 8 8 8 8 4 16 0 -4 8 0 0 -2 0 0 8 -16 -8 8 0 -8 2 8 -8 0 0 -8 -2 -8 8 -8 1 -8 -1 +1 7 0 10 4 4 -8 0 4 0 4 4 2 -4 16 -4 0 0 4 2 1 0 16 -4 -8 4 0 0 -16 4 -2 -8 -4 0 -4 0 -2 -8 0 4 4 -8 -4 4 0 -4 4 0 0 0 4 4 -2 -8 -2 0 0 1 4 -2 -8 4 0 -8 -8 0 0 -6 0 -4 0 -8 -4 -8 0 0 4 0 -8 4 -4 0 -8 0 0 4 0 -4 0 0 0 0 0 -8 -2 0 0 0 0 4 0 4 0 -4 0 0 0 0 0 0 0 -4 0 0 0 -4 -4 0 4 -4 0 -4 0 -2 -8 0 0 0 0 -8 4 0 0 0 0 0 0 0 8 0 8 0 0 4 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 4 -4 -4 -4 0 0 4 0 0 4 0 0 4 0 -4 0 -4 0 2 0 4 0 0 0 4 0 2 0 0 0 0 8 8 8 4 0 0 0 0 0 0 8 -4 2 4 4 -4 -4 -4 -4 -4 -4 -4 0 4 8 2 8 0 2 4 0 0 0 -1 8 4 8 0 2 0 0 0 -2 0 -1 4 8 8 0 0 8 0 0 0 0 -16 2 -4 -4 -4 -4 -4 8 0 4 4 8 8 2 0 -16 0 8 4 -4 0 -2 -4 -4 4 0 0 -4 -4 -4 -6 0 -1 -6 -1 +1 7 0 18 0 0 0 -4 12 0 0 12 -6 -12 0 12 0 0 12 -6 -3 -24 0 -12 24 0 -4 0 0 -12 6 0 0 12 12 0 -6 0 0 0 0 -24 -12 -12 24 -12 0 -24 0 -24 12 -12 6 0 -6 0 0 -3 0 -6 0 12 -12 24 0 0 0 -6 0 12 12 0 12 0 0 0 -12 0 -24 0 12 -24 0 -12 4 -12 0 0 0 0 12 0 -24 0 -6 -24 0 24 -4 12 0 -12 -24 -12 0 -24 24 24 -12 0 12 12 0 0 0 -12 12 0 0 12 0 12 0 -6 0 0 -24 0 0 0 -12 0 0 0 0 0 24 12 0 0 0 0 0 12 0 0 -12 24 24 0 0 -24 0 24 0 0 0 -24 0 24 0 12 0 12 0 0 -12 0 0 -12 0 -24 -12 0 -12 -4 12 4 6 0 12 0 12 0 -12 0 6 -24 -12 24 0 0 0 0 12 0 0 -12 24 0 0 0 12 -6 -12 -12 0 0 -12 12 0 -12 12 0 0 24 6 0 0 6 12 24 12 0 3 -24 -12 0 0 6 0 -24 24 6 24 3 -12 -24 0 0 4 0 0 -12 0 0 0 -6 0 0 -12 12 0 0 0 0 12 24 0 6 0 0 0 0 12 0 4 6 0 -12 -12 0 -12 0 0 -12 -6 0 -1 -6 -1 +1 7 0 14 0 4 0 0 12 4 0 4 -6 -4 0 4 4 4 -8 -6 -3 -16 0 -4 0 0 0 -8 8 8 2 0 0 0 4 0 -2 -8 0 4 -4 0 -4 12 -8 -4 0 -16 0 0 -8 -12 2 0 -2 -8 0 -3 4 2 0 -12 0 0 0 0 -4 2 -12 -4 0 0 4 -8 0 0 8 -8 0 -4 4 8 8 4 -4 -8 0 4 0 0 -4 0 0 0 2 16 -8 -16 4 -12 8 12 0 -4 8 8 0 -8 0 -8 0 8 0 0 0 -4 4 0 -4 4 -8 -4 0 2 0 -12 0 -4 0 0 -12 0 -8 0 8 0 0 -4 0 0 0 0 0 4 8 8 0 0 0 4 0 16 -8 -16 8 0 -8 0 8 0 -4 12 4 8 0 0 -4 0 0 -4 -8 0 -8 0 12 4 -12 -4 -2 0 4 0 0 12 4 0 -2 8 4 -8 0 0 0 0 4 8 8 0 0 4 0 0 12 -2 -4 -4 -4 4 8 -8 0 12 -12 0 0 0 -2 8 0 2 4 16 0 12 3 0 4 -8 0 -2 0 8 -8 6 16 3 -4 0 -8 0 0 0 -4 0 8 -4 0 -2 -4 4 8 -8 0 0 0 0 4 0 8 2 -4 0 0 0 4 -4 0 6 0 -8 -4 -4 0 -4 0 -8 -6 0 -1 -6 -1 +1 7 0 10 0 8 0 4 4 0 0 12 -6 4 0 -4 0 0 4 -6 -3 -8 0 4 -8 0 4 -16 0 -4 -2 0 0 4 -4 0 2 0 0 -8 8 8 4 -12 -8 4 0 -8 0 -8 4 -12 -2 0 2 -16 0 -3 -8 2 0 12 -4 -8 0 0 0 2 0 -4 -12 0 -4 0 0 0 -4 0 8 8 -4 8 0 4 4 -4 0 8 0 0 -4 0 8 0 2 -8 16 8 -4 12 -16 -12 8 4 0 8 -8 -8 -4 0 -12 4 0 0 0 4 -4 0 -8 -4 0 -4 0 2 0 0 -8 0 0 0 -12 0 0 0 0 0 -8 -4 0 0 0 0 0 -4 0 0 12 8 -8 0 0 -8 16 8 -16 0 0 8 0 -8 -8 12 8 4 0 0 4 0 0 4 0 8 -4 0 -12 -4 12 4 -2 0 -4 0 4 0 4 0 -2 8 4 -8 0 0 0 0 -4 16 0 12 8 0 0 0 12 2 4 4 8 -8 -4 4 0 -12 12 0 0 -8 -2 0 0 -2 -4 8 4 0 3 8 4 0 0 -2 0 8 -8 6 8 3 4 8 0 0 -4 0 0 -4 16 0 0 2 8 -8 -4 4 0 0 0 0 -4 -8 0 -2 0 0 0 0 -4 -8 -4 6 0 -4 4 0 -4 -8 0 -4 -6 0 -1 -6 -1 +1 7 4 4 2 8 8 0 -8 4 -2 0 0 0 8 4 -4 -4 4 0 -1 -8 -8 0 8 0 0 0 8 4 2 0 0 -8 -8 0 -2 0 0 0 0 -8 -8 0 0 -8 0 8 8 0 -4 -8 -2 0 2 0 -8 1 0 -4 8 0 -8 -8 -8 0 4 4 -4 0 0 -8 0 0 0 -8 -4 -8 8 0 8 0 -16 0 0 -4 8 -8 -4 0 0 -8 8 8 4 -8 0 -8 0 0 0 0 -8 8 0 0 8 0 8 8 0 -4 -4 8 -4 8 0 4 -8 -8 0 0 -8 -4 -8 4 0 -4 -4 8 8 8 -16 0 -16 0 -8 0 -8 8 8 0 0 -8 16 -8 0 0 8 4 -8 8 0 8 0 -8 16 8 0 -8 8 -8 8 4 4 4 8 -4 -8 0 0 -8 4 4 0 0 0 0 -4 -8 -8 4 -8 -4 0 8 4 0 0 0 0 0 8 -8 8 0 8 0 0 -4 8 8 8 2 -8 0 0 0 4 4 0 0 0 0 0 -8 4 0 8 -2 8 -8 8 4 -1 8 0 16 -8 -4 0 0 0 0 8 1 8 -8 -16 0 0 0 4 8 0 4 8 -2 0 0 -4 -4 0 8 0 0 0 8 0 2 -4 -8 4 -8 0 8 0 0 2 12 -8 -4 -8 -8 -2 -12 8 -4 1 -8 -1 +1 7 4 0 6 8 0 0 -8 0 -6 -8 8 0 32 -4 0 0 8 -8 3 16 -32 0 -16 12 0 16 -16 8 -2 -8 -4 0 0 8 -2 -16 8 8 8 -16 0 16 0 -16 -12 -16 0 0 -8 16 2 8 2 -16 0 -3 -8 -8 -32 16 0 16 -32 -8 0 -4 0 -16 0 0 0 16 -8 32 -8 0 16 -8 -16 0 16 -4 4 8 -24 8 -4 16 -4 -24 -16 32 8 16 16 16 4 -16 16 -16 -16 16 -16 0 -16 0 0 0 0 8 12 -32 4 0 0 -4 8 16 -16 16 0 8 32 0 0 0 4 0 -16 0 -16 -16 -16 -16 -16 4 -32 24 -32 16 16 0 16 0 0 0 16 0 32 -16 -16 -16 -16 0 16 16 16 16 -8 16 -8 -8 -12 -4 -16 4 24 0 16 16 -8 -4 16 -4 16 -4 -8 0 -16 4 0 0 -16 0 -8 0 4 0 -16 -8 32 32 0 16 0 0 0 0 -32 0 -16 -2 16 0 8 8 8 8 12 -16 -16 8 -4 -16 8 -16 0 -2 16 16 0 0 3 -16 16 -16 0 8 8 0 0 8 -16 -3 0 16 16 -8 0 8 0 0 -16 0 32 2 -8 -8 -8 -8 -12 0 -8 4 0 16 16 2 0 -32 4 0 0 8 0 -8 6 8 0 0 0 -8 -6 -8 8 -4 1 -8 -1 +1 7 0 6 0 12 0 0 -4 12 0 12 -6 12 0 -12 -4 12 0 -6 -3 0 0 12 0 0 0 -24 -24 0 -6 0 0 0 -12 0 6 24 0 12 -12 0 12 12 24 12 0 0 0 0 0 -12 -6 0 6 -24 0 -3 12 -6 0 -12 0 0 0 0 -12 -6 12 12 0 0 -12 24 0 0 0 -24 0 -12 -12 -24 -24 -12 -4 0 0 12 0 0 12 0 0 0 -6 0 -24 0 4 -12 24 12 0 12 -24 -24 0 24 0 -24 0 0 0 0 0 12 -12 0 -12 -12 24 12 0 -6 0 12 0 -12 0 0 -12 0 24 0 -24 0 0 12 0 0 0 0 0 -12 -24 24 0 0 0 12 0 0 -24 0 24 0 24 0 -24 0 -12 12 12 0 0 0 12 0 0 12 24 0 0 0 12 4 -12 -4 6 0 -12 0 0 -12 -12 0 6 -24 -12 24 0 0 0 0 -12 24 24 0 0 12 0 0 12 6 12 12 -12 12 0 0 0 12 -12 0 0 0 6 -24 0 -6 -12 0 0 -12 3 0 -12 24 0 6 0 -24 24 6 0 3 12 0 24 0 0 0 -12 0 24 4 0 6 -12 12 0 0 0 0 0 0 -12 0 -24 -6 4 0 0 0 -12 -12 0 6 0 0 12 -12 0 -12 0 0 -6 0 -1 -6 -1 +1 7 4 0 2 12 8 4 -8 8 -2 -8 0 8 8 -4 0 -8 0 0 -1 0 -8 -8 0 0 -4 -8 -16 0 -2 0 0 -4 0 0 2 8 0 4 4 16 0 0 0 8 0 0 -8 -8 0 -8 2 0 -2 8 8 1 -4 4 -8 0 4 0 8 0 -8 -4 0 0 -4 -8 -8 -8 0 -8 0 0 -16 -4 -8 0 8 0 0 -8 -8 -4 4 0 0 8 -16 -8 -4 0 -8 0 0 0 -8 0 0 -8 -8 0 -16 0 -4 0 4 -8 -4 8 -4 0 8 -4 -4 8 -8 0 8 4 8 0 8 8 -4 8 8 -8 8 0 8 0 0 0 8 -8 -8 0 0 0 -8 0 -4 -8 0 -8 -8 0 8 0 8 -8 -8 0 8 16 4 -8 4 8 4 4 -8 4 8 -8 8 16 8 4 0 0 0 0 4 8 8 -4 4 0 0 -8 -4 0 0 0 0 0 -8 8 0 -8 0 4 8 8 8 8 8 -2 8 8 4 4 0 0 0 0 0 0 0 16 -4 8 -8 2 -8 0 -4 0 -1 0 0 -8 8 4 0 0 0 0 0 1 0 0 8 0 4 0 8 4 8 0 8 2 -4 -4 0 0 0 8 0 0 8 -16 -8 -2 0 -8 4 -8 -8 12 -4 0 2 8 0 -8 -4 -12 -2 -8 8 -4 1 -8 -1 +1 5 4 12 -2 -8 16 -8 16 -8 -2 0 4 -8 -16 -4 8 -8 8 4 3 16 -16 -8 -16 -4 -8 -16 32 8 -2 -8 12 8 -8 -24 -2 16 8 -8 -8 -16 -8 8 -16 8 -4 16 16 16 8 8 -2 -8 -2 -16 16 3 -8 4 -16 8 8 -16 -16 8 -8 16 24 8 -24 16 -8 16 -24 -16 8 -16 -16 -8 8 -16 16 -4 4 8 8 -8 12 16 -4 8 -16 -16 4 16 -16 16 4 8 -16 8 -16 8 16 -16 -16 -16 8 -16 -24 8 -4 -16 4 -8 -8 12 -8 8 16 8 16 4 -16 24 16 -8 4 16 8 16 16 -16 16 -16 -16 -4 -16 8 -16 -16 -16 -8 16 -16 -24 16 -16 -8 -16 16 -16 16 -16 16 16 -16 16 -16 -8 8 -8 8 -4 4 8 12 8 -8 16 -16 8 4 8 4 8 4 4 16 8 12 8 24 8 16 4 -16 -4 -16 16 -8 -16 -16 -8 -16 -16 -24 16 -8 -16 16 8 -2 8 -8 -8 -8 8 8 -4 8 8 8 12 -16 4 16 16 -2 8 16 8 24 3 -16 8 16 16 4 -24 -16 -16 4 16 3 -8 -16 16 -24 -8 -8 -8 8 -16 8 -16 -2 -8 -8 8 8 -4 16 8 12 -8 -16 16 -2 8 -16 4 16 -8 -8 -8 4 -2 8 -8 -8 8 -8 -2 8 4 4 1 4 1 +1 5 4 4 2 -4 0 -4 0 -8 2 -8 4 0 0 4 0 -8 0 4 -1 0 0 0 -8 0 -4 8 0 0 -2 0 0 -4 0 0 2 0 0 -4 -4 -8 0 0 0 8 0 0 0 8 0 -8 -2 0 2 8 0 -1 -4 0 0 0 -4 -8 0 0 8 0 0 0 4 0 0 0 0 0 0 0 -8 -4 -8 0 0 0 0 0 -8 -4 4 0 0 8 8 0 0 0 8 0 0 0 8 0 8 8 0 0 8 0 -4 0 4 0 -4 0 -4 0 0 -4 -4 -8 0 0 0 0 0 0 8 8 -4 0 -8 0 0 0 0 0 8 0 0 8 0 0 0 0 0 0 4 8 8 8 0 0 8 0 8 0 0 8 0 8 -4 -8 -4 0 -4 -4 -8 -4 -8 0 0 8 0 -4 0 0 0 0 0 0 8 4 -4 0 0 0 0 0 0 0 0 0 0 0 0 8 0 4 8 8 0 0 -8 -2 -8 0 -4 -4 0 0 0 0 0 0 0 -8 0 0 0 2 8 0 -4 0 -1 -8 0 0 0 0 0 0 0 4 0 -1 0 -8 0 0 -4 0 -8 -4 8 0 0 -2 -4 -4 0 0 0 0 0 0 0 -8 0 2 0 0 4 0 0 -4 -4 4 2 0 0 -8 -4 -4 2 0 4 4 1 4 1 +1 5 4 4 -2 0 0 0 0 0 -2 0 4 0 -16 4 0 0 0 4 3 0 -16 0 0 -4 0 0 0 0 -2 8 -4 0 0 -8 -2 0 -8 0 0 0 0 8 0 -8 -4 0 0 0 0 8 -2 8 -2 0 0 3 0 -4 16 8 0 0 16 -8 0 -8 0 -8 0 0 0 0 -8 -16 0 0 0 0 -8 0 0 -4 4 0 -8 0 -4 16 -4 -8 0 16 -4 0 0 0 4 8 0 8 0 -8 0 0 0 0 0 0 0 0 -4 -16 4 0 0 -4 0 -8 0 -8 0 -4 16 0 0 0 4 0 8 0 0 16 0 16 0 -4 16 -8 16 16 16 0 0 0 0 0 0 0 -16 0 0 0 0 0 0 0 0 0 0 8 0 0 -4 4 -8 -4 -8 0 0 0 0 4 8 4 8 4 -4 0 -8 -4 0 0 -8 0 -4 0 -4 0 16 8 16 16 0 0 0 0 0 0 -16 0 8 -2 -8 0 0 0 0 0 -4 8 8 -8 -4 0 -4 0 0 -2 -8 0 0 0 3 0 -8 0 0 -4 -8 0 0 4 0 3 0 0 0 -8 0 8 0 0 0 0 -16 -2 0 0 0 0 -4 0 -8 -4 0 0 0 -2 0 -16 4 0 0 0 0 4 -2 0 0 0 0 0 -2 0 4 4 1 4 1 +1 5 0 4 2 0 0 0 0 0 2 0 4 -8 0 -8 0 0 0 4 3 0 0 -8 0 -4 0 0 0 0 -6 -8 4 0 -8 0 -6 0 0 0 0 0 -8 -8 16 -8 -4 0 0 0 0 8 -6 -8 -6 0 0 3 0 4 0 -8 0 0 0 0 0 8 0 8 0 0 -8 0 0 0 0 0 0 0 -8 16 0 12 -4 0 0 0 -4 0 12 0 0 0 4 0 0 0 -4 -8 0 -8 0 -8 0 16 0 16 0 0 0 0 4 0 0 -8 -8 -4 0 -8 0 8 0 4 0 0 0 0 0 0 8 0 0 0 0 16 0 12 0 0 0 16 0 -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 4 0 -8 -4 0 -8 0 0 0 0 -8 -4 -8 -4 4 0 -8 -4 0 0 8 0 4 16 12 16 0 -8 0 0 -8 0 0 0 0 0 0 0 8 -6 -8 -8 0 0 0 0 -4 -8 -8 0 4 0 4 0 0 -6 -8 0 0 0 3 0 8 0 0 4 0 16 16 4 0 3 -8 0 0 0 0 -8 0 0 0 0 0 -6 0 0 0 0 -4 0 0 4 -8 0 0 -6 0 0 0 0 -8 0 0 4 2 0 -8 0 0 0 2 0 4 0 1 4 1 +1 5 0 12 -2 -4 0 -4 8 0 -2 0 -4 -8 -8 8 0 0 0 -4 -1 -8 -8 -8 8 0 -4 0 0 -8 2 0 0 4 8 0 -2 0 0 4 -4 -8 0 0 8 0 0 -8 -8 -8 0 0 2 0 -2 0 8 -1 4 0 0 0 4 8 0 0 0 0 0 0 4 0 0 0 0 8 -8 0 -8 -4 0 -8 0 0 0 0 0 4 4 0 0 0 0 0 0 8 0 8 0 0 0 0 0 0 -8 -8 0 8 4 0 4 0 4 8 0 0 0 -4 4 0 -8 0 -8 0 0 0 -8 0 0 0 0 8 8 0 8 0 0 0 0 0 0 0 0 0 8 0 4 -8 0 0 8 8 0 8 0 0 8 0 -8 0 4 0 4 0 4 0 0 -4 0 0 -8 0 0 0 0 0 0 0 0 8 0 4 4 0 0 -8 0 8 0 -8 0 0 0 0 0 0 0 4 -8 0 8 0 0 2 0 0 4 -4 0 -8 0 0 0 0 0 -8 0 0 8 -2 0 -8 4 0 -1 8 0 0 -8 0 0 8 -8 -4 -8 -1 8 8 0 0 -4 0 0 4 0 0 -8 2 4 -4 0 -8 0 0 0 0 -8 -8 0 -2 0 -8 0 0 -8 -4 -4 -4 -2 8 8 0 4 -4 -2 8 4 0 1 4 1 +1 5 0 8 -2 0 0 0 8 -4 -2 0 -4 0 -8 0 4 -4 -4 -4 -1 0 -8 0 0 0 0 -8 8 4 -2 0 0 0 0 0 2 -8 0 -8 0 0 8 0 -8 0 0 0 8 0 -4 0 -2 0 2 -8 -8 -1 -8 0 0 0 0 0 0 0 -4 0 -4 0 0 0 -8 -8 0 8 4 8 0 0 0 8 8 0 0 -4 0 8 -4 0 0 0 -8 0 0 0 8 0 0 0 8 0 8 0 0 8 -8 -8 0 8 0 -4 4 8 0 8 -8 4 8 0 0 0 8 0 0 -4 0 -4 0 0 0 -8 0 0 0 0 8 0 0 0 0 0 0 8 0 8 0 0 8 -4 8 0 8 0 8 0 0 8 0 -8 8 0 8 -4 4 0 0 4 0 -8 0 -8 -4 0 0 0 0 0 0 -8 0 -4 0 -4 0 8 0 -8 0 8 0 0 0 0 8 -8 8 0 0 -4 8 0 0 -2 0 -8 -8 0 -4 4 0 0 0 0 0 0 0 -8 -8 2 0 0 0 -4 -1 0 0 8 8 0 0 -8 8 -4 0 -1 0 0 8 0 0 0 -4 0 -8 4 -8 -2 -8 0 -4 4 0 0 0 0 0 0 -8 2 4 -8 0 0 0 0 0 -4 -2 4 0 -4 0 0 -2 4 4 0 1 4 1 +1 5 4 2 0 0 8 -4 -4 -4 0 4 2 -4 -8 0 -4 4 0 -2 1 0 8 4 0 -4 4 0 8 0 -2 0 4 -4 -4 -8 -2 0 0 -8 -8 -16 -4 -4 -8 -4 4 0 8 8 0 4 2 0 2 0 -8 -1 8 -2 8 -4 -4 0 -8 0 4 2 4 4 -4 8 -12 0 8 -8 0 -8 16 8 -4 -8 -16 0 0 8 0 0 0 0 0 0 16 8 2 0 0 0 0 4 0 4 0 4 -16 8 -16 8 4 8 4 -8 0 8 -4 4 12 0 0 4 16 -4 -8 -6 -8 -4 -8 -4 4 -8 -4 8 0 0 0 0 0 0 8 0 -8 0 0 4 0 8 4 -8 0 -4 8 0 0 0 0 -8 0 0 16 16 0 -4 0 8 0 4 4 0 0 12 -16 -16 -8 -4 4 0 4 0 2 8 4 0 4 -4 -4 -8 -6 8 0 8 0 0 -8 8 -4 0 -8 -4 8 4 -8 8 4 2 -4 -12 8 8 0 0 4 -4 -4 0 -4 16 -2 0 -8 2 -4 0 -4 4 -1 0 4 -16 8 6 8 -8 -8 -2 0 1 -4 0 16 -8 4 0 4 -4 0 -4 8 -2 -8 -8 0 0 -4 -8 0 4 4 -16 0 -2 4 -8 -4 8 -4 0 -4 2 0 -8 4 -4 4 0 0 8 -6 4 -1 6 1 +1 5 12 -4 6 -8 16 -8 -16 -24 6 -32 4 8 16 20 -8 -24 -8 4 3 -16 16 8 -16 12 -8 -16 0 -8 6 24 12 -24 8 24 6 -16 24 -8 -8 -16 8 8 16 8 12 -16 16 -48 -8 8 6 24 6 -16 16 3 -8 4 16 8 -24 -16 16 24 -24 16 -24 8 -24 16 8 -16 24 16 -8 -48 -16 -8 8 16 -16 12 4 -8 24 -8 12 48 12 24 -16 16 4 -16 -16 -16 4 8 -16 8 -16 8 -16 16 -16 16 -24 -48 -24 -8 12 16 12 8 8 12 -8 8 -16 8 16 4 16 -24 -48 -24 12 16 8 16 -16 16 -16 48 -16 12 16 24 16 48 16 8 -16 -48 -24 -48 -16 -24 16 -16 -16 -16 -16 16 -16 -16 -16 -16 -8 8 -8 -8 12 12 8 12 24 8 -16 -16 -8 12 8 4 8 4 4 16 8 12 -24 -24 8 16 4 16 12 16 48 24 16 16 8 -16 -48 -24 -48 -24 16 16 8 6 8 8 -8 -8 -8 -8 12 8 8 24 12 -16 4 -16 16 6 8 -16 -24 -24 3 -16 8 -16 16 4 24 16 16 4 -16 3 8 -16 -16 24 -8 24 -24 -24 -16 -8 16 6 -8 -8 -8 -8 12 16 24 12 8 -16 -16 6 -8 16 12 16 8 -8 -8 4 6 -8 8 -24 -24 -8 6 -8 4 12 1 4 1 +1 5 4 0 2 0 0 0 -8 -4 2 -8 4 0 0 4 -4 -4 -4 4 -1 8 0 0 0 0 0 0 -8 -4 2 0 0 -8 0 0 -2 -8 0 0 0 0 0 0 0 -8 0 8 0 0 -4 -8 2 0 -2 0 0 -1 0 0 0 0 8 0 0 0 -4 0 4 0 0 0 0 -8 0 0 -4 8 0 0 8 0 -8 0 0 -4 8 0 -4 0 0 -8 0 0 0 8 0 8 0 0 0 0 0 -8 8 0 0 0 8 8 0 -4 -4 0 -4 0 0 4 0 8 8 0 0 0 0 4 0 -4 -4 0 -8 0 8 0 8 0 0 0 0 -8 0 0 0 0 8 8 0 0 0 -4 0 8 0 8 0 0 8 0 8 0 0 -8 0 -4 -4 -4 8 4 8 0 8 0 -4 -4 0 0 0 0 0 0 -8 -4 8 4 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 -4 0 0 -8 2 8 0 0 0 -4 -4 0 0 0 0 0 0 0 -8 0 -2 -8 8 8 4 -1 0 0 -8 0 0 0 0 0 4 8 -1 0 0 -8 0 0 0 -4 -8 0 -4 0 2 0 0 -4 -4 0 0 0 0 0 0 -8 -2 -4 0 4 0 0 0 0 4 2 -4 0 -4 -8 0 2 -4 4 4 1 4 1 +1 5 8 -6 4 0 8 -4 -4 -12 -4 -12 10 4 8 -4 4 12 -8 -10 1 16 -8 -4 -16 4 4 16 -24 -8 2 8 4 12 -4 8 2 -16 8 -8 -8 -16 12 -4 -8 -4 -4 -16 -8 -8 8 -4 -2 -8 -2 -16 -8 -1 8 -2 -8 -4 -4 16 -8 -8 -4 -6 -4 -4 -4 24 12 16 -8 24 8 -8 16 8 -4 -8 16 0 0 -16 0 16 0 0 0 0 0 8 2 0 0 0 0 4 0 4 0 4 0 8 0 8 4 8 4 16 0 -24 0 -12 -12 0 -16 4 0 4 8 2 8 4 8 4 0 -24 4 8 0 0 0 0 0 0 8 0 8 0 0 -12 0 8 4 8 0 4 -24 0 0 0 0 -24 0 0 0 0 16 4 -16 -16 0 0 4 0 0 -12 0 0 16 0 4 0 4 0 2 8 4 0 4 4 4 8 2 8 0 8 0 -8 -8 -8 12 -16 -8 -4 -8 -4 24 24 -4 -2 -4 12 8 8 8 8 -4 -4 -4 -8 -4 16 -2 16 -8 -2 -4 -16 -4 -4 -1 16 -4 16 -8 -2 -8 -8 -8 -10 16 1 -4 -16 -16 8 4 8 12 12 16 4 -8 2 -8 -8 -8 -8 4 -8 8 4 -4 -16 -16 2 -4 8 -8 8 4 0 -4 10 -4 0 4 -12 -12 0 4 0 -6 8 -1 6 1 +1 5 4 -4 -2 8 16 8 -16 8 -2 0 4 -8 -16 -4 -8 8 -8 4 3 -16 -16 -8 16 -4 8 16 0 -8 -2 -8 12 -8 -8 -24 -2 -16 8 8 8 16 -8 8 -16 8 -4 -16 16 -16 -8 8 -2 -8 -2 16 16 3 8 4 -16 8 -8 16 -16 8 8 16 -24 8 24 16 -8 -16 -24 -16 -8 16 16 8 8 -16 -16 -4 4 -8 8 8 12 16 -4 8 16 -16 4 -16 16 -16 4 8 16 8 16 8 -16 -16 16 -16 -8 16 24 -8 -4 -16 4 -8 -8 12 8 8 -16 8 16 4 -16 -24 -16 8 4 16 8 16 -16 -16 -16 -16 16 -4 -16 8 -16 -16 -16 -8 -16 16 24 -16 16 8 -16 -16 16 -16 16 16 -16 16 -16 16 8 8 8 -8 -4 4 8 12 8 -8 -16 16 -8 4 8 4 8 4 4 16 8 12 -8 -24 8 16 4 -16 -4 -16 16 -8 -16 -16 -8 16 16 24 -16 8 -16 16 8 -2 8 -8 8 8 -8 -8 -4 8 8 8 12 16 4 -16 16 -2 8 -16 -8 -24 3 16 8 -16 16 4 -24 -16 -16 4 -16 3 -8 16 -16 -24 8 -8 8 -8 16 -8 -16 -2 8 8 -8 -8 -4 16 8 12 -8 16 -16 -2 -8 -16 4 16 -8 8 8 4 -2 -8 -8 8 -8 8 -2 -8 4 4 1 4 1 +1 5 0 4 -2 4 0 4 0 0 -2 0 -4 0 -8 0 0 0 -8 -4 -1 -8 -8 0 -8 0 4 0 0 0 2 0 0 -4 0 0 -2 0 0 -4 4 8 -8 0 -8 0 0 -8 -8 8 -8 0 2 0 -2 0 8 -1 -4 0 0 0 -4 -8 0 0 0 0 0 0 -4 0 8 0 0 8 0 0 8 4 0 8 0 0 0 8 0 -4 4 0 0 0 0 0 0 8 0 8 0 0 0 0 0 0 8 8 0 -8 -4 0 -4 8 4 8 0 -8 8 -4 -4 0 8 0 -8 0 0 0 8 0 0 0 0 8 -8 0 -8 0 0 0 0 0 0 0 0 -8 -8 0 -4 8 0 0 8 8 0 8 0 0 -8 0 8 0 -4 0 -4 8 4 0 0 -4 0 8 8 0 8 0 0 0 0 0 0 8 0 4 -4 0 0 -8 0 -8 0 8 0 0 0 0 -8 0 0 -4 8 0 8 0 0 2 0 8 -4 4 -8 0 0 0 0 0 0 8 0 0 8 -2 0 -8 -4 0 -1 -8 0 0 -8 0 0 -8 8 -4 -8 -1 0 -8 0 0 4 0 0 -4 0 0 -8 2 -4 4 -8 0 0 0 0 0 0 8 0 -2 0 -8 0 0 0 4 4 -4 -2 0 0 0 -4 4 -2 0 4 0 1 4 1 +1 5 0 0 -2 8 0 0 -8 4 -2 8 -4 8 -8 -8 -4 4 4 -4 -1 0 -8 8 0 0 0 -8 -8 -4 -2 0 0 0 -8 0 2 8 0 0 -8 0 0 0 8 0 0 0 8 0 4 0 -2 0 2 -8 -8 -1 0 0 0 0 0 0 0 0 4 0 4 0 0 0 0 8 0 8 -4 -8 0 -8 0 -8 -8 0 0 4 0 0 -4 0 0 0 8 0 0 0 8 0 0 0 8 0 -8 0 0 -8 8 8 0 -8 0 4 4 8 0 0 0 4 0 0 0 0 8 0 0 4 0 4 0 0 0 -8 0 0 0 0 -8 0 0 0 0 0 0 0 0 -8 0 0 -8 4 8 0 8 0 8 0 0 -8 0 8 0 0 0 4 4 0 0 4 0 0 0 8 4 0 0 0 0 0 0 -8 0 -4 0 4 0 8 0 8 0 -8 0 0 0 0 0 -8 -8 0 0 4 8 0 0 -2 0 0 0 -8 4 -4 0 0 0 0 0 0 0 8 -8 2 0 0 0 4 -1 0 0 -8 8 0 0 8 -8 -4 0 -1 -8 0 -8 0 0 0 4 0 -8 -4 -8 -2 0 -8 4 -4 0 0 0 0 8 0 8 2 -4 -8 0 0 8 8 0 -4 -2 -4 -8 4 0 8 -2 -4 4 0 1 4 1 +1 5 4 -6 0 8 8 4 -4 4 0 -12 2 4 -8 -8 4 -4 -8 -2 1 0 8 -4 0 -4 -4 0 -24 -8 -2 0 4 4 4 -8 -2 0 0 0 0 16 -12 -4 -8 -4 4 0 -8 -8 8 4 2 0 2 0 8 -1 0 6 -8 -4 4 0 8 0 -4 -6 -4 4 4 8 -4 0 8 -8 8 8 -16 0 -4 -8 16 0 0 0 0 -8 0 0 0 0 0 -8 -6 0 0 0 0 4 0 4 -16 4 0 8 0 8 -4 -8 -4 0 0 8 -4 12 4 0 8 4 0 -4 8 2 8 4 8 4 4 -8 -4 -8 -16 0 16 0 16 0 -8 0 8 0 0 12 -16 -8 -4 8 -16 4 8 0 0 0 0 -8 16 16 0 0 -8 -4 8 0 0 4 4 0 0 4 0 0 0 -4 4 0 4 0 -6 -8 4 0 -4 4 -4 8 2 8 0 8 0 0 8 -8 -12 0 8 4 -8 -4 -8 8 4 2 -4 -4 0 0 8 8 4 -4 -4 0 -4 -16 6 0 8 2 -4 0 4 -4 -1 0 4 16 -8 -2 8 -8 -8 -2 0 1 4 0 -16 -8 -4 0 -4 4 0 4 8 -2 0 0 -8 -8 -4 -8 0 4 -4 16 0 -2 -4 -8 -4 8 4 -8 4 2 0 0 -4 4 -4 8 0 0 -6 4 -1 6 1 +1 5 4 4 -2 0 -16 0 0 0 -2 0 4 8 -16 12 0 0 0 4 3 0 -16 8 0 -4 0 0 -16 0 6 -8 -4 0 8 8 6 0 -24 0 0 0 8 8 16 8 -4 0 -16 0 0 8 6 -8 6 0 -16 3 0 4 -16 8 0 0 -16 -24 0 0 0 8 0 -16 8 0 8 -16 0 0 0 0 8 16 0 12 4 0 8 0 -4 16 12 8 0 -16 4 0 0 0 4 8 0 8 0 8 0 16 0 16 0 0 0 0 -4 -16 4 8 8 -4 0 8 0 8 -16 4 -16 0 0 0 4 -16 8 -16 0 -16 0 -16 0 12 -16 8 -16 -16 -16 8 0 0 0 0 0 0 -16 0 0 0 0 -16 0 0 0 0 0 8 0 0 -4 4 8 -4 8 8 0 0 0 4 8 4 8 4 4 -16 8 -4 0 0 8 -16 4 16 12 16 16 -8 -16 -16 8 0 0 0 0 0 -16 -16 8 6 8 8 0 0 0 0 -4 8 8 -24 -4 0 4 0 -16 6 8 0 0 0 3 0 8 0 -16 4 8 16 16 4 0 3 8 0 0 8 0 -8 0 0 0 0 -16 6 0 0 0 0 -4 -16 -24 -4 8 0 0 6 0 -16 4 -16 8 0 0 4 -2 0 8 0 0 0 -2 0 4 4 1 4 1 +1 5 0 4 2 0 -16 0 0 0 2 0 4 0 0 0 0 0 0 4 3 0 0 0 0 -4 0 0 -16 0 2 -8 -12 0 0 0 2 0 0 0 0 0 0 -8 0 8 -4 0 16 0 0 8 2 -8 2 0 16 3 0 -4 0 -8 0 0 0 0 0 -16 0 -8 0 -16 0 0 0 0 0 0 0 0 8 0 0 -4 -4 0 0 0 12 0 -4 0 0 0 -4 0 0 0 -4 -8 0 -8 0 8 0 0 0 0 0 0 0 0 4 0 0 0 0 12 0 8 0 -8 16 -4 0 0 0 0 0 -16 8 16 0 0 0 16 0 -4 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 -16 0 0 0 0 0 8 0 0 4 0 8 12 0 0 0 0 0 0 -8 -4 -8 -4 -4 16 8 12 0 0 -8 16 -4 0 -4 0 0 -8 0 0 0 0 0 0 0 0 0 -16 8 2 8 0 0 0 0 0 -4 -8 -8 0 -12 0 -4 0 16 2 8 0 0 0 3 0 -8 0 16 -4 0 0 0 4 0 3 0 0 0 0 0 -8 0 0 0 0 0 2 0 0 0 0 -4 -16 0 -12 0 0 0 2 0 0 0 -16 0 0 0 4 2 0 0 0 0 0 2 0 4 0 1 4 1 +1 5 4 -2 0 4 0 0 -4 0 0 -4 2 4 -8 0 0 0 -4 -2 1 0 8 -4 0 -4 0 0 0 -4 2 0 -4 0 -4 0 2 0 -8 -4 -4 0 4 -4 0 4 4 0 -8 0 4 4 -2 0 -2 0 -8 -1 4 -2 0 -4 0 0 0 8 0 2 0 -4 0 -16 4 0 0 -8 4 0 0 4 4 0 0 0 0 4 0 -4 0 0 0 0 -8 0 2 0 0 0 0 4 0 4 8 -4 8 0 8 0 0 0 0 -4 0 8 4 -4 -4 0 4 -4 -8 4 8 2 0 0 0 0 -4 16 -4 8 8 0 -8 0 -8 0 0 0 0 0 0 -4 8 0 0 0 8 0 8 0 0 0 0 16 -8 -8 -8 -8 -4 -4 4 4 0 -4 -4 0 0 -4 8 8 -4 4 4 0 4 0 2 8 -4 0 0 0 4 8 2 0 0 0 0 0 0 0 4 0 0 0 0 0 -8 -16 4 -2 4 4 4 4 4 4 4 -4 -4 8 4 0 -2 0 -8 -2 4 0 0 0 -1 0 -4 0 -8 -2 0 0 0 -2 0 1 -4 0 0 0 0 0 0 0 0 0 8 2 -4 -4 -4 -4 -4 0 -8 -4 -4 0 0 2 0 -8 -4 0 4 -4 0 2 0 -4 4 0 0 4 0 4 -6 4 -1 6 1 +1 5 -4 4 6 0 -16 0 0 0 6 0 4 -8 16 -12 0 0 0 4 3 0 16 -8 0 12 0 0 -16 0 -2 -8 -4 0 -8 -8 -2 0 -8 0 0 0 -8 8 -16 8 12 0 -16 0 0 8 -2 -8 -2 0 -16 3 0 4 16 8 0 0 16 -8 0 0 0 8 0 -16 -8 0 -8 16 0 0 0 0 8 -16 0 -4 4 0 24 0 -4 -16 -4 24 0 16 4 0 0 0 4 8 0 8 0 8 0 -16 0 -16 0 0 0 0 12 16 -4 -8 -8 -4 0 8 0 8 -16 4 16 0 0 0 -4 -16 8 -16 0 16 0 -16 0 -4 16 24 16 -16 16 -8 0 0 0 0 0 0 16 0 0 0 0 -16 0 0 0 0 0 8 0 0 12 -4 8 -4 24 -8 0 0 0 -4 8 4 8 4 4 -16 8 -4 0 0 8 -16 4 -16 -4 -16 -16 -8 16 16 -8 0 0 0 0 0 16 -16 8 -2 8 -8 0 0 0 0 12 8 8 -8 -4 0 4 0 -16 -2 8 0 0 0 3 0 8 0 -16 4 -8 -16 -16 4 0 3 -8 0 0 -8 0 -8 0 0 0 0 16 -2 0 0 0 0 12 -16 -8 -4 -8 0 0 -2 0 16 -4 -16 -8 0 0 4 6 0 -8 0 0 0 6 0 4 -4 1 4 1 +1 5 -4 8 2 0 -8 0 0 -4 2 8 -4 -8 8 -4 -4 -4 12 -4 -1 -8 8 -8 8 0 0 0 -24 -4 2 0 0 8 0 0 -2 0 0 -8 8 -8 0 -8 0 0 0 -8 8 0 12 0 2 0 -2 0 -8 -1 -8 0 -8 8 -8 8 8 0 -4 -8 4 8 0 8 8 0 0 -8 -4 8 -8 8 0 0 -16 0 0 4 -8 0 -4 0 0 8 -8 8 0 -8 0 -8 0 8 0 -8 8 0 16 0 -8 0 -8 8 0 4 -4 -8 4 0 8 4 0 0 16 8 8 -8 -8 4 0 -4 4 8 0 -8 0 0 0 0 8 0 8 8 -8 0 0 0 0 8 0 0 8 -4 -8 -8 0 -8 0 8 0 8 16 -8 0 0 0 4 -4 4 0 4 -8 8 16 -8 4 4 8 0 -8 0 0 -8 0 -4 -8 4 8 8 -8 0 0 0 0 0 8 -8 0 0 8 0 0 -4 -8 8 0 2 0 8 -8 8 12 -4 0 8 -8 0 0 -8 0 0 -8 -2 0 -8 -8 4 -1 8 8 -16 8 -8 0 0 0 -4 -8 -1 0 8 -16 0 0 0 -4 8 0 -4 8 2 -8 8 12 -4 0 -8 0 0 -8 -8 0 -2 -4 8 -4 -8 -8 0 0 -4 2 4 0 -4 8 0 2 4 4 -4 1 4 1 +1 5 -4 8 2 0 -8 0 8 4 2 -8 -4 -8 8 -4 4 4 -4 -4 -1 -8 8 -8 -8 0 0 0 -8 12 2 0 0 -8 0 0 -2 -16 0 8 -8 8 0 8 0 0 0 -8 8 0 -4 0 2 0 -2 0 -8 -1 8 8 -8 -8 8 -8 8 0 4 0 -4 -8 0 8 8 -16 0 -8 12 -8 8 -8 0 0 0 0 0 4 -8 0 -4 0 0 8 8 8 8 -8 0 -8 0 -8 0 8 -8 0 0 0 8 0 8 -8 0 4 -4 -8 4 0 8 4 0 0 0 -8 8 0 -8 -4 0 4 4 8 0 -8 16 0 16 0 -8 0 8 8 -8 0 0 0 16 -8 0 0 -8 4 -8 -8 0 -8 0 8 16 -8 0 8 0 0 0 4 -4 4 0 4 -8 8 0 8 4 4 -8 0 8 0 8 -8 0 -4 8 -4 -8 8 0 0 0 0 0 0 8 -8 0 0 -8 0 0 4 -8 8 0 2 0 8 8 -8 -4 12 0 -8 8 0 0 8 8 -16 -8 -2 0 -8 8 -4 -1 -8 -8 0 8 0 0 0 0 -4 -8 -1 0 -8 0 0 0 0 4 -8 0 4 8 2 8 -8 -4 12 0 -8 0 0 -8 8 -16 -2 4 8 -4 -8 -8 0 0 -4 2 4 0 4 -8 0 2 4 4 -4 1 4 1 +1 5 -4 4 2 4 -8 -4 0 8 2 0 -4 0 8 -12 0 8 -8 -4 -1 0 8 0 0 0 -4 -8 -16 8 -2 0 0 -4 -8 0 2 8 0 12 -4 -16 8 8 0 0 0 0 -8 8 -8 0 -2 0 2 -8 8 -1 12 -8 8 -8 -4 0 -8 0 -8 0 0 8 4 8 0 8 0 -8 8 0 -16 -4 0 0 -8 0 0 0 8 4 4 0 0 -8 0 -8 -8 0 -8 0 0 -8 -8 8 16 0 8 0 0 0 -4 0 4 0 -4 -8 4 8 0 -4 4 0 8 8 -8 0 8 0 8 -8 4 8 0 8 -8 0 -8 0 16 0 -8 -8 8 0 0 8 -8 0 4 8 16 -8 -8 0 -8 0 -8 8 -8 16 8 0 4 0 4 0 -4 4 0 -4 8 0 8 0 0 4 -8 0 8 0 -8 8 0 4 -4 0 8 -8 0 0 0 0 0 0 -8 8 8 -8 0 4 8 -8 -8 8 0 -2 0 0 12 -4 -8 8 0 -8 8 0 0 -16 -8 8 8 2 0 0 -4 0 -1 0 8 -8 -8 0 0 0 0 -4 0 -1 -8 0 -8 0 -4 0 8 -4 -8 0 8 -2 12 -4 -8 8 0 -8 0 0 0 -16 8 2 0 8 -4 -8 0 4 -4 -4 2 0 -8 8 -4 4 2 0 4 -4 1 4 1 +1 5 -4 4 2 4 -8 4 0 -8 2 8 -4 0 8 -12 0 -8 8 -4 -1 0 8 0 -16 0 4 -8 0 -8 -2 0 0 4 -8 0 2 -8 0 -4 12 0 8 -8 0 0 0 0 -8 -8 8 0 -2 0 2 -8 8 -1 -4 0 8 8 4 -16 -8 0 8 8 0 -8 -4 8 0 -8 0 -8 -8 0 0 12 0 0 8 0 0 0 8 4 4 0 0 -8 16 -8 0 0 -8 0 0 8 -8 -8 0 0 -8 0 16 0 4 0 -4 0 -4 -8 4 8 0 -4 4 0 -8 -8 -8 8 8 0 -8 8 4 8 0 8 8 0 8 0 0 0 -8 -8 8 0 0 8 8 0 -4 -8 0 8 -8 0 -8 0 -8 8 8 0 -8 16 4 0 4 0 -4 4 0 -4 8 0 -8 16 0 4 8 0 -8 0 0 8 0 4 4 0 -8 -8 8 0 0 0 0 0 -8 8 8 -8 0 -4 -8 8 -8 8 0 -2 0 0 -4 12 8 -8 0 8 -8 0 0 0 0 -8 8 2 0 0 4 0 -1 -16 -8 8 -8 8 0 0 0 -4 0 -1 -8 -16 8 0 4 0 -8 4 -8 0 8 -2 -4 12 8 -8 0 -8 0 0 0 0 -8 2 0 8 -4 -8 0 4 4 -4 2 0 -8 -8 4 4 2 0 4 -4 1 4 1 +1 5 0 -2 4 4 -8 0 -4 0 -4 -4 2 -4 16 -4 0 0 4 -2 1 0 -16 4 -8 4 0 0 0 4 -2 -8 -4 0 4 0 -2 -8 0 4 4 -8 -4 4 0 -4 -4 0 0 0 -4 4 2 8 2 0 0 -1 -4 -2 -8 4 0 8 -8 0 0 2 0 -4 0 -8 -4 8 0 0 -4 0 8 -4 -4 0 8 0 0 4 0 -4 0 0 0 0 0 8 2 0 0 0 0 -4 0 -4 0 4 0 0 0 0 0 0 0 -4 0 0 0 4 4 0 4 4 0 4 0 2 8 0 0 0 0 8 -4 0 0 0 0 0 0 0 8 0 8 0 0 4 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 -4 -4 4 4 0 0 4 0 0 4 0 0 -4 0 -4 0 -4 0 2 0 4 0 0 0 4 0 2 0 0 0 0 8 -8 -8 -4 0 0 0 0 0 0 -8 4 2 -4 -4 -4 -4 -4 -4 -4 4 4 0 4 8 -2 8 0 2 -4 0 0 0 -1 8 -4 8 0 -2 0 0 0 -2 0 1 4 -8 -8 0 0 -8 0 0 0 0 -16 -2 4 4 4 4 4 8 0 -4 4 -8 -8 -2 0 16 0 -8 -4 -4 0 2 -4 -4 -4 0 0 4 4 4 -6 0 -1 6 1 +1 5 0 6 0 0 0 -4 -12 0 0 12 -6 -12 0 12 0 0 12 6 -3 -24 0 12 24 0 4 0 0 -12 6 0 0 -12 -12 0 -6 0 0 0 0 -24 -12 -12 24 -12 0 24 0 -24 -12 -12 -6 0 6 0 0 3 0 -6 0 12 -12 -24 0 0 0 -6 0 12 12 0 12 0 0 0 12 0 24 0 12 -24 0 -12 4 -12 0 0 0 0 12 0 -24 0 6 -24 0 24 -4 -12 0 12 -24 12 0 24 24 -24 12 0 -12 12 0 0 0 12 -12 0 0 -12 0 -12 0 6 0 0 24 0 0 0 12 0 0 0 0 0 24 -12 0 0 0 0 0 12 0 0 -12 24 -24 0 0 24 0 -24 0 0 0 24 0 -24 0 12 0 -12 0 0 -12 0 0 -12 0 24 12 0 -12 4 12 -4 6 0 12 0 12 0 -12 0 6 -24 12 24 0 0 0 0 -12 0 0 12 -24 0 0 0 -12 -6 12 12 0 0 -12 12 0 12 -12 0 0 24 -6 0 0 6 -12 24 -12 0 3 -24 12 0 0 -6 0 24 -24 6 -24 -3 -12 24 0 0 4 0 0 -12 0 0 0 6 0 0 12 -12 0 0 0 0 12 -24 0 -6 0 0 0 0 -12 0 -4 -6 0 -12 12 0 12 0 0 12 -6 0 -1 6 1 +1 5 0 2 0 4 0 0 -4 4 0 -4 -6 -4 0 4 -4 -4 -8 6 -3 -16 0 4 0 0 0 -8 8 8 2 0 0 0 -4 0 -2 -8 0 4 -4 0 -4 12 -8 -4 0 16 0 0 8 -12 -2 0 2 8 0 3 -4 2 0 -12 0 0 0 0 -4 2 -12 -4 0 0 4 8 0 0 -8 -8 0 4 4 8 -8 4 -4 -8 0 4 0 0 -4 0 0 0 -2 16 -8 -16 4 12 8 -12 0 4 8 -8 0 8 0 8 0 8 0 0 0 4 -4 0 -4 -4 -8 4 0 -2 0 12 0 4 0 0 12 0 -8 0 8 0 0 4 0 0 0 0 0 4 -8 8 0 0 0 4 0 -16 8 16 -8 0 8 0 -8 0 4 12 -4 -8 0 0 -4 0 0 -4 8 0 8 0 12 -4 -12 4 -2 0 4 0 0 12 4 0 -2 8 -4 -8 0 0 0 0 -4 8 -8 0 0 -4 0 0 -12 -2 4 4 -4 4 8 -8 0 -12 12 0 0 0 2 8 0 2 -4 16 0 -12 3 0 -4 -8 0 2 0 -8 8 6 -16 -3 -4 0 8 0 0 0 -4 0 -8 -4 0 2 4 -4 -8 8 0 0 0 0 4 0 -8 -2 4 0 0 0 -4 -4 0 -6 0 -8 4 4 0 4 0 8 -6 0 -1 6 1 +1 5 0 -2 0 8 0 4 -4 0 0 -4 -6 4 0 -4 0 0 4 6 -3 -8 0 -4 -8 0 -4 -16 0 -4 -2 0 0 -4 4 0 2 0 0 -8 8 8 4 -12 -8 4 0 8 0 -8 -4 -12 2 0 -2 16 0 3 8 2 0 12 -4 8 0 0 0 2 0 -4 -12 0 -4 0 0 0 4 0 -8 -8 -4 8 0 4 4 -4 0 8 0 0 -4 0 8 0 -2 -8 16 8 -4 -12 -16 12 8 -4 0 -8 -8 8 4 0 12 4 0 0 0 -4 4 0 -8 4 0 4 0 -2 0 0 8 0 0 0 12 0 0 0 0 0 -8 4 0 0 0 0 0 -4 0 0 12 8 8 0 0 8 -16 -8 16 0 0 -8 0 8 8 12 -8 -4 0 0 4 0 0 4 0 -8 4 0 -12 4 12 -4 -2 0 -4 0 4 0 4 0 -2 8 -4 -8 0 0 0 0 4 16 0 -12 -8 0 0 0 -12 2 -4 -4 8 -8 -4 4 0 12 -12 0 0 -8 2 0 0 -2 4 8 -4 0 3 8 -4 0 0 2 0 -8 8 6 -8 -3 4 -8 0 0 -4 0 0 -4 -16 0 0 -2 -8 8 4 -4 0 0 0 0 -4 8 0 2 0 0 0 0 4 -8 4 -6 0 -4 -4 0 4 8 0 4 -6 0 -1 6 1 +1 5 0 -6 0 12 0 0 -4 12 0 -12 -6 12 0 -12 4 -12 0 6 -3 0 0 -12 0 0 0 -24 -24 0 -6 0 0 0 12 0 6 24 0 12 -12 0 12 12 24 12 0 0 0 0 0 -12 6 0 -6 24 0 3 -12 -6 0 -12 0 0 0 0 -12 -6 12 12 0 0 -12 -24 0 0 0 -24 0 12 -12 -24 24 -12 -4 0 0 12 0 0 12 0 0 0 6 0 -24 0 4 12 24 -12 0 -12 -24 24 0 -24 0 24 0 0 0 0 0 -12 12 0 -12 12 24 -12 0 6 0 -12 0 12 0 0 12 0 24 0 -24 0 0 -12 0 0 0 0 0 -12 24 24 0 0 0 12 0 0 24 0 -24 0 -24 0 24 0 12 12 -12 0 0 0 12 0 0 12 -24 0 0 0 12 -4 -12 4 6 0 -12 0 0 -12 -12 0 6 -24 12 24 0 0 0 0 12 24 -24 0 0 -12 0 0 -12 6 -12 -12 -12 12 0 0 0 -12 12 0 0 0 -6 -24 0 -6 12 0 0 12 3 0 12 24 0 -6 0 24 -24 6 0 -3 12 0 -24 0 0 0 -12 0 -24 4 0 -6 12 -12 0 0 0 0 0 0 -12 0 24 6 -4 0 0 0 12 -12 0 -6 0 0 -12 12 0 12 0 0 -6 0 -1 6 1 +1 3 4 2 0 -8 8 -4 4 -4 0 -4 6 -4 -8 -8 4 -4 8 6 1 0 -8 -4 -16 -4 -4 0 8 8 -2 0 4 4 -12 -8 -2 16 0 0 0 0 -4 4 8 4 -4 0 -8 8 8 -4 -2 0 -2 0 8 1 0 2 -8 4 -4 -16 8 0 4 -2 4 -4 -4 8 4 16 -8 -8 8 -8 0 0 4 8 0 0 0 0 0 8 0 0 0 0 -16 8 2 0 0 0 0 4 0 4 0 4 16 8 16 8 -4 -8 -4 0 0 -8 -4 -4 4 0 -8 4 -16 -4 -8 -6 -8 4 8 4 4 8 -4 8 0 0 0 0 0 0 -8 0 8 0 0 4 0 8 4 -8 0 -4 8 0 0 0 0 -8 0 0 16 16 -8 4 8 0 0 -4 -4 0 0 -4 -16 -16 0 4 -4 0 -4 0 -2 -8 -4 0 4 -4 4 8 6 -8 0 -8 0 0 -8 8 4 0 8 4 -8 -4 8 -8 4 2 -4 -4 0 0 -8 -8 4 -4 -4 0 -4 0 -2 -16 -8 2 -4 0 4 -4 -1 16 4 0 8 6 8 -8 -8 -6 0 -1 12 16 0 8 4 0 4 -4 0 -4 8 2 0 0 -8 -8 4 -8 0 -4 4 0 -16 2 -4 8 -4 -8 4 8 4 -6 0 0 12 4 -4 8 0 0 -2 -4 -1 -2 -1 +1 3 0 10 -4 -8 8 -4 12 -4 -4 -4 -2 -4 -8 -4 4 -4 0 -2 1 16 -8 -4 0 4 -4 -16 8 0 2 -8 4 4 -4 -8 2 0 8 0 0 0 4 4 -8 4 4 16 8 -8 0 4 2 -8 2 -16 8 1 0 2 -8 4 12 0 -8 8 -12 6 4 4 -4 -8 4 0 -8 8 0 8 0 0 4 -8 0 0 0 -8 0 -8 0 0 0 0 0 -8 2 0 0 0 0 4 0 4 0 4 0 -8 0 -8 12 8 -4 8 0 8 8 4 4 0 8 4 0 4 8 2 -8 4 -8 -12 -8 -8 4 8 0 0 0 0 0 0 8 0 8 0 0 -4 0 -8 4 8 0 12 -8 0 0 0 0 8 0 0 0 0 8 -4 -8 8 0 8 -4 0 0 -4 0 0 -8 -8 -4 0 -4 0 -2 -8 -4 0 -12 -4 -4 -8 -2 8 0 8 0 8 8 8 -4 16 -8 4 8 12 -8 8 -4 -2 -4 -4 0 0 0 0 -4 -4 -4 -8 -4 0 -2 0 -8 -2 -4 -16 -12 -4 -1 0 -4 0 -8 -2 8 8 8 2 -16 -1 4 0 0 8 4 8 4 -4 16 -4 8 -2 0 0 0 0 -4 -8 -8 -4 4 0 0 -2 -4 8 0 -8 4 8 4 2 4 -8 4 4 -4 8 4 -8 -2 0 -1 -2 -1 +1 3 4 4 -2 -8 16 -8 0 -8 2 16 4 -8 -16 -12 -8 8 8 -4 3 16 16 8 -16 -4 8 -16 0 8 -2 -8 12 -8 8 -24 -2 16 8 -8 -8 -16 -8 8 -16 8 4 -16 16 16 -8 8 2 8 2 16 16 -3 8 4 -16 8 8 16 -16 -8 -8 -8 24 8 -24 16 -8 -16 24 -16 -8 -16 16 8 8 -16 -16 -4 4 8 8 -8 12 16 -4 8 -16 16 -4 16 -16 16 4 -8 -16 -8 -16 -8 16 16 -16 16 -8 16 24 8 -4 16 4 8 8 12 -8 -8 16 -8 -16 -4 16 -24 -16 8 4 -16 -8 -16 16 -16 16 -16 -16 4 -16 -8 -16 16 16 -8 -16 -16 -24 16 16 -8 -16 -16 16 -16 16 16 -16 16 -16 16 8 8 8 -8 4 -4 8 -12 -8 -8 -16 16 -8 -4 8 -4 8 -4 4 16 8 -12 8 24 8 16 4 -16 4 -16 -16 -8 16 16 8 -16 16 24 -16 8 16 -16 -8 -2 -8 8 -8 -8 8 8 -4 -8 -8 8 12 -16 -4 16 -16 -2 -8 16 -8 -24 3 -16 -8 16 -16 -4 -24 16 16 4 -16 -3 -8 16 -16 24 -8 8 -8 8 16 8 -16 2 8 8 -8 -8 4 16 -8 -12 -8 16 -16 2 -8 16 4 -16 8 -8 8 -4 -2 8 8 8 -8 8 2 -8 4 -4 1 -4 -1 +1 3 8 -6 4 -8 8 -4 -12 -12 4 -20 -2 4 8 12 -4 -12 0 -2 1 -16 8 4 0 4 -4 -16 8 0 2 8 4 -12 4 8 2 0 8 0 0 0 -4 4 8 4 4 -16 8 -8 0 4 2 8 2 -16 8 1 0 2 8 4 -4 0 8 8 -4 6 -4 4 -4 -8 -4 0 8 -8 0 -8 0 0 4 8 0 0 0 8 0 -8 0 0 0 0 0 8 2 0 0 0 0 4 0 4 0 4 0 8 0 8 -4 -8 -4 -8 0 -8 0 -4 -4 0 8 4 0 4 8 2 8 -4 -8 -4 0 -8 4 8 0 0 0 0 0 0 -8 0 -8 0 0 4 0 8 4 8 0 4 8 0 0 0 0 8 0 0 0 0 8 -4 -8 -8 0 0 -4 0 0 4 0 0 8 0 -4 0 -4 0 -2 -8 -4 0 4 4 -4 -8 -2 -8 0 -8 0 -8 -8 -8 4 16 8 4 8 4 8 8 -4 -2 -4 4 0 0 0 0 -4 -4 -4 -8 -4 0 -2 0 -8 -2 -4 16 4 4 -1 0 -4 0 -8 -2 -8 -8 -8 2 16 -1 -4 0 0 -8 4 -8 12 12 16 4 -8 -2 0 0 0 0 -4 -8 -8 -4 -4 0 0 -2 4 -8 -8 -8 -4 8 4 2 -4 8 -4 12 12 8 -4 8 -2 -8 -1 -2 -1 +1 3 4 -2 0 -4 -16 0 -4 0 0 -4 6 4 -8 8 0 0 4 6 1 0 -8 4 0 -4 0 0 -16 4 2 0 -4 0 4 0 2 0 -8 4 4 0 4 4 0 -4 -4 0 8 0 4 -4 2 0 2 0 8 1 4 2 0 4 0 0 0 -8 0 -2 0 4 0 0 4 0 0 -8 4 0 0 4 -4 0 0 0 0 -4 0 4 0 0 0 0 8 0 2 0 0 0 0 4 0 4 -8 -4 -8 0 -8 0 0 0 0 4 0 -8 4 4 4 0 -4 -4 8 4 8 2 0 0 0 0 -4 0 -4 8 -8 0 8 0 8 0 0 0 0 0 0 -4 8 0 0 0 8 0 8 0 0 0 0 0 -8 -8 -8 -8 -4 4 4 4 0 4 4 0 0 -4 8 8 -4 -4 -4 0 -4 0 -2 -8 4 0 0 0 -4 -8 -2 0 0 0 0 0 0 0 -4 0 0 0 0 0 8 0 4 -2 4 -4 -4 -4 -4 -4 4 -4 -4 8 4 0 -2 0 -8 -2 4 0 0 0 -1 0 -4 0 -8 -2 0 0 0 -6 0 -1 -4 0 0 0 0 0 0 0 0 0 8 -2 -4 -4 -4 -4 4 16 8 4 -4 0 0 -2 0 8 -4 16 -4 4 0 -6 0 4 -4 0 0 4 0 4 -2 -4 -1 -2 -1 +1 3 0 -2 4 -4 -8 0 -4 0 4 -4 6 -4 0 -4 0 0 -4 6 1 0 0 -4 8 4 0 0 0 -4 -2 -8 -4 0 -4 0 -2 8 0 -4 -4 8 -4 -4 0 4 4 0 0 0 -4 -4 -2 -8 -2 0 0 1 -4 2 8 -4 0 8 8 0 0 -2 0 4 0 -8 -4 8 0 16 -4 0 8 -4 4 0 8 0 0 -4 0 4 0 0 0 0 0 8 2 0 0 0 0 -4 0 -4 0 4 0 0 0 0 0 0 0 4 0 16 0 -4 -4 0 -4 4 0 4 0 2 8 0 0 0 0 -8 -4 0 0 0 0 0 0 0 -8 0 -8 0 0 4 0 0 0 0 0 0 -16 0 0 0 0 8 0 0 0 0 -4 4 4 4 0 0 -4 0 0 4 0 0 -4 0 4 0 4 0 -2 0 -4 0 0 0 -4 0 -2 0 0 0 0 8 -8 -8 4 0 0 0 0 0 -16 8 4 2 -4 4 4 4 4 4 -4 4 4 0 4 -8 -2 -8 0 2 -4 0 0 0 -1 -8 -4 -8 0 -2 0 0 0 -6 0 -1 4 -8 -8 0 0 8 0 0 0 0 0 2 4 4 4 4 -4 8 0 4 4 -8 -8 2 0 0 0 8 4 4 0 -6 -4 4 4 0 0 4 -4 4 -2 0 -1 -2 -1 +1 3 0 6 0 -8 0 -4 4 0 0 -12 -2 -4 0 4 0 0 4 -2 -3 -8 0 -4 -8 0 -4 16 0 -4 -2 0 0 -4 4 0 2 0 0 8 -8 8 -4 -4 8 12 0 -8 0 8 4 -4 -2 0 2 16 0 -3 8 6 0 4 4 -8 0 0 0 6 0 -12 12 0 4 0 0 0 -4 0 8 -8 -12 -8 0 4 4 -4 0 -8 0 0 -4 0 8 0 6 -8 -16 8 -4 4 16 -4 8 12 0 -8 -8 8 4 0 12 4 0 0 0 -4 4 0 8 -12 0 -12 0 6 0 0 8 0 0 0 -4 0 0 0 0 0 -8 -4 0 0 0 0 0 4 0 0 -12 -8 -8 0 0 -8 -16 8 16 0 0 8 0 -8 8 4 -8 4 0 0 12 0 0 -4 0 8 -4 0 -4 -4 4 4 -6 0 -12 0 -4 0 12 0 -6 -8 4 8 0 0 0 0 4 -16 0 -12 -8 0 0 0 4 2 12 -4 -8 8 -4 4 0 -4 4 0 0 -8 -6 0 0 -2 -12 8 -4 0 3 8 12 0 0 -6 0 -8 8 2 8 3 -4 8 0 0 4 0 0 4 -16 0 0 2 -8 8 -4 4 0 0 0 0 4 -8 0 -2 0 0 0 0 4 8 4 2 0 -4 -4 0 4 8 0 -4 -2 0 -1 -2 -1 +1 3 0 2 0 -4 0 0 -4 -4 0 -4 -2 -4 0 4 -4 -4 0 -2 -3 0 0 -4 0 0 0 8 -8 0 2 0 0 0 4 0 -2 8 0 -4 4 0 -4 4 -8 4 0 0 0 0 0 -4 2 0 -2 8 0 -3 -4 -2 0 -4 0 0 0 0 4 -2 12 4 0 0 4 8 0 0 0 8 0 4 -4 8 -8 4 -4 0 0 -4 0 0 -4 0 0 0 -2 0 8 0 4 -4 -8 4 0 4 -8 8 0 -8 0 8 0 0 0 0 0 -4 4 0 4 -4 8 4 0 -2 0 12 0 4 0 0 -4 0 8 0 -8 0 0 -4 0 0 0 0 0 4 -8 -8 0 0 0 -4 0 0 8 0 -8 0 8 0 -8 0 4 4 -4 0 0 0 4 0 0 -4 8 0 0 0 4 4 -4 -4 2 0 -4 0 0 -12 -4 0 2 8 4 -8 0 0 0 0 4 -8 -8 0 0 -4 0 0 4 -2 4 -4 4 -4 0 0 0 4 -4 0 0 0 2 -8 0 2 -4 0 0 -12 3 0 -4 8 0 2 0 8 -8 2 0 3 -4 0 8 0 0 0 4 0 -8 4 0 -2 4 -4 0 0 0 0 0 0 4 0 -8 2 4 0 0 0 4 4 0 2 0 0 -4 4 0 4 0 0 -2 0 -1 -2 -1 +1 3 0 2 0 -4 0 0 4 -12 0 -4 -2 4 0 -4 4 -12 0 -2 -3 0 0 4 0 0 0 8 8 0 -6 0 0 0 -4 0 6 -8 0 -4 4 0 4 4 8 4 0 0 0 0 0 -4 -6 0 6 8 0 -3 -4 -2 0 -4 0 0 0 0 12 -2 -12 4 0 0 -4 -8 0 0 0 24 0 4 -4 -8 8 -12 -4 0 0 -4 0 0 12 0 0 0 -2 0 8 0 4 -4 -8 4 0 4 8 -8 0 8 0 24 0 0 0 0 0 4 -4 0 4 -4 -8 4 0 -2 0 -12 0 12 0 0 -4 0 -8 0 8 0 0 12 0 0 0 0 0 -4 8 -24 0 0 0 -12 0 0 8 0 -8 0 -8 0 8 0 4 4 -4 0 0 0 4 0 0 4 -8 0 0 0 4 4 -4 -4 2 0 -4 0 0 12 -4 0 2 -8 -12 8 0 0 0 0 -4 -8 -24 0 0 -12 0 0 4 6 4 4 4 -4 0 0 0 4 -4 0 0 0 2 8 0 -6 -4 0 0 12 3 0 -4 -8 0 2 0 -8 8 2 0 3 4 0 -8 0 0 0 12 0 -8 -4 0 6 4 -4 0 0 0 0 0 0 -4 0 8 -6 -4 0 0 0 -4 4 0 2 0 0 4 12 0 4 0 0 -2 0 -1 -2 -1 +1 3 0 -2 0 0 0 -4 -4 0 0 -4 -2 4 0 -4 0 0 -4 -2 -3 8 0 4 8 0 -4 0 0 4 -2 0 0 -4 -4 0 2 0 0 0 0 -8 4 -4 -8 -4 0 8 0 8 -4 -4 -2 0 2 0 0 -3 0 -2 0 4 4 8 0 0 0 -2 0 4 12 0 -4 0 0 0 4 0 -8 0 4 8 0 4 4 4 0 0 0 0 -4 0 -8 0 -2 8 0 -8 -4 4 0 -4 -8 -4 0 8 8 -8 4 0 12 -4 0 0 0 4 -4 0 0 4 0 4 0 -2 0 0 8 0 0 0 -4 0 0 0 0 0 8 -4 0 0 0 0 0 -4 0 0 -12 -8 8 0 0 8 0 -8 0 0 0 -8 0 8 0 4 0 -4 0 0 -4 0 0 4 0 -8 4 0 -4 -4 4 4 2 0 4 0 -4 0 -4 0 2 8 4 -8 0 0 0 0 -4 0 0 -12 -8 0 0 0 4 2 -4 4 0 0 4 -4 0 -4 4 0 0 8 2 0 0 -2 4 -8 -4 0 3 -8 -4 0 0 2 0 8 -8 2 -8 3 4 -8 0 0 4 0 0 4 0 0 0 2 0 0 4 -4 0 0 0 0 -4 8 0 -2 0 0 0 0 -4 0 4 2 0 4 4 0 4 0 0 4 -2 0 -1 -2 -1 +1 3 4 -4 2 -4 0 -4 0 -8 -2 0 4 0 0 -4 0 8 0 -4 -1 0 0 0 -8 0 4 8 0 0 -2 0 0 4 0 0 2 0 0 -4 -4 -8 0 0 0 8 0 0 0 8 0 -8 2 0 -2 -8 0 1 4 0 0 0 -4 8 0 0 8 0 0 0 4 0 0 0 0 0 0 0 8 4 -8 0 0 0 0 0 -8 -4 4 0 0 8 8 0 0 0 8 0 0 0 8 0 8 -8 0 0 8 0 4 0 -4 0 -4 0 -4 0 0 -4 -4 8 0 0 0 0 0 0 -8 -8 -4 0 8 0 0 0 0 0 8 0 0 -8 0 0 0 0 0 0 4 8 -8 8 0 0 -8 0 -8 0 0 -8 0 -8 4 -8 4 0 4 4 -8 4 8 0 0 -8 0 4 0 0 0 0 0 0 8 -4 -4 0 0 0 0 0 0 0 0 0 0 0 0 8 0 -4 -8 -8 0 0 8 -2 8 0 -4 -4 0 0 0 0 0 0 0 -8 0 0 0 2 -8 0 4 0 -1 -8 0 0 0 0 0 0 0 4 0 1 0 8 0 0 -4 0 -8 -4 -8 0 0 2 4 4 0 0 0 0 0 0 0 8 0 -2 0 0 4 0 0 -4 4 -4 2 0 0 8 4 4 -2 0 4 -4 1 -4 -1 +1 3 4 -6 0 0 8 4 -12 4 0 -4 6 -12 -8 0 -4 4 0 6 1 0 -8 -12 16 -4 4 0 8 0 -2 0 4 -4 -4 -8 -2 -16 0 8 8 0 4 4 8 4 -4 0 8 -8 0 -4 -2 0 -2 0 -8 1 8 -6 8 4 4 16 -8 0 -4 6 -4 -4 4 8 -4 -16 -8 -8 0 8 0 8 4 8 0 0 0 -8 0 0 0 0 0 0 0 -8 -6 0 0 0 0 4 0 4 16 4 0 8 0 8 4 8 4 8 0 -8 -4 4 -4 0 0 4 0 -4 8 2 8 -4 -8 -4 4 8 -4 -8 16 0 -16 0 -16 0 8 0 -8 0 0 -4 -16 -8 -4 8 -16 4 8 0 0 0 0 -8 16 16 0 0 0 4 0 8 0 -4 -4 0 0 4 0 0 -8 4 -4 0 -4 0 6 8 -4 0 -4 4 4 -8 -2 -8 0 -8 0 0 8 -8 -4 0 -8 -4 8 4 8 -8 4 2 -4 4 -8 -8 0 0 4 -4 -4 0 -4 0 6 16 8 2 -4 0 -4 4 -1 -16 4 0 -8 -2 8 -8 -8 -6 0 -1 4 -16 0 8 -4 0 -4 4 0 4 8 2 -8 -8 0 0 4 -8 0 -4 12 0 16 2 4 8 -4 -8 12 0 -4 -6 0 8 4 -4 4 0 0 8 -2 -4 -1 -2 -1 +1 3 0 6 -4 -4 0 0 4 0 -4 -4 -2 -4 -8 4 0 0 -4 -2 1 0 -8 -4 0 4 0 0 0 -4 -2 8 -4 0 4 0 -2 0 0 4 4 0 4 4 0 -4 4 0 -8 0 -4 4 -2 8 -2 0 8 1 4 -6 0 4 0 0 16 0 0 -2 0 -4 0 0 -4 0 0 8 -4 0 0 4 -4 0 0 0 0 4 0 4 0 0 0 0 8 16 -6 0 0 0 0 4 0 4 -8 -4 8 0 -8 0 0 0 0 -4 0 8 0 4 -4 0 -4 -4 -8 -4 -8 2 0 0 0 0 0 0 4 8 8 0 -8 0 8 0 -16 0 0 0 0 -4 -8 0 0 0 8 0 -8 0 0 0 0 0 8 -8 8 -8 -4 -4 4 -4 0 0 4 0 0 4 -8 8 4 0 -4 0 -4 0 6 -8 4 0 0 0 4 8 -2 0 0 0 0 -8 -16 0 -4 0 0 0 0 0 -8 0 -4 2 4 4 -4 -4 4 4 -4 -4 -4 0 4 0 6 0 -8 2 4 0 0 0 -1 0 4 0 8 -2 0 0 0 2 0 -1 -4 0 0 0 0 -8 0 0 0 0 8 2 -4 -4 4 4 -4 0 0 4 4 0 0 2 0 8 0 0 4 4 0 2 4 -4 -4 0 0 4 4 -4 -2 0 -1 -2 -1 +1 3 0 -2 -4 4 0 0 -4 0 -4 4 -2 4 -8 -4 0 0 4 -2 1 0 -8 4 0 4 0 0 0 4 -2 8 -4 0 -4 0 -2 0 0 -4 -4 0 -4 4 0 -4 4 0 8 0 4 4 -2 8 -2 0 -8 1 -4 2 16 4 0 0 0 0 0 -10 0 -4 0 0 4 0 0 8 4 0 0 -4 -4 0 0 0 0 -4 0 -4 0 0 0 0 -8 0 2 0 0 0 0 4 0 4 8 -4 -8 0 8 0 0 0 0 4 0 8 0 -4 4 0 4 -4 8 -4 8 -6 16 0 0 0 0 0 4 -8 -8 0 8 0 -8 0 0 0 -16 0 0 4 8 0 0 0 -8 0 -8 0 0 0 0 0 -8 8 -8 8 4 -4 -4 4 0 0 4 0 0 -4 8 -8 -4 0 -4 0 -4 0 -2 8 4 0 0 0 4 -8 6 0 0 0 0 -8 0 -16 4 0 0 0 0 0 -8 0 -4 2 4 -4 4 4 -4 -4 -4 -4 -4 0 4 0 -2 0 8 2 4 0 0 0 -1 0 4 0 -8 6 0 0 0 2 0 -1 4 0 0 0 0 -8 0 0 0 0 8 2 4 4 -4 -4 -4 0 0 4 -4 0 0 2 0 8 0 0 -4 -4 0 2 4 4 4 0 0 -4 4 4 -2 0 -1 -2 -1 +1 3 4 -4 -2 0 0 0 0 0 2 0 4 0 -16 -4 0 0 0 -4 3 0 16 0 0 -4 0 0 0 0 -2 8 -4 0 0 -8 -2 0 -8 0 0 0 0 8 0 -8 4 0 0 0 0 8 2 -8 2 0 0 -3 0 -4 16 8 0 0 16 8 0 0 0 -8 0 0 0 0 8 -16 0 0 0 0 -8 0 0 -4 4 0 -8 0 -4 16 -4 -8 0 -16 4 0 0 0 4 -8 0 -8 0 8 0 0 0 0 0 0 0 0 -4 16 4 0 0 -4 0 8 0 8 0 4 -16 0 0 0 4 0 -8 0 0 16 0 16 0 4 16 8 16 -16 -16 0 0 0 0 0 0 0 -16 0 0 0 0 0 0 0 0 0 0 8 0 0 4 -4 -8 4 8 0 0 0 0 -4 8 -4 8 -4 -4 0 -8 4 0 0 -8 0 -4 0 4 0 -16 8 -16 -16 0 0 0 0 0 0 16 0 -8 -2 8 0 0 0 0 0 -4 -8 -8 -8 -4 0 4 0 0 -2 8 0 0 0 3 0 8 0 0 4 -8 0 0 4 0 -3 0 0 0 8 0 -8 0 0 0 0 -16 2 0 0 0 0 4 0 8 4 0 0 0 2 0 16 4 0 0 0 0 -4 -2 0 0 0 0 0 2 0 4 -4 1 -4 -1 +1 3 -4 2 0 0 0 -4 -4 4 0 4 -2 -4 0 -8 -4 4 0 -2 1 0 0 -4 8 -4 -4 0 -8 0 -2 0 4 4 -4 8 -2 8 0 0 0 -8 4 -4 8 -4 -4 0 0 8 0 4 -2 0 -2 0 0 1 0 2 0 -4 -4 8 0 0 -4 6 -4 4 -4 0 4 8 8 0 0 8 -8 0 -4 8 -8 0 0 0 0 0 0 0 0 0 8 0 2 0 0 0 0 -4 0 -4 8 -4 8 8 -8 8 -4 8 -4 0 0 0 4 4 4 0 0 -4 -8 4 0 2 0 -4 8 -4 -4 0 4 0 -8 0 8 0 -8 0 0 0 0 0 0 -4 8 -8 4 -8 -8 4 0 0 0 0 0 0 -8 8 8 -8 0 -4 0 0 0 4 4 0 0 -4 -8 8 0 -4 4 0 4 0 -2 0 4 0 4 4 -4 0 -2 -8 0 -8 0 0 0 0 -4 0 -8 4 -8 4 0 0 -4 2 4 -4 0 0 0 0 4 4 4 0 -4 8 -2 -8 0 2 4 0 4 4 -1 -8 -4 8 0 -2 -8 -8 -8 2 0 -1 4 -8 8 -8 4 0 -4 -4 0 4 0 2 0 0 0 0 4 0 0 -4 4 8 -8 2 4 0 4 0 4 0 4 2 0 0 4 -4 -4 0 0 0 -2 4 -1 -2 -1 +1 3 -4 2 0 0 0 4 4 -4 0 -4 -2 -4 0 -8 4 -4 0 -2 1 0 0 -4 -8 -4 4 0 8 0 -2 0 4 -4 -4 8 -2 -8 0 0 0 8 4 -4 8 -4 -4 0 0 -8 0 4 -2 0 -2 0 0 1 0 2 0 -4 4 -8 0 0 4 6 4 4 4 0 4 -8 8 0 0 -8 8 0 -4 8 8 0 0 0 0 0 0 0 0 0 -8 0 2 0 0 0 0 -4 0 -4 -8 -4 -8 8 8 8 4 -8 4 0 0 0 4 4 4 0 0 -4 8 4 0 2 0 4 -8 4 -4 0 4 0 8 0 -8 0 8 0 0 0 0 0 0 -4 -8 8 -4 8 8 -4 0 0 0 0 0 0 8 -8 -8 8 0 -4 0 0 0 4 4 0 0 -4 8 -8 0 -4 4 0 4 0 -2 0 4 0 -4 -4 -4 0 -2 -8 0 -8 0 0 0 0 -4 0 8 -4 8 -4 0 0 -4 2 4 -4 0 0 0 0 4 4 4 0 -4 -8 -2 8 0 2 4 0 -4 -4 -1 8 -4 -8 0 -2 -8 -8 -8 2 0 -1 4 8 -8 -8 -4 0 4 4 0 -4 0 2 0 0 0 0 4 0 0 -4 4 -8 8 2 -4 0 4 0 4 0 -4 2 0 0 4 4 4 0 0 0 -2 4 -1 -2 -1 +1 3 0 -4 2 0 0 0 0 0 -2 0 4 -8 0 -8 0 0 0 -4 3 0 0 8 0 -4 0 0 0 0 -6 -8 4 0 8 0 -6 0 0 0 0 0 -8 -8 16 -8 4 0 0 0 0 8 6 8 6 0 0 -3 0 4 0 -8 0 0 0 0 0 0 0 8 0 0 -8 0 0 0 0 0 0 0 -8 16 0 12 -4 0 0 0 -4 0 12 0 0 0 -4 0 0 0 -4 8 0 8 0 8 0 -16 0 -16 0 0 0 0 4 0 0 8 8 -4 0 8 0 -8 0 -4 0 0 0 0 0 0 -8 0 0 0 0 16 0 -12 0 0 0 -16 0 -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 -4 0 -8 4 0 -8 0 0 0 0 -8 4 -8 4 4 0 -8 4 0 0 8 0 4 16 -12 16 0 -8 0 0 8 0 0 0 0 0 0 0 -8 -6 8 8 0 0 0 0 -4 8 8 0 4 0 -4 0 0 -6 8 0 0 0 3 0 -8 0 0 -4 0 -16 -16 4 0 -3 -8 0 0 0 0 8 0 0 0 0 0 6 0 0 0 0 4 0 0 -4 -8 0 0 6 0 0 0 0 8 0 0 -4 2 0 8 0 0 0 -2 0 4 0 1 -4 -1 +1 3 0 10 -4 -8 -8 -4 4 4 -4 -4 -2 -4 -8 12 -4 4 0 -2 1 0 -8 -4 0 4 -4 0 -8 -16 2 -8 4 4 12 8 2 0 -8 16 0 0 4 4 8 4 4 0 -24 -8 0 4 2 -8 2 0 8 1 16 10 8 4 12 0 -24 -8 12 -2 -4 4 -4 8 -12 0 8 8 -16 -8 0 0 4 8 0 0 0 8 0 8 0 0 0 0 -16 -24 10 16 16 -16 0 4 -16 4 16 4 -16 8 16 8 12 -8 -4 -8 0 8 -8 4 -12 0 -8 4 16 4 -24 -6 8 -4 -8 12 8 8 4 8 -16 0 16 0 -16 0 24 0 -8 0 0 -4 16 8 4 8 -16 -12 -8 16 16 -16 -16 -8 -16 16 -16 16 -8 -4 8 -8 0 -8 -4 0 0 12 16 -16 8 8 -4 0 -4 0 -10 -8 -4 0 -12 4 -4 24 6 -8 0 -8 0 8 24 -8 -4 0 8 4 8 -12 -8 -8 -4 -2 -4 12 -16 0 0 16 -4 -4 -4 8 -4 0 -10 0 -8 -2 -4 0 -12 4 -1 0 -4 0 24 6 -8 -8 -8 2 0 -1 -12 0 0 -8 4 8 -4 -4 0 4 8 -2 -16 0 0 16 -4 8 8 -4 4 0 0 -2 4 8 0 8 4 8 4 2 4 -8 -12 -4 -4 8 4 -8 -2 0 -1 -2 -1 +1 3 -4 6 0 -4 -8 0 4 0 0 -4 -2 -4 0 0 0 0 4 -2 1 0 0 -4 8 -4 0 0 -16 4 2 0 -4 0 4 0 2 -8 8 -4 -4 8 4 -4 0 4 -4 0 16 0 4 4 2 0 2 0 0 1 -4 2 -8 -4 0 8 8 8 0 -10 0 -4 0 8 -4 -8 0 0 4 0 8 -4 4 0 -8 0 0 4 0 4 0 0 0 0 0 8 2 0 0 0 0 -4 0 -4 0 4 0 0 0 0 0 0 0 -4 0 0 -4 4 -4 0 -4 4 0 -4 16 -6 -8 0 0 0 4 8 4 0 0 0 0 0 0 0 -8 0 8 0 0 -4 0 0 0 0 0 0 0 0 0 0 0 -8 0 0 0 0 -4 -4 4 -4 0 -4 -4 0 0 4 0 0 4 4 4 0 4 0 -2 0 -4 0 0 0 4 -16 6 0 0 0 0 0 -8 8 -4 0 0 0 0 0 0 -8 -4 -2 -4 4 4 4 -4 -4 4 4 4 -8 4 -8 -2 8 0 -2 -4 0 0 0 -1 -8 4 8 -16 6 0 0 0 2 0 -1 -4 -8 8 0 0 0 0 0 0 0 0 -2 4 4 -4 -4 4 8 -8 4 4 -8 8 -2 0 0 4 8 4 4 0 2 0 -4 -4 0 0 4 0 -4 -2 4 -1 -2 -1 +1 3 0 4 -2 -4 0 -4 -8 0 2 8 -4 -8 -8 8 0 0 0 4 -1 -8 8 8 8 0 4 0 0 -8 2 0 0 -4 -8 0 -2 0 0 4 -4 -8 0 0 8 0 0 8 -8 -8 0 0 -2 0 2 0 8 1 -4 0 0 0 4 -8 0 0 0 0 0 0 4 0 0 0 0 8 8 0 8 4 0 -8 0 0 0 0 0 4 4 0 0 0 0 0 0 8 0 8 0 0 0 0 0 0 -8 8 0 -8 -4 0 -4 0 4 -8 0 0 0 -4 4 0 -8 0 8 0 0 0 8 0 0 0 0 -8 8 0 8 0 0 0 0 0 0 0 0 0 -8 0 4 -8 0 0 8 -8 0 -8 0 0 -8 0 8 0 -4 0 -4 0 -4 0 0 4 0 0 8 0 0 0 0 0 0 0 0 8 0 -4 4 0 0 -8 0 8 0 -8 0 0 0 0 0 0 0 -4 8 0 -8 0 0 2 0 0 4 -4 0 -8 0 0 0 0 0 -8 0 0 -8 -2 0 -8 -4 0 -1 8 0 0 8 0 0 -8 8 -4 8 1 8 -8 0 0 -4 0 0 4 0 0 -8 -2 -4 4 0 8 0 0 0 0 -8 8 0 2 0 8 0 0 8 -4 4 4 -2 8 -8 0 -4 4 2 -8 4 0 1 -4 -1 +1 3 0 2 -4 0 -8 4 4 -4 -4 -4 -2 4 -8 4 4 -4 -8 -2 1 0 -8 4 0 4 4 0 -8 8 2 -8 4 -4 4 8 2 0 -8 -8 8 0 -4 4 8 4 4 0 -8 8 -8 4 2 -8 2 0 -8 1 -8 2 -8 4 -12 0 -8 -8 -12 6 4 4 4 8 -4 0 8 8 8 8 0 8 4 8 0 0 0 0 0 0 0 0 0 0 0 -8 2 -16 -16 16 0 4 16 4 0 4 0 8 0 8 -12 8 4 0 0 8 -8 -4 -4 0 0 4 0 4 -8 2 -8 4 8 -12 8 8 4 -8 0 0 0 0 0 0 8 0 8 0 0 4 0 -8 -4 -8 0 12 -8 -16 -16 16 16 -8 0 0 0 0 0 -4 0 0 0 -8 -4 0 0 4 0 0 0 8 -4 0 -4 0 -2 8 -4 0 12 -4 -4 8 -2 -8 0 -8 0 8 8 8 4 0 -8 -4 -8 12 -8 -8 -4 -2 -4 4 8 -8 8 -8 -4 -4 -4 8 -4 0 -2 0 8 -2 -4 0 12 -4 -1 0 -4 0 8 -2 -8 -8 -8 2 0 -1 -4 0 0 -8 -4 8 4 4 0 -4 8 -2 8 -8 8 -8 -4 8 8 -4 -4 0 0 -2 -4 8 0 8 -4 0 -4 2 4 0 -4 4 4 0 4 0 -2 0 -1 -2 -1 +1 3 0 0 -2 0 0 0 0 -4 2 0 -4 0 -8 0 -4 4 -4 4 -1 0 8 0 0 0 0 -8 8 4 -2 0 0 0 0 0 2 -8 0 -8 0 0 8 0 -8 0 0 0 8 0 4 0 2 0 -2 8 -8 1 8 0 0 0 0 0 0 0 -4 0 -4 0 0 0 -8 8 0 8 -4 8 0 0 0 8 -8 0 0 -4 0 8 -4 0 0 0 -8 0 0 0 8 0 0 0 8 0 8 0 0 -8 -8 8 0 -8 0 -4 4 -8 0 -8 8 4 8 0 0 0 -8 0 0 4 0 4 0 0 0 8 0 0 0 0 8 0 0 0 0 0 0 8 0 8 0 0 -8 -4 8 0 -8 0 -8 0 0 -8 0 8 -8 0 -8 4 -4 0 0 -4 0 -8 0 8 4 0 0 0 0 0 0 -8 0 4 0 -4 0 8 0 -8 0 8 0 0 0 0 -8 -8 -8 0 0 4 -8 0 0 -2 0 8 -8 0 -4 4 0 0 0 0 0 0 0 -8 8 2 0 0 0 4 -1 0 0 8 -8 0 0 8 -8 -4 0 1 0 0 -8 0 0 0 -4 0 8 4 -8 2 8 0 4 -4 0 0 0 0 0 0 8 -2 -4 8 0 0 0 0 0 4 -2 4 0 4 0 0 2 -4 4 0 1 -4 -1 +1 3 12 -12 6 -8 16 -8 0 -24 -6 -16 4 8 16 -4 8 24 -8 -4 3 -16 -16 -8 -16 12 8 -16 -32 -8 6 24 12 24 -8 24 6 -16 24 -8 -8 -16 8 8 16 8 -12 16 16 -48 8 8 -6 -24 -6 16 16 -3 8 4 16 8 -24 16 16 -24 -24 -8 -24 8 -24 16 8 16 -24 16 8 -48 16 8 8 16 16 12 4 -8 24 -8 12 48 12 24 -16 -16 -4 -16 -16 -16 4 -8 -16 -8 -16 -8 -16 -16 -16 -16 24 48 24 -8 12 -16 12 -8 -8 12 -8 -8 -16 -8 -16 -4 -16 24 48 24 12 -16 -8 -16 -16 16 -16 48 -16 -12 16 -24 16 -48 -16 8 16 -48 -24 -48 16 -24 16 16 16 16 16 16 16 16 16 16 8 8 8 8 -12 -12 8 -12 -24 8 16 16 8 -12 8 -4 8 -4 4 16 8 -12 -24 -24 8 16 4 16 -12 16 -48 24 -16 -16 -8 -16 48 24 48 24 -16 -16 -8 6 -8 -8 -8 -8 -8 -8 12 -8 -8 24 12 -16 -4 -16 -16 6 -8 -16 24 24 3 -16 -8 -16 -16 -4 24 -16 -16 4 16 -3 8 16 16 -24 -8 -24 -24 -24 16 -8 16 -6 8 8 8 8 -12 16 -24 -12 8 16 16 -6 8 -16 12 -16 -8 -8 8 -4 6 -8 -8 24 24 8 -6 8 4 -12 1 -4 -1 +1 3 0 -2 0 0 0 4 -4 0 0 -12 -2 -4 0 4 0 0 -4 -2 -3 8 0 -4 -8 0 4 0 0 4 6 0 0 -12 4 0 -6 0 0 0 0 8 -4 -4 8 -4 0 8 0 24 -4 -4 6 0 -6 0 0 -3 0 -2 0 4 12 -8 0 0 0 -2 0 4 -12 0 4 0 0 0 4 0 8 0 4 -8 0 -12 4 4 0 0 0 0 12 0 8 0 -2 8 0 -8 -4 4 0 -4 8 -4 0 -8 -8 8 12 0 -12 -4 0 0 0 -4 4 0 0 4 0 4 0 -2 0 0 24 0 0 0 -4 0 0 0 0 0 -8 12 0 0 0 0 0 4 0 0 12 -24 -8 0 0 8 0 -8 0 0 0 8 0 -8 0 4 0 -4 0 0 -4 0 0 -4 0 8 4 0 -4 -4 4 4 2 0 4 0 -12 0 -4 0 2 -8 -12 8 0 0 0 0 4 0 0 12 -24 0 0 0 4 -6 -4 -4 0 0 4 -4 0 -4 4 0 0 -8 2 0 0 6 4 -8 -12 0 3 8 -4 0 0 2 0 -8 8 2 -8 3 -4 8 0 0 -4 0 0 12 0 0 0 -6 0 0 4 -4 0 0 0 0 4 -8 0 6 0 0 0 0 4 0 -4 2 0 4 -4 0 12 0 0 4 -2 0 -1 -2 -1 +1 3 0 -6 0 4 0 0 -12 -4 0 4 -2 4 0 -4 -4 -4 8 -2 -3 16 0 4 0 0 0 -8 8 -8 2 0 0 0 -4 0 -2 -8 0 4 -4 0 4 4 8 -12 0 16 0 0 8 -4 2 0 -2 -8 0 -3 4 6 0 -4 0 0 0 0 4 6 12 -12 0 0 -4 -8 0 0 -8 8 0 -4 12 -8 8 4 -4 8 0 4 0 0 -4 0 0 0 6 -16 -8 16 4 -4 8 4 0 -12 8 -8 0 8 0 8 0 -8 0 0 0 4 -4 0 -4 12 -8 -12 0 6 0 12 0 4 0 0 -4 0 -8 0 8 0 0 -4 0 0 0 0 0 -4 8 -8 0 0 0 -4 0 -16 -8 16 8 0 -8 0 8 0 -4 4 4 -8 0 0 -12 0 0 4 -8 0 8 0 4 4 -4 -4 -6 0 12 0 0 -12 12 0 -6 -8 4 8 0 0 0 0 -4 8 -8 0 0 -4 0 0 4 -2 -12 4 -4 4 -8 8 0 4 -4 0 0 0 -6 8 0 2 12 -16 0 -12 3 0 12 -8 0 -6 0 -8 8 2 -16 3 4 0 -8 0 0 0 4 0 8 4 0 -2 -4 4 -8 8 0 0 0 0 -4 0 8 2 4 0 0 0 -4 -4 0 2 0 8 4 4 0 -4 0 8 -2 0 -1 -2 -1 +1 3 4 -8 2 0 0 0 0 -4 -2 -8 4 0 0 -4 4 4 -4 -4 -1 8 0 0 0 0 0 0 -8 -4 2 0 0 8 0 0 -2 -8 0 0 0 0 0 0 0 -8 0 -8 0 0 4 -8 -2 0 2 0 0 1 0 0 0 0 8 0 0 0 -4 0 4 0 0 0 0 8 0 0 4 8 0 0 8 0 8 0 0 -4 8 0 -4 0 0 -8 0 0 0 8 0 8 0 0 0 0 0 8 8 0 0 0 -8 -8 0 -4 -4 0 -4 0 0 4 0 -8 8 0 0 0 0 -4 0 4 -4 0 8 0 8 0 8 0 0 0 0 8 0 0 0 0 -8 8 0 0 0 -4 0 -8 0 -8 0 0 -8 0 -8 0 0 -8 0 4 4 4 8 -4 -8 0 -8 0 4 4 0 0 0 0 0 0 -8 4 8 4 0 0 0 0 0 0 0 0 0 0 0 0 -8 0 0 4 0 0 8 2 -8 0 0 0 -4 -4 0 0 0 0 0 0 0 -8 0 -2 8 8 -8 -4 -1 0 0 -8 0 0 0 0 0 4 -8 1 0 0 8 0 0 0 -4 -8 0 -4 0 -2 0 0 4 4 0 0 0 0 0 0 8 2 4 0 4 0 0 0 0 -4 2 -4 0 4 8 0 -2 4 4 -4 1 -4 -1 +1 3 0 -6 -4 8 8 4 -12 4 -4 4 -2 -4 -8 -4 -4 4 0 -2 1 -16 -8 -4 0 4 4 16 8 0 2 -8 4 -4 -4 -8 2 0 8 0 0 0 4 4 -8 4 4 -16 8 8 0 4 2 -8 2 16 8 1 0 2 -8 4 -12 0 -8 8 12 6 -4 4 4 -8 4 0 -8 8 0 -8 0 0 4 -8 0 0 0 8 0 8 0 0 0 0 0 -8 2 0 0 0 0 4 0 4 0 4 0 -8 0 -8 -12 -8 4 -8 0 8 8 4 4 0 -8 4 0 4 8 2 -8 -4 8 12 -8 -8 4 8 0 0 0 0 0 0 8 0 8 0 0 -4 0 8 -4 -8 0 -12 -8 0 0 0 0 8 0 0 0 0 -8 -4 8 -8 0 8 -4 0 0 -4 0 0 8 -8 -4 0 -4 0 -2 -8 -4 0 12 4 -4 -8 -2 8 0 8 0 8 8 8 -4 -16 8 -4 -8 -12 -8 8 -4 -2 -4 -4 0 0 0 0 -4 -4 -4 -8 -4 0 -2 0 -8 -2 -4 16 12 4 -1 0 -4 0 -8 -2 8 8 8 2 16 -1 4 0 0 8 -4 8 -4 4 -16 4 8 -2 0 0 0 0 -4 -8 -8 -4 4 0 0 -2 4 8 0 -8 4 -8 -4 2 4 8 4 -4 4 -8 4 8 -2 0 -1 -2 -1 +1 3 4 -12 -2 8 16 8 0 8 2 -16 4 -8 -16 -12 8 -8 -8 -4 3 -16 16 8 16 -4 -8 16 -32 -8 -2 -8 12 8 8 -24 -2 -16 8 8 8 16 -8 8 -16 8 4 16 16 -16 8 8 2 8 2 -16 16 -3 -8 4 -16 8 -8 -16 -16 -8 8 -8 -24 8 24 16 -8 16 24 -16 8 16 -16 -8 8 -16 16 -4 4 -8 8 8 12 16 -4 8 16 16 -4 -16 16 -16 4 -8 16 -8 16 -8 -16 16 16 16 8 -16 -24 -8 -4 16 4 8 8 12 8 -8 -16 -8 -16 -4 16 24 16 -8 4 -16 -8 -16 -16 -16 -16 -16 16 4 -16 -8 -16 16 16 -8 16 16 24 -16 -16 8 -16 16 -16 16 -16 16 16 -16 16 -16 -8 8 -8 8 4 -4 8 -12 -8 -8 16 -16 8 -4 8 -4 8 -4 4 16 8 -12 -8 -24 8 16 4 -16 4 -16 -16 -8 16 16 8 16 -16 -24 16 -8 16 -16 -8 -2 -8 8 8 8 -8 -8 -4 -8 -8 8 12 16 -4 -16 -16 -2 -8 -16 8 24 3 16 -8 -16 -16 -4 -24 16 16 4 16 -3 -8 -16 16 24 8 8 8 -8 -16 -8 -16 2 -8 -8 8 8 4 16 -8 -12 -8 -16 16 2 8 16 4 -16 8 8 -8 -4 -2 -8 8 -8 8 -8 2 8 4 -4 1 -4 -1 +1 3 -4 -2 0 4 -8 0 -4 0 0 4 -2 4 0 -8 0 0 -4 -2 1 0 0 4 -8 -4 0 0 0 -4 2 0 -4 0 -4 0 2 8 8 4 4 -8 -4 -4 0 4 -4 0 0 0 -4 4 2 0 2 0 16 1 4 -6 8 -4 0 -8 -8 8 0 -2 0 -4 0 8 4 8 0 0 -4 0 -8 4 4 0 8 0 0 -4 0 -4 0 0 0 0 0 -8 -6 0 0 0 0 -4 0 -4 0 4 0 0 0 0 0 0 0 4 0 0 -4 -4 4 0 4 4 0 -4 0 2 8 0 0 0 4 8 4 16 0 0 0 0 0 0 8 0 -8 0 0 4 0 0 0 0 0 0 0 0 0 0 0 -8 0 0 0 0 4 -4 -4 4 0 -4 -4 0 0 -4 0 0 -4 4 4 0 4 0 6 -16 -4 0 0 0 4 0 -2 0 0 0 0 0 8 -8 4 0 0 0 0 0 0 -8 -4 -2 -4 -4 -4 -4 4 4 4 4 4 -8 4 8 6 -8 -16 -2 -4 0 0 0 -1 8 4 -8 0 -2 0 0 0 2 0 -1 4 8 -8 0 0 0 0 0 0 0 0 -2 -4 -4 4 4 4 8 -8 4 -4 8 -8 -2 0 0 4 8 -4 -4 0 2 0 4 4 0 0 -4 0 4 -2 4 -1 -2 -1 +1 3 0 -4 -2 4 0 4 0 0 2 -8 -4 0 -8 0 0 0 -8 4 -1 -8 8 0 -8 0 -4 0 0 0 2 0 0 4 0 0 -2 0 0 -4 4 8 -8 0 -8 0 0 8 -8 8 8 0 -2 0 2 0 8 1 4 0 0 0 -4 8 0 0 0 0 0 0 -4 0 8 0 0 8 0 0 -8 -4 0 8 0 0 0 8 0 -4 4 0 0 0 0 0 0 8 0 8 0 0 0 0 0 0 8 -8 0 8 4 0 4 8 4 -8 0 8 -8 -4 -4 0 8 0 8 0 0 0 -8 0 0 0 0 -8 -8 0 -8 0 0 0 0 0 0 0 0 -8 8 0 -4 8 0 0 8 -8 0 -8 0 0 8 0 -8 0 4 0 4 -8 -4 0 0 4 0 8 -8 0 -8 0 0 0 0 0 0 8 0 -4 -4 0 0 -8 0 -8 0 8 0 0 0 0 8 0 0 4 -8 0 -8 0 0 2 0 -8 -4 4 -8 0 0 0 0 0 0 8 0 0 -8 -2 0 -8 4 0 -1 -8 0 0 8 0 0 8 -8 -4 8 1 0 8 0 0 4 0 0 -4 0 0 -8 -2 4 -4 8 0 0 0 0 0 0 -8 0 2 0 8 0 0 0 4 -4 4 -2 0 0 0 4 -4 2 0 4 0 1 -4 -1 +1 3 0 -6 -4 8 -8 -4 -12 4 -4 12 -2 12 -8 -4 -4 4 16 -2 1 0 -8 12 0 4 -4 0 -8 0 2 -8 4 4 -4 8 2 0 -8 0 -16 0 -12 4 8 4 4 0 8 -8 16 4 2 -8 2 0 -24 1 0 -6 -24 4 12 0 8 -8 12 14 -4 4 -4 8 4 0 8 8 0 -8 0 -16 4 8 0 0 0 -8 0 -8 0 0 0 0 16 8 -6 16 16 -16 0 4 -16 4 -16 4 16 8 -16 8 12 -8 -4 8 0 8 -8 -12 4 0 8 4 -16 4 8 10 -24 -4 -8 12 8 8 4 -24 16 0 -16 0 16 0 -8 0 24 0 0 12 -16 8 4 8 16 -12 -8 16 16 -16 -16 -8 16 -16 16 -16 8 -4 -8 8 0 -8 -4 0 0 -4 -16 16 -8 8 -4 0 -4 0 6 24 -4 0 -12 4 -4 -8 -10 -8 0 -8 0 8 -8 24 12 0 8 4 8 -12 -8 -8 -4 -2 -4 -4 0 16 -16 0 -4 -4 -4 8 -4 0 6 0 24 -2 -4 0 -12 4 -1 0 -4 0 -8 -10 -8 -8 -8 2 0 -1 4 0 0 -8 4 8 -4 -4 0 4 8 -2 0 16 -16 0 -4 8 8 -4 -12 0 0 -2 4 8 0 8 -12 -8 4 2 4 8 4 -4 -4 -8 4 8 -2 0 -1 -2 -1 +1 3 0 -8 -2 8 0 0 0 4 2 -8 -4 8 -8 -8 4 -4 4 4 -1 0 8 -8 0 0 0 -8 -8 -4 -2 0 0 0 8 0 2 8 0 0 -8 0 0 0 8 0 0 0 8 0 -4 0 2 0 -2 8 -8 1 0 0 0 0 0 0 0 0 4 0 4 0 0 0 0 -8 0 8 4 -8 0 8 0 -8 8 0 0 4 0 0 -4 0 0 0 8 0 0 0 8 0 0 0 8 0 -8 0 0 8 8 -8 0 8 0 4 4 -8 0 0 0 4 0 0 0 0 -8 0 0 -4 0 -4 0 0 0 8 0 0 0 0 -8 0 0 0 0 0 0 0 0 -8 0 0 8 4 8 0 -8 0 -8 0 0 8 0 -8 0 0 0 -4 -4 0 0 -4 0 0 0 -8 -4 0 0 0 0 0 0 -8 0 4 0 4 0 8 0 8 0 -8 0 0 0 0 0 -8 8 0 0 -4 -8 0 0 -2 0 0 0 -8 4 -4 0 0 0 0 0 0 0 8 8 2 0 0 0 -4 -1 0 0 -8 -8 0 0 -8 8 -4 0 1 -8 0 8 0 0 0 4 0 8 -4 -8 2 0 8 -4 4 0 0 0 0 8 0 -8 -2 4 8 0 0 -8 8 0 4 -2 -4 8 -4 0 -8 2 4 4 0 1 -4 -1 +1 3 4 -4 -2 0 -16 0 0 0 2 0 4 8 -16 4 0 0 0 -4 3 0 16 -8 0 -4 0 0 16 0 6 -8 -4 0 -8 8 6 0 -24 0 0 0 8 8 16 8 4 0 -16 0 0 8 -6 8 -6 0 -16 -3 0 4 -16 8 0 0 -16 24 0 8 0 8 0 -16 8 0 -8 -16 0 0 0 0 8 16 0 12 4 0 8 0 -4 16 12 8 0 16 -4 0 0 0 4 -8 0 -8 0 -8 0 -16 0 -16 0 0 0 0 -4 16 4 -8 -8 -4 0 -8 0 -8 16 -4 16 0 0 0 4 16 -8 16 0 -16 0 -16 0 -12 -16 -8 -16 16 16 8 0 0 0 0 0 0 -16 0 0 0 0 -16 0 0 0 0 0 8 0 0 4 -4 8 4 -8 8 0 0 0 -4 8 -4 8 -4 4 -16 8 4 0 0 8 -16 4 16 -12 16 -16 -8 16 16 -8 0 0 0 0 0 16 16 -8 6 -8 -8 0 0 0 0 -4 -8 -8 -24 -4 0 -4 0 16 6 -8 0 0 0 3 0 -8 0 16 -4 8 -16 -16 4 0 -3 8 0 0 -8 0 8 0 0 0 0 -16 -6 0 0 0 0 4 -16 24 4 8 0 0 -6 0 16 4 16 -8 0 0 -4 -2 0 -8 0 0 0 2 0 4 -4 1 -4 -1 +1 3 0 -4 2 0 -16 0 0 0 -2 0 4 0 0 0 0 0 0 -4 3 0 0 0 0 -4 0 0 16 0 2 -8 -12 0 0 0 2 0 0 0 0 0 0 -8 0 8 4 0 16 0 0 8 -2 8 -2 0 16 -3 0 -4 0 -8 0 0 0 0 0 8 0 -8 0 -16 0 0 0 0 0 0 0 0 8 0 0 -4 -4 0 0 0 12 0 -4 0 0 0 4 0 0 0 -4 8 0 8 0 -8 0 0 0 0 0 0 0 0 4 0 0 0 0 12 0 -8 0 8 -16 4 0 0 0 0 0 16 -8 -16 0 0 0 16 0 4 0 0 0 -16 0 0 0 0 0 0 0 0 0 0 0 0 0 -16 0 0 0 0 0 8 0 0 -4 0 8 -12 0 0 0 0 0 0 -8 4 -8 4 -4 16 8 -12 0 0 -8 16 -4 0 4 0 0 -8 0 0 0 0 0 0 0 0 0 16 -8 2 -8 0 0 0 0 0 -4 8 8 0 -12 0 4 0 -16 2 -8 0 0 0 3 0 8 0 -16 4 0 0 0 4 0 -3 0 0 0 0 0 8 0 0 0 0 0 -2 0 0 0 0 4 -16 0 12 0 0 0 -2 0 0 0 16 0 0 0 -4 2 0 0 0 0 0 -2 0 4 0 1 -4 -1 +1 3 -8 2 4 0 -8 4 -4 -12 4 12 -2 -4 8 -12 -4 -12 8 -2 1 0 8 -4 0 4 4 0 -8 -8 2 8 4 12 -4 -8 2 0 -8 -8 8 0 4 4 -8 4 4 0 -8 8 8 4 2 8 2 0 -8 1 -8 2 8 4 4 0 8 -8 -4 6 -4 4 4 8 4 0 -8 -8 -8 -8 0 8 4 -8 0 0 0 0 0 0 0 0 0 0 0 8 2 16 -16 -16 0 4 16 4 0 4 0 -8 0 -8 4 -8 4 0 0 -8 0 4 4 0 0 4 0 4 -8 2 8 -4 8 -4 0 8 4 -8 0 0 0 0 0 0 -8 0 -8 0 0 -4 0 8 -4 -8 0 4 8 16 -16 -16 16 -8 0 0 0 0 0 -4 0 0 0 0 -4 0 0 -4 0 0 0 0 -4 0 -4 0 -2 8 -4 0 -4 4 -4 8 -2 8 0 8 0 -8 -8 -8 -4 0 8 -4 -8 4 8 -8 -4 -2 -4 -4 8 -8 -8 8 -4 -4 -4 8 -4 0 -2 0 8 -2 -4 0 -4 4 -1 0 -4 0 8 -2 8 8 8 2 0 -1 4 0 0 8 -4 -8 12 -12 0 4 -8 -2 8 -8 -8 8 -4 8 8 -4 4 0 0 -2 4 -8 8 8 4 0 -4 2 -4 0 4 12 -12 0 -4 0 -2 8 -1 -2 -1 +1 3 -8 2 4 0 -8 -4 4 12 4 -12 -2 -4 8 -12 4 12 -8 -2 1 0 8 -4 0 4 -4 0 -8 8 2 8 4 -12 -4 -8 2 0 -8 8 -8 0 4 4 -8 4 4 0 -8 -8 -8 4 2 8 2 0 -8 1 8 2 8 4 -4 0 8 -8 4 6 4 4 -4 8 4 0 -8 -8 8 8 0 -8 4 -8 0 0 0 0 0 0 0 0 0 0 0 8 2 -16 16 16 0 4 -16 4 0 4 0 -8 0 -8 -4 8 -4 0 0 -8 0 4 4 0 0 4 0 4 -8 2 8 4 -8 4 0 8 4 -8 0 0 0 0 0 0 -8 0 -8 0 0 -4 0 -8 4 8 0 -4 8 -16 16 16 -16 -8 0 0 0 0 0 -4 0 0 0 0 -4 0 0 -4 0 0 0 0 -4 0 -4 0 -2 8 -4 0 4 -4 -4 8 -2 8 0 8 0 -8 -8 -8 -4 0 -8 4 8 -4 8 -8 -4 -2 -4 -4 -8 8 8 -8 -4 -4 -4 8 -4 0 -2 0 8 -2 -4 0 4 -4 -1 0 -4 0 8 -2 8 8 8 2 0 -1 4 0 0 8 4 -8 -12 12 0 -4 -8 -2 -8 8 8 -8 -4 8 8 -4 4 0 0 -2 -4 -8 8 8 4 0 4 2 -4 0 4 -12 12 0 -4 0 -2 8 -1 -2 -1 +1 3 -4 -4 6 0 -16 0 0 0 -6 0 4 -8 16 -4 0 0 0 -4 3 0 -16 8 0 12 0 0 16 0 -2 -8 -4 0 8 -8 -2 0 -8 0 0 0 -8 8 -16 8 -12 0 -16 0 0 8 2 8 2 0 -16 -3 0 4 16 8 0 0 16 8 0 8 0 8 0 -16 -8 0 8 16 0 0 0 0 8 -16 0 -4 4 0 24 0 -4 -16 -4 24 0 -16 -4 0 0 0 4 -8 0 -8 0 -8 0 16 0 16 0 0 0 0 12 -16 -4 8 8 -4 0 -8 0 -8 16 -4 -16 0 0 0 -4 16 -8 16 0 16 0 -16 0 4 16 -24 16 16 -16 -8 0 0 0 0 0 0 16 0 0 0 0 -16 0 0 0 0 0 8 0 0 -12 4 8 4 -24 -8 0 0 0 4 8 -4 8 -4 4 -16 8 4 0 0 8 -16 4 -16 4 -16 16 -8 -16 -16 8 0 0 0 0 0 -16 16 -8 -2 -8 8 0 0 0 0 12 -8 -8 -8 -4 0 -4 0 16 -2 -8 0 0 0 3 0 -8 0 16 -4 -8 16 16 4 0 -3 -8 0 0 8 0 8 0 0 0 0 16 2 0 0 0 0 -12 -16 8 4 -8 0 0 2 0 -16 -4 16 8 0 0 -4 6 0 8 0 0 0 -6 0 4 4 1 -4 -1 +1 3 -4 0 2 0 -8 0 -8 -4 -2 8 -4 -8 8 4 4 4 12 4 -1 -8 -8 8 8 0 0 0 -8 -4 2 0 0 -8 0 0 -2 0 0 -8 8 -8 0 -8 0 0 0 8 8 0 -12 0 -2 0 2 0 -8 1 8 0 -8 8 -8 -8 8 0 -4 -8 4 8 0 8 8 0 0 -8 4 8 8 -8 0 0 16 0 0 4 -8 0 -4 0 0 8 -8 -8 0 -8 0 -8 0 -8 0 8 8 0 16 0 -8 0 8 -8 0 4 -4 8 4 0 -8 4 0 0 16 -8 -8 8 8 -4 0 4 4 -8 0 8 0 0 0 0 8 0 8 -8 -8 0 0 0 0 8 0 0 -8 -4 -8 8 0 8 0 8 0 -8 -16 8 0 0 0 -4 4 -4 0 -4 8 8 -16 8 -4 -4 8 0 -8 0 0 -8 0 4 -8 4 8 8 -8 0 0 0 0 0 -8 8 0 0 -8 0 0 4 8 -8 0 2 0 -8 -8 8 12 -4 0 -8 8 0 0 -8 0 0 8 -2 0 -8 8 -4 -1 8 -8 -16 -8 8 0 0 0 -4 8 1 0 -8 16 0 0 0 -4 8 0 -4 8 -2 8 -8 -12 4 0 -8 0 0 -8 8 0 2 4 -8 -4 8 8 0 0 4 2 4 0 4 -8 0 -2 -4 4 4 1 -4 -1 +1 3 -4 0 2 0 -8 0 0 4 -2 -8 -4 -8 8 4 -4 -4 -4 4 -1 -8 -8 8 -8 0 0 0 8 12 2 0 0 8 0 0 -2 -16 0 8 -8 8 0 8 0 0 0 8 8 0 4 0 -2 0 2 0 -8 1 -8 8 -8 -8 8 8 8 0 4 0 -4 -8 0 8 8 16 0 -8 -12 -8 -8 8 0 0 0 0 0 4 -8 0 -4 0 0 8 8 -8 -8 -8 0 -8 0 8 0 -8 -8 0 0 0 8 0 -8 8 0 4 -4 8 4 0 -8 4 0 0 0 8 -8 0 8 4 0 -4 4 -8 0 8 16 0 16 0 -8 0 8 -8 -8 0 0 0 -16 -8 0 0 8 4 -8 8 0 8 0 8 -16 8 0 -8 0 0 0 -4 4 -4 0 -4 8 8 0 -8 -4 -4 -8 0 8 0 8 -8 0 4 8 -4 -8 8 0 0 0 0 0 0 -8 8 0 0 8 0 0 -4 8 -8 0 2 0 -8 8 -8 -4 12 0 8 -8 0 0 8 -8 -16 8 -2 0 -8 -8 4 -1 -8 8 0 -8 0 0 0 0 -4 8 1 0 8 0 0 0 0 4 -8 0 4 8 -2 -8 8 4 -12 0 -8 0 0 -8 -8 16 2 -4 -8 -4 8 8 0 0 4 2 4 0 -4 8 0 -2 -4 4 4 1 -4 -1 +1 3 -4 -4 2 4 -8 -4 0 8 -2 -8 -4 0 8 -4 0 -8 -8 4 -1 0 -8 0 0 0 4 -8 0 8 -2 0 0 4 8 0 2 8 0 12 -4 -16 8 8 0 0 0 0 -8 8 8 0 2 0 -2 8 8 1 -12 -8 8 -8 -4 0 -8 0 -8 0 0 8 4 8 0 -8 0 -8 -8 0 16 4 0 0 8 0 0 0 8 4 4 0 0 -8 0 8 8 0 -8 0 0 8 -8 -8 16 0 8 0 0 0 4 0 -4 0 -4 8 4 -8 0 -4 4 0 8 -8 8 0 -8 0 -8 8 4 -8 0 -8 -8 0 -8 0 16 0 -8 8 8 0 0 8 8 0 4 8 -16 -8 -8 0 8 0 8 8 8 -16 -8 0 -4 0 -4 0 4 -4 0 4 -8 0 -8 0 0 -4 -8 0 8 0 -8 8 0 -4 -4 0 8 -8 0 0 0 0 0 0 8 -8 -8 -8 0 -4 -8 8 8 -8 0 -2 0 0 12 -4 -8 8 0 8 -8 0 0 -16 8 8 -8 2 0 0 4 0 -1 0 -8 -8 8 0 0 0 0 -4 0 1 -8 0 8 0 -4 0 8 -4 8 0 8 2 -12 4 8 -8 0 -8 0 0 0 16 -8 -2 0 -8 -4 8 0 4 4 4 2 0 8 -8 4 -4 -2 0 4 4 1 -4 -1 +1 3 -4 -4 2 4 -8 4 0 -8 -2 0 -4 0 8 -4 0 8 8 4 -1 0 -8 0 -16 0 -4 -8 16 -8 -2 0 0 -4 8 0 2 -8 0 -4 12 0 8 -8 0 0 0 0 -8 -8 -8 0 2 0 -2 8 8 1 4 0 8 8 4 16 -8 0 8 8 0 -8 -4 8 0 8 0 -8 8 0 0 -12 0 0 -8 0 0 0 8 4 4 0 0 -8 16 8 0 0 -8 0 0 -8 -8 8 0 0 -8 0 16 0 -4 0 4 0 -4 8 4 -8 0 -4 4 0 -8 8 8 -8 -8 0 8 -8 4 -8 0 -8 8 0 8 0 0 0 -8 8 8 0 0 8 -8 0 -4 -8 0 8 -8 0 8 0 8 8 -8 0 8 -16 -4 0 -4 0 4 -4 0 4 -8 0 8 -16 0 -4 8 0 -8 0 0 8 0 -4 4 0 -8 -8 8 0 0 0 0 0 8 -8 -8 -8 0 4 8 -8 8 -8 0 -2 0 0 -4 12 8 -8 0 -8 8 0 0 0 0 -8 -8 2 0 0 -4 0 -1 -16 8 8 8 -8 0 0 0 -4 0 1 -8 16 -8 0 4 0 -8 4 8 0 8 2 4 -12 -8 8 0 -8 0 0 0 0 8 -2 0 -8 -4 8 0 4 -4 4 2 0 8 8 -4 -4 -2 0 4 4 1 -4 -1 +1 1 8 -8 2 -8 16 0 -8 0 2 -8 0 -8 0 0 0 0 8 0 3 -16 0 -8 0 -4 0 -16 16 8 2 8 4 0 -8 0 2 0 0 8 8 0 -8 0 16 16 -4 -16 -16 0 8 0 2 8 2 -16 -16 3 8 -8 0 0 0 0 0 0 0 -4 0 -16 0 16 -8 0 0 0 8 0 0 8 16 16 0 -4 -4 -8 0 -8 -4 -32 -4 0 0 0 -8 16 16 16 -4 0 16 0 0 16 0 16 0 16 0 0 0 -8 4 0 8 -8 -8 -4 -8 16 0 -16 -16 -8 0 0 0 0 8 16 0 -16 0 0 0 -16 0 -4 0 0 0 -16 0 -8 0 0 0 0 0 0 0 16 16 16 16 16 0 0 0 0 -8 0 -8 -8 4 8 16 -4 0 -8 0 0 -8 8 0 -4 0 -4 -8 -16 16 -4 0 0 -16 -16 -8 16 -4 16 -32 8 0 0 -8 -16 0 0 0 0 0 16 0 2 16 -8 8 8 8 8 -4 0 0 0 4 0 -8 0 -16 2 16 -16 0 0 3 0 -16 0 -16 -8 0 16 16 0 -16 3 -8 0 0 0 0 8 0 0 -16 0 0 2 8 8 8 8 -4 16 0 4 -8 0 0 2 0 0 8 16 -8 -8 0 0 2 -8 -8 0 0 -8 2 -8 0 8 1 0 1 +1 1 4 -4 2 -8 -8 0 0 4 2 0 8 0 -8 -4 4 4 4 8 -1 -8 -8 0 -8 0 0 0 -8 4 2 0 0 8 -8 0 -2 16 0 0 0 8 8 0 0 -8 0 -8 -8 0 4 -8 2 0 -2 0 8 -1 0 4 -8 0 -8 -8 8 0 4 -4 -4 0 0 8 0 16 0 8 4 -8 8 0 8 0 0 0 0 12 8 8 -4 0 0 -8 -8 8 4 -8 0 -8 0 0 0 0 8 -8 -16 0 -8 0 -8 -8 0 12 -4 8 -4 8 0 4 8 8 -16 0 -8 -4 -8 -4 0 4 -4 8 -8 8 0 0 0 0 8 0 8 -8 -8 0 0 8 0 -8 0 0 8 4 8 -8 0 -8 0 8 0 8 -16 -8 8 -8 8 12 -4 -4 8 4 8 0 -16 -8 12 -4 0 0 0 0 4 8 -8 -4 -8 -4 0 -8 -4 0 0 0 0 0 8 -8 8 0 -8 0 0 4 8 8 -8 2 8 0 0 0 4 4 0 0 0 0 0 8 4 16 8 -2 -8 -8 -8 -4 -1 -8 0 0 -8 -4 0 0 0 8 -8 -1 -8 -8 0 0 0 0 4 8 0 4 -8 2 0 0 4 4 0 -8 0 0 0 8 16 -2 4 -8 4 -8 0 -8 0 8 2 -4 -8 4 8 -8 2 -4 0 4 1 0 1 +1 1 0 4 -2 -8 8 0 8 -4 -2 -8 0 0 0 -8 4 -4 4 0 -1 0 0 0 -8 0 0 8 8 -4 -2 0 0 0 -8 0 2 0 0 8 0 8 0 0 8 0 0 0 0 0 4 0 -2 0 2 8 0 -1 8 -4 -8 0 0 -8 8 0 -4 4 -4 0 0 -8 8 0 0 0 -4 8 8 0 0 -8 0 0 0 -4 0 0 -4 0 0 0 0 8 -4 0 -8 0 0 0 -8 0 0 0 8 -8 0 8 0 8 0 -4 4 0 0 0 8 4 0 0 8 0 0 4 -8 -4 0 -4 0 -8 0 0 -8 0 -8 0 0 0 8 0 -8 0 0 0 -8 8 0 0 0 -4 0 0 -8 0 -8 -8 -8 0 8 0 0 0 0 -4 4 0 0 4 0 8 8 0 -4 0 0 0 0 0 -4 0 0 -4 0 -4 0 0 4 8 0 -8 0 0 8 -8 0 8 8 0 0 -4 0 -8 0 -2 0 8 8 0 4 -4 0 0 0 0 0 8 -4 0 0 2 0 0 0 -4 -1 -8 0 0 0 4 0 8 -8 0 0 -1 -8 -8 0 0 0 0 -4 0 8 4 0 -2 8 0 4 -4 0 8 0 0 0 8 0 2 4 0 0 8 0 -8 0 0 -2 4 -8 -4 0 -8 -2 4 0 0 1 0 1 +1 1 0 0 -2 -4 8 -4 0 0 -2 0 0 0 0 -8 0 0 0 0 -1 8 0 0 0 0 -4 0 0 8 2 0 0 4 -8 0 -2 8 0 -4 4 0 0 0 -8 0 0 8 0 -8 0 0 2 0 -2 0 0 -1 -4 4 8 0 4 0 -8 0 0 -4 0 0 4 -8 8 8 0 0 8 0 0 4 0 8 -8 0 0 -8 0 4 4 0 0 0 8 -8 4 -8 0 -8 0 0 0 0 -8 0 0 8 8 -8 4 0 4 -8 4 0 0 0 8 -4 4 0 0 0 0 -4 8 0 -8 0 0 -8 0 0 0 0 0 0 -8 0 -8 0 8 0 0 0 0 0 4 -8 -8 0 0 -8 0 -8 0 -8 0 -8 0 8 4 0 4 -8 4 0 0 -4 0 8 0 8 -8 0 0 0 0 0 4 0 0 4 4 0 0 0 -4 -8 0 8 0 0 -8 8 0 0 0 4 -8 0 0 -8 0 2 0 8 -4 4 0 8 0 0 0 0 0 0 4 8 0 -2 0 8 4 0 -1 0 0 -8 0 -4 0 -8 8 0 8 -1 -8 0 -8 0 -4 0 0 4 0 0 0 2 -4 4 0 8 0 8 0 0 0 0 8 -2 0 0 0 8 0 -4 -4 0 -2 0 -8 0 4 -4 -2 0 0 0 1 0 1 +1 1 4 -2 0 -8 8 -4 4 -4 0 12 6 -4 -8 -16 -4 4 8 -6 1 0 8 4 -16 -4 4 0 -8 8 -2 0 4 -4 12 -8 -2 16 0 0 0 0 -4 4 8 4 4 0 -8 8 -8 -4 2 0 2 0 8 -1 0 2 -8 4 -4 16 8 0 4 -10 4 -4 -4 8 4 -16 8 -8 -8 -8 0 0 4 8 0 0 0 0 0 8 0 0 0 0 -16 -8 -2 0 0 0 0 -4 0 -4 0 -4 16 -8 16 -8 4 8 4 0 0 8 -4 4 -4 0 -8 -4 -16 4 8 6 8 -4 -8 -4 4 -8 4 -8 0 0 0 0 0 0 -8 0 8 0 0 4 0 8 4 -8 0 -4 8 0 0 0 0 -8 0 0 -16 -16 8 4 -8 0 0 4 -4 0 0 -4 16 16 0 -4 -4 0 -4 0 -2 -8 -4 0 4 -4 4 8 6 -8 0 -8 0 0 8 -8 -4 0 -8 -4 8 4 -8 8 -4 2 4 4 0 0 -8 -8 4 4 4 0 -4 0 2 -16 8 2 4 0 -4 4 -1 16 -4 0 -8 -6 8 8 8 -6 0 1 12 -16 0 -8 4 0 4 -4 0 -4 8 -2 0 0 8 8 -4 -8 0 4 4 0 16 -2 4 -8 -4 8 -4 8 -4 6 0 0 -12 -4 4 -8 0 0 -2 4 -1 2 1 +1 1 0 8 -6 -8 0 0 8 0 -6 -8 0 0 0 0 0 0 -8 0 3 16 0 0 0 12 0 -16 0 -8 2 -8 4 0 0 0 2 0 0 8 8 0 0 0 0 0 12 16 0 0 -8 0 2 -8 2 -16 0 3 8 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 -8 0 0 8 0 0 0 -4 -4 8 0 -8 -4 0 -4 0 0 0 0 -16 16 -16 -4 0 16 0 0 0 0 0 0 0 0 0 0 8 -12 0 0 0 0 -4 -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 -4 0 0 0 16 0 0 0 0 0 0 0 0 0 -16 16 -16 16 0 0 0 0 0 -8 0 -8 8 -12 0 0 -4 0 0 0 0 8 0 0 -4 0 -4 0 0 0 -4 0 0 0 0 0 0 -4 0 0 -8 0 0 0 -16 0 0 0 0 0 0 0 2 0 0 8 8 -8 -8 12 0 0 0 4 0 0 0 0 2 0 16 0 0 3 0 0 0 0 0 0 0 0 0 16 3 0 0 0 0 0 -8 0 0 -16 0 0 2 8 8 -8 -8 12 0 0 4 0 0 0 2 0 0 0 0 0 -8 0 0 -6 8 0 0 0 -8 -6 8 0 0 1 0 1 +1 1 -4 8 -2 -8 0 0 8 0 -2 -8 0 0 0 -4 0 0 8 0 3 16 0 0 16 -4 0 -16 -16 8 6 -8 -4 0 0 -8 6 -16 24 -8 -8 16 0 0 0 0 -4 16 0 0 8 0 6 -8 6 -16 0 3 -8 0 0 0 0 16 0 24 0 -4 0 0 0 0 0 -16 -8 0 8 0 16 -8 0 0 -16 12 4 8 -8 -8 -4 -16 12 -8 16 0 0 16 -16 16 4 0 -16 0 16 0 -16 0 16 0 0 0 0 8 -4 0 -4 0 0 -4 -8 0 -16 0 0 0 0 0 0 0 -4 0 0 0 -16 16 -16 -16 16 12 0 -8 0 -16 16 0 -16 0 0 0 16 0 0 16 -16 16 -16 0 -16 16 -16 16 -8 0 -8 8 -4 -4 0 -4 -8 0 -16 16 8 -4 0 4 0 4 0 0 0 -4 0 0 0 0 0 0 12 0 -16 -8 0 0 0 -16 0 0 0 0 0 0 0 6 0 0 -8 -8 8 8 -4 0 0 24 -4 16 0 -16 0 6 0 16 0 0 3 16 0 -16 0 0 -8 0 0 0 16 3 0 16 -16 -8 0 -8 0 0 -16 0 0 6 -8 -8 8 8 -4 0 24 -4 0 16 -16 6 0 0 -4 0 0 -8 0 0 -2 8 0 0 0 -8 -2 8 0 -4 1 0 1 +1 1 0 6 -4 -8 8 -4 -4 -4 4 12 -2 -4 -8 -4 -4 4 0 2 1 16 8 4 0 4 4 -16 -8 0 2 -8 4 -4 4 -8 2 0 8 0 0 0 4 4 -8 4 -4 -16 8 -8 0 4 -2 8 -2 16 8 -1 0 2 -8 4 12 0 -8 -8 -12 -2 4 4 -4 -8 4 0 8 8 0 8 0 0 4 -8 0 0 0 -8 0 -8 0 0 0 0 0 8 -2 0 0 0 0 -4 0 -4 0 -4 0 8 0 8 -12 -8 4 8 0 -8 8 -4 -4 0 8 -4 0 -4 -8 -2 8 -4 8 12 -8 8 -4 -8 0 0 0 0 0 0 8 0 8 0 0 -4 0 -8 4 8 0 12 -8 0 0 0 0 8 0 0 0 0 -8 -4 8 -8 0 -8 -4 0 0 -4 0 0 8 8 -4 0 -4 0 -2 -8 -4 0 -12 -4 -4 -8 -2 8 0 8 0 8 -8 -8 4 16 8 -4 -8 -12 8 -8 4 -2 4 4 0 0 0 0 -4 4 4 -8 -4 0 2 0 8 -2 4 -16 12 4 -1 0 4 0 8 2 8 -8 -8 2 16 1 4 0 0 -8 4 -8 4 -4 -16 -4 8 2 0 0 0 0 4 -8 8 4 4 0 0 2 4 -8 0 8 -4 8 -4 -2 4 -8 -4 -4 4 -8 -4 8 -2 0 -1 2 1 +1 1 8 -8 2 -8 -16 0 -8 0 2 -8 0 8 0 16 0 0 8 0 3 -16 0 8 0 -4 0 -16 -16 8 2 8 4 0 8 0 2 0 0 8 8 0 8 0 -16 -16 -4 -16 16 0 8 0 2 8 2 -16 16 3 8 8 0 0 0 0 0 0 0 12 0 16 0 -16 8 0 0 0 8 0 0 8 -16 -16 0 -4 -4 -8 0 -8 -4 -32 -4 0 0 0 8 16 16 16 -4 0 16 0 0 -16 0 -16 0 -16 0 0 0 -8 4 0 8 8 8 -4 -8 -16 0 16 16 8 0 0 0 0 8 -16 0 16 0 0 0 -16 0 -4 0 0 0 -16 0 8 0 0 0 0 0 0 0 16 16 16 16 -16 0 0 0 0 -8 0 -8 -8 4 8 -16 -4 0 8 0 0 -8 8 0 -4 0 -4 8 16 -16 -4 0 0 16 16 8 -16 -4 -16 -32 8 0 0 8 -16 0 0 0 0 0 -16 0 2 -16 8 8 8 8 8 -4 0 0 0 4 0 8 0 16 2 -16 -16 0 0 3 0 16 0 16 8 0 -16 -16 0 -16 3 8 0 0 0 0 8 0 0 -16 0 0 2 8 8 8 8 -4 -16 0 4 8 0 0 2 0 0 8 -16 8 -8 0 0 2 -8 8 0 0 -8 2 -8 0 8 1 0 1 +1 1 4 -8 6 -8 0 0 -8 0 6 -8 0 0 0 4 0 0 -8 0 3 -16 0 0 16 12 0 -16 16 -8 -2 -8 -4 0 0 8 -2 16 8 -8 -8 16 0 0 0 0 12 -16 0 0 -8 0 -2 -8 -2 -16 0 3 -8 0 0 0 0 16 0 8 0 -4 0 0 0 0 0 16 8 0 -8 0 16 -8 0 0 16 -4 4 -8 -24 -8 -4 16 -4 -24 16 0 0 -16 -16 -16 4 0 -16 0 16 0 16 0 16 0 0 0 0 -8 12 0 4 0 0 -4 -8 0 16 0 0 0 0 0 0 0 4 0 0 0 16 -16 16 -16 16 -4 0 -24 0 -16 -16 0 16 0 0 0 16 0 0 -16 -16 -16 -16 0 16 16 16 16 -8 0 -8 -8 12 4 0 -4 -24 0 16 16 -8 4 0 4 0 4 0 0 0 -4 0 0 0 0 0 0 -4 0 16 -8 0 0 0 -16 0 0 0 0 0 0 0 -2 0 0 -8 -8 -8 -8 12 0 0 8 -4 16 0 16 0 -2 0 -16 0 0 3 16 0 16 0 0 8 0 0 0 -16 3 0 16 16 8 0 -8 0 0 -16 0 0 -2 -8 -8 -8 -8 12 0 8 -4 0 16 16 -2 0 0 4 0 0 -8 0 0 6 -8 0 0 0 -8 6 -8 0 4 1 0 1 +1 1 4 -4 2 -8 8 0 -8 -4 2 -16 -8 0 8 12 -4 -4 4 -8 -1 -8 8 0 -8 0 0 0 8 4 2 0 0 -8 8 0 -2 16 0 0 0 8 -8 0 0 8 0 -8 8 0 4 8 2 0 -2 0 -8 -1 0 -4 8 0 8 -8 -8 0 -4 4 4 0 0 -8 0 16 0 -8 4 8 8 0 -8 0 0 0 0 12 8 8 -4 0 0 -8 -8 -8 -4 -8 0 -8 0 0 0 0 8 8 -16 0 -8 0 8 8 0 12 -4 -8 -4 -8 0 4 8 -8 -16 0 8 4 8 4 0 -4 -4 -8 8 -8 0 0 0 0 8 0 -8 -8 8 0 0 -8 0 8 0 0 8 -4 -8 -8 0 -8 0 -8 0 8 -16 -8 8 8 8 12 -4 -4 -8 4 8 0 -16 -8 12 -4 0 0 0 0 -4 -8 8 -4 8 4 0 8 4 0 0 0 0 0 -8 8 -8 0 8 0 0 -4 -8 -8 8 2 -8 0 0 0 4 4 0 0 0 0 0 8 -4 16 -8 -2 8 -8 8 4 -1 -8 0 0 8 4 0 0 0 -8 -8 -1 8 -8 0 0 0 0 -4 -8 0 -4 8 2 0 0 4 4 0 8 0 0 0 8 16 -2 -4 8 4 8 0 -8 0 -8 2 -4 8 -4 -8 -8 2 -4 0 4 1 0 1 +1 1 4 -8 2 -4 8 -4 -8 -8 2 -8 -8 8 8 4 0 -8 0 -8 -1 0 8 8 16 0 -4 -8 16 0 -2 0 0 -4 0 0 2 -8 0 4 4 0 0 0 0 -8 0 0 -8 8 0 8 -2 0 2 -8 8 -1 4 4 -8 0 -4 16 8 0 8 -4 0 0 4 -8 -8 -8 0 -8 0 0 0 4 8 0 8 0 0 8 -8 12 4 0 0 8 0 8 4 0 -8 0 0 0 -8 0 -16 -8 8 0 0 0 -4 0 4 8 -4 -8 -4 0 -8 -4 12 8 8 0 -8 -4 -8 0 8 8 -4 -8 8 8 -8 0 -8 0 -16 0 8 8 -8 0 0 0 -8 0 4 8 -16 8 -8 0 -8 0 -8 -8 -8 -16 8 0 12 8 12 8 -4 -4 8 -4 -8 -8 8 0 8 -4 0 0 0 0 4 8 -8 4 -4 0 0 -8 -4 0 0 0 0 0 8 -8 0 -8 0 4 8 8 -8 -8 8 -2 8 -8 4 4 0 0 0 0 0 0 0 0 4 -8 8 2 -8 0 -4 0 -1 16 0 8 -8 -4 0 0 0 -8 0 -1 0 16 8 0 -4 0 -8 -4 -8 0 8 -2 4 4 0 0 0 8 0 0 8 0 -8 2 0 8 4 8 8 -4 -4 -8 2 -8 0 -8 -4 -4 2 -8 0 4 1 0 1 +1 1 8 -10 4 -8 8 -4 4 -12 -4 -4 -2 4 8 -4 4 12 0 2 1 -16 -8 -4 0 4 4 -16 -8 0 2 8 4 12 -4 8 2 0 8 0 0 0 -4 4 8 4 -4 16 8 -8 0 4 -2 -8 -2 16 8 -1 0 2 8 4 -4 0 8 -8 -4 -2 -4 4 -4 -8 -4 0 -8 -8 0 -8 0 0 4 8 0 0 0 8 0 -8 0 0 0 0 0 -8 -2 0 0 0 0 -4 0 -4 0 -4 0 -8 0 -8 4 8 4 -8 0 8 0 4 4 0 8 -4 0 -4 -8 -2 -8 4 8 4 0 8 -4 -8 0 0 0 0 0 0 -8 0 -8 0 0 4 0 8 4 8 0 4 8 0 0 0 0 8 0 0 0 0 -8 -4 8 8 0 0 -4 0 0 4 0 0 -8 0 -4 0 -4 0 -2 -8 -4 0 4 4 -4 -8 -2 -8 0 -8 0 -8 8 8 -4 16 -8 -4 -8 -4 -8 -8 4 -2 4 -4 0 0 0 0 -4 4 4 -8 -4 0 2 0 8 -2 4 16 -4 -4 -1 0 4 0 8 2 -8 8 8 2 -16 1 -4 0 0 8 4 8 12 12 -16 4 -8 2 0 0 0 0 4 -8 8 4 -4 0 0 2 -4 8 -8 8 4 8 -4 -2 -4 8 4 -12 -12 -8 4 -8 -2 8 -1 2 1 +1 1 4 -8 2 -4 -8 4 -8 8 2 0 8 -8 -8 4 0 8 0 8 -1 0 -8 -8 16 0 4 -8 0 0 -2 0 0 4 0 0 2 -8 0 4 4 0 0 0 0 8 0 0 8 -8 0 -8 -2 0 2 -8 -8 -1 4 -4 8 0 4 16 -8 0 -8 4 0 0 -4 8 8 -8 0 8 0 0 0 4 -8 0 8 0 0 8 -8 12 4 0 0 8 0 -8 -4 0 -8 0 0 0 -8 0 -16 8 8 0 0 0 4 0 -4 8 -4 8 -4 0 8 -4 12 -8 8 0 8 4 8 0 -8 -8 -4 8 -8 -8 -8 0 -8 0 -16 0 -8 8 8 0 0 0 -8 0 -4 -8 -16 -8 8 0 -8 0 -8 8 -8 -16 8 0 12 -8 12 8 -4 -4 -8 -4 -8 8 8 0 8 -4 0 0 0 0 -4 -8 8 4 4 0 0 8 4 0 0 0 0 0 -8 8 0 -8 0 -4 -8 -8 8 8 -8 -2 -8 8 4 4 0 0 0 0 0 0 0 0 -4 -8 -8 2 8 0 4 0 -1 16 0 8 8 4 0 0 0 8 0 -1 0 16 8 0 4 0 8 4 -8 0 -8 -2 4 4 0 0 0 -8 0 0 -8 0 -8 2 0 -8 4 -8 -8 -4 4 8 2 -8 0 8 4 -4 2 -8 0 4 1 0 1 +1 1 0 4 -2 -8 -8 0 0 4 -2 -8 0 0 0 8 -4 4 4 0 -1 0 0 0 -8 0 0 8 -8 -4 -2 0 0 0 8 0 2 0 0 8 0 8 0 0 -8 0 0 0 0 0 4 0 -2 0 2 8 0 -1 8 4 8 0 0 -8 -8 0 4 -4 4 0 0 8 -8 0 0 0 -4 -8 8 0 0 8 0 0 0 -4 0 0 -4 0 0 0 0 -8 4 0 -8 0 0 0 -8 0 0 0 8 8 0 -8 0 -8 0 -4 4 0 0 0 -8 4 0 0 8 0 0 -4 8 4 0 4 0 8 0 0 -8 0 -8 0 0 0 -8 0 8 0 0 0 -8 -8 0 0 0 4 0 0 -8 0 -8 8 -8 0 8 0 0 0 0 -4 4 0 0 4 0 -8 8 0 -4 0 0 0 0 0 4 0 0 -4 0 4 0 0 -4 -8 0 8 0 0 -8 8 0 8 -8 0 0 4 0 8 0 -2 0 -8 8 0 4 -4 0 0 0 0 0 8 4 0 0 2 0 0 0 4 -1 -8 0 0 0 -4 0 -8 8 0 0 -1 8 -8 0 0 0 0 4 0 8 -4 0 -2 8 0 4 -4 0 -8 0 0 0 8 0 2 -4 0 0 -8 0 -8 0 0 -2 4 8 4 0 -8 -2 4 0 0 1 0 1 +1 1 0 0 -2 -4 -8 4 0 0 -2 -8 0 0 0 8 0 0 0 0 -1 8 0 0 0 0 4 0 -16 8 2 0 0 -4 8 0 -2 8 0 -4 4 0 0 0 8 0 0 8 0 8 0 0 2 0 -2 0 0 -1 -4 -4 -8 0 -4 0 8 0 0 4 0 0 -4 8 -8 8 0 0 8 0 0 4 0 -8 -8 0 0 -8 0 4 4 0 0 0 8 8 -4 -8 0 -8 0 0 0 0 -8 0 0 -8 8 8 -4 0 -4 -8 4 0 0 0 -8 -4 4 0 0 0 0 4 -8 0 8 0 0 8 0 0 0 0 0 0 -8 0 8 0 -8 0 0 0 0 0 -4 8 -8 0 0 -8 0 -8 0 8 0 -8 0 8 4 0 4 -8 4 0 0 -4 0 -8 0 8 -8 0 0 0 0 0 -4 0 0 4 -4 0 0 0 4 8 0 -8 0 0 8 -8 0 0 0 -4 8 0 0 8 0 2 0 -8 -4 4 0 8 0 0 0 0 0 0 -4 8 0 -2 0 8 -4 0 -1 0 0 -8 0 4 0 8 -8 0 8 -1 8 0 -8 0 4 0 0 -4 0 0 0 2 -4 4 0 8 0 -8 0 0 0 0 8 -2 0 0 0 -8 0 -4 4 0 -2 0 8 0 -4 -4 -2 0 0 0 1 0 1 +1 1 0 -4 -2 0 -8 0 0 -4 -2 0 0 8 0 0 4 -4 -4 0 -1 0 0 8 8 0 0 8 -8 4 -2 0 0 0 0 0 2 0 0 0 8 -8 -8 0 8 0 0 0 0 0 -4 0 -2 0 2 8 0 -1 0 4 8 0 0 8 -8 0 -4 -4 -4 0 0 8 0 0 0 0 4 8 -8 8 0 -8 0 0 0 4 0 -8 -4 0 0 0 0 -8 4 0 -8 0 0 0 -8 0 0 0 -8 -8 0 8 0 8 0 4 4 0 0 -8 0 4 -8 0 -8 0 0 -4 8 -4 0 -4 0 8 0 0 8 0 8 0 0 0 -8 0 8 0 0 -8 8 8 0 0 0 -4 0 0 -8 0 -8 8 8 0 -8 0 -8 0 -8 4 4 0 0 4 0 0 -8 0 4 0 0 0 0 0 4 0 0 -4 0 -4 0 0 -4 8 0 -8 0 0 -8 8 -8 8 8 0 0 -4 0 8 0 -2 0 0 0 8 -4 4 0 0 0 0 0 -8 4 0 0 2 0 0 0 -4 -1 8 0 0 0 -4 0 8 -8 0 0 -1 0 8 0 0 0 0 -4 0 8 4 0 -2 0 8 -4 4 0 -8 0 0 8 -8 0 2 4 0 0 -8 8 0 0 0 -2 -4 0 -4 0 0 -2 -4 0 0 1 0 1 +1 1 0 -8 -2 4 -8 -4 -8 0 -2 8 0 8 0 0 0 0 8 0 -1 8 0 8 0 0 -4 0 0 0 2 0 0 4 0 0 -2 -8 0 4 -4 0 -8 0 -8 0 0 8 0 -8 8 0 2 0 -2 0 0 -1 4 -4 -8 0 4 0 8 0 0 4 0 0 4 8 0 -8 0 0 0 0 0 -4 0 8 8 0 0 0 0 -4 4 0 0 0 -8 8 -4 -8 0 -8 0 0 0 0 8 0 0 8 -8 -8 4 0 4 0 4 0 0 -8 0 -4 -4 0 0 0 0 4 -8 0 -8 0 0 8 0 0 0 0 0 0 8 0 8 0 -8 0 0 -8 0 0 4 -8 8 0 0 -8 0 -8 0 8 0 8 0 -8 -4 0 -4 0 4 0 0 -4 0 0 0 -8 0 0 0 0 0 0 -4 0 0 4 4 0 0 0 4 -8 0 8 0 0 8 -8 -8 0 0 4 -8 0 0 8 0 2 0 0 4 -4 8 0 0 0 0 0 0 0 -4 -8 0 -2 0 8 4 0 -1 0 0 8 0 4 0 -8 8 0 8 -1 0 0 8 0 -4 0 0 4 0 0 0 2 4 -4 8 0 0 -8 0 0 8 0 -8 -2 0 0 0 -8 8 4 -4 0 -2 -8 0 0 4 4 -2 -8 0 0 1 0 1 +1 1 4 -6 0 -4 -16 0 4 0 0 4 6 4 -8 0 0 0 4 -6 1 0 8 -4 0 -4 0 0 16 4 2 0 -4 0 -4 0 2 0 -8 4 4 0 4 4 0 -4 4 0 8 0 -4 -4 -2 0 -2 0 8 -1 -4 2 0 4 0 0 0 8 0 6 0 4 0 0 4 0 0 -8 -4 0 0 -4 -4 0 0 0 0 -4 0 4 0 0 0 0 8 0 -2 0 0 0 0 -4 0 -4 -8 4 -8 0 -8 0 0 0 0 4 0 8 4 -4 -4 0 -4 4 8 -4 -8 -2 0 0 0 0 -4 0 4 -8 -8 0 8 0 8 0 0 0 0 0 0 -4 -8 0 0 0 -8 0 8 0 0 0 0 0 8 8 8 8 4 4 -4 -4 0 -4 4 0 0 -4 -8 -8 4 4 -4 0 -4 0 -2 -8 4 0 0 0 -4 -8 -2 0 0 0 0 0 0 0 4 0 0 0 0 0 -8 0 -4 -2 -4 4 -4 -4 -4 -4 4 4 4 8 4 0 2 0 8 -2 -4 0 0 0 -1 0 4 0 8 2 0 0 0 -6 0 1 -4 0 0 0 0 0 0 0 0 0 8 2 4 4 4 4 -4 16 -8 -4 -4 0 0 2 0 -8 -4 -16 4 4 0 6 0 4 4 0 0 -4 0 -4 -2 4 -1 2 1 +1 1 -4 0 2 -4 0 -4 0 8 2 -8 0 0 0 -4 0 8 0 0 -1 0 0 0 8 0 -4 8 0 0 -2 0 0 -4 0 0 2 0 0 -4 -4 8 0 -8 0 0 0 0 0 8 0 0 -2 0 2 8 0 -1 -4 4 0 8 -4 8 0 0 -8 4 0 -8 4 0 0 0 0 0 0 0 8 -4 0 0 0 0 0 0 8 -4 4 0 0 -8 -8 0 4 0 8 0 0 8 8 -8 -8 0 0 0 -8 0 -4 0 4 0 -4 0 4 0 0 -4 -4 0 0 -8 0 4 0 0 8 -8 4 0 0 0 0 0 0 0 -8 0 0 -8 0 0 0 0 0 0 4 8 -8 -8 0 0 8 0 8 0 0 -8 0 -8 -4 0 -4 0 -4 4 0 -4 8 0 0 -8 0 4 8 0 -8 0 4 0 0 4 -4 0 -8 0 4 0 0 0 0 0 0 0 0 8 0 4 8 -8 0 0 0 -2 0 0 -4 -4 0 0 0 8 -8 0 0 8 4 0 0 2 0 0 -4 0 -1 8 -8 0 0 4 0 0 0 0 0 -1 0 8 0 0 -4 0 8 -4 8 0 0 -2 -4 -4 0 0 0 0 0 0 0 8 0 2 0 0 -4 0 0 -4 -4 0 2 0 0 8 -4 -4 2 0 0 -4 1 0 1 +1 1 -4 -4 2 0 0 0 -8 -4 2 8 0 0 0 -4 -4 -4 -4 0 -1 8 0 0 0 0 0 0 8 -4 2 0 0 8 0 0 -2 8 0 0 0 0 0 8 0 0 0 8 0 0 -4 0 2 0 -2 0 0 -1 0 4 0 -8 -8 0 0 0 -4 4 4 -8 0 0 0 8 0 0 -4 8 0 0 0 0 8 0 0 -4 -8 0 -4 0 0 8 0 0 4 8 0 8 0 -8 0 8 0 0 -8 0 0 0 -8 8 0 -4 -4 0 4 0 0 4 0 0 -8 -8 0 4 0 4 0 -4 4 0 0 0 -8 0 -8 0 0 0 0 8 0 0 0 0 -8 8 0 0 0 -4 0 8 0 8 0 0 -8 0 -8 0 0 0 0 -4 -4 4 0 4 -8 0 -8 0 -4 4 -8 0 8 0 4 0 0 -4 -8 4 -8 0 4 0 0 0 0 0 0 0 0 0 8 0 0 -4 0 0 0 2 0 0 0 0 -4 -4 0 -8 8 0 0 0 4 8 0 -2 0 8 -8 4 -1 0 -8 8 0 4 0 0 0 0 8 -1 0 0 8 0 0 0 -4 8 0 -4 0 2 0 0 -4 -4 0 0 0 0 0 0 8 -2 -4 0 -4 0 0 0 0 0 2 -4 0 -4 8 0 2 -4 0 -4 1 0 1 +1 1 -4 0 2 -4 0 4 0 -8 2 0 0 0 0 -4 0 -8 0 0 -1 0 0 0 8 0 4 8 0 0 -2 0 0 4 0 0 2 0 0 -4 -4 8 0 8 0 0 0 0 0 -8 0 0 -2 0 2 8 0 -1 -4 -4 0 -8 4 8 0 0 8 -4 0 8 -4 0 0 0 0 0 0 0 8 -4 0 0 0 0 0 0 8 -4 4 0 0 -8 -8 0 -4 0 8 0 0 -8 8 8 -8 0 0 0 -8 0 4 0 -4 0 -4 0 4 0 0 -4 -4 0 0 8 0 -4 0 0 -8 8 4 0 0 0 0 0 0 0 -8 0 0 -8 0 0 0 0 0 0 -4 -8 -8 8 0 0 8 0 8 0 0 -8 0 -8 -4 0 -4 0 -4 4 0 -4 8 0 0 -8 0 4 -8 0 8 0 -4 0 0 4 4 0 8 0 -4 0 0 0 0 0 0 0 0 8 0 -4 -8 8 0 0 0 -2 0 0 -4 -4 0 0 0 -8 8 0 0 8 -4 0 0 2 0 0 4 0 -1 8 8 0 0 -4 0 0 0 0 0 -1 0 8 0 0 4 0 -8 4 8 0 0 -2 -4 -4 0 0 0 0 0 0 0 8 0 2 0 0 -4 0 0 -4 4 0 2 0 0 -8 4 -4 2 0 0 -4 1 0 1 +1 1 -4 -4 2 0 0 0 0 4 2 -8 0 0 0 -4 4 4 -4 0 -1 8 0 0 0 0 0 0 8 -4 2 0 0 -8 0 0 -2 8 0 0 0 0 0 -8 0 0 0 8 0 0 -4 0 2 0 -2 0 0 -1 0 -4 0 8 8 0 0 0 4 -4 -4 8 0 0 0 8 0 0 -4 -8 0 0 0 0 8 0 0 -4 -8 0 -4 0 0 8 0 0 -4 8 0 8 0 8 0 -8 0 0 -8 0 0 0 8 -8 0 -4 -4 0 4 0 0 4 0 0 -8 8 0 -4 0 -4 0 4 4 0 0 0 -8 0 -8 0 0 0 0 8 0 0 0 0 -8 -8 0 0 0 4 0 8 0 8 0 0 -8 0 -8 0 0 0 0 -4 -4 4 0 4 -8 0 -8 0 -4 4 8 0 -8 0 -4 0 0 -4 8 -4 8 0 -4 0 0 0 0 0 0 0 0 0 -8 0 0 4 0 0 0 2 0 0 0 0 -4 -4 0 8 -8 0 0 0 -4 8 0 -2 0 8 8 -4 -1 0 8 8 0 -4 0 0 0 0 8 -1 0 0 8 0 0 0 4 -8 0 4 0 2 0 0 -4 -4 0 0 0 0 0 0 8 -2 4 0 -4 0 0 0 0 0 2 -4 0 4 -8 0 2 -4 0 -4 1 0 1 +1 1 0 -6 4 -4 -8 0 4 0 -4 4 6 -4 0 -4 0 0 -4 -6 1 0 0 4 8 4 0 0 16 -4 -2 -8 -4 0 4 0 -2 8 0 -4 -4 8 -4 -4 0 4 -4 0 0 0 4 -4 2 8 2 0 0 -1 4 2 8 -4 0 -8 8 0 0 6 0 4 0 -8 -4 -8 0 16 4 0 -8 4 4 0 -8 0 0 -4 0 4 0 0 0 0 0 -8 -2 0 0 0 0 4 0 4 0 -4 0 0 0 0 0 0 0 4 0 -16 0 4 4 0 -4 -4 0 -4 0 -2 -8 0 0 0 0 8 4 0 0 0 0 0 0 0 -8 0 -8 0 0 4 0 0 0 0 0 0 -16 0 0 0 0 8 0 0 0 0 4 4 -4 -4 0 0 -4 0 0 4 0 0 4 0 4 0 4 0 -2 0 -4 0 0 0 -4 0 -2 0 0 0 0 8 8 8 -4 0 0 0 0 0 16 -8 -4 2 4 -4 4 4 4 4 -4 -4 -4 0 4 -8 2 -8 0 2 4 0 0 0 -1 -8 4 -8 0 2 0 0 0 -6 0 1 4 8 8 0 0 -8 0 0 0 0 0 -2 -4 -4 -4 -4 4 8 0 -4 4 8 8 -2 0 0 0 -8 -4 4 0 6 -4 4 -4 0 0 -4 4 -4 -2 0 -1 2 1 +1 1 0 2 0 -8 0 -4 -4 0 0 4 -2 -4 0 4 0 0 4 2 -3 -8 0 4 -8 0 4 16 0 -4 -2 0 0 4 -4 0 2 0 0 8 -8 8 -4 -4 8 12 0 8 0 8 -4 -4 2 0 -2 -16 0 3 -8 6 0 4 4 8 0 0 0 6 0 -12 12 0 4 0 0 0 4 0 -8 8 -12 -8 0 4 4 -4 0 -8 0 0 -4 0 8 0 -6 -8 -16 8 -4 -4 16 4 8 -12 0 8 -8 -8 -4 0 -12 4 0 0 0 4 -4 0 8 12 0 12 0 -6 0 0 -8 0 0 0 4 0 0 0 0 0 -8 4 0 0 0 0 0 4 0 0 -12 -8 8 0 0 8 16 -8 -16 0 0 -8 0 8 -8 4 8 -4 0 0 12 0 0 -4 0 -8 4 0 -4 4 4 -4 -6 0 -12 0 -4 0 12 0 -6 -8 -4 8 0 0 0 0 -4 -16 0 12 8 0 0 0 -4 2 -12 4 -8 8 -4 4 0 4 -4 0 0 -8 6 0 0 -2 12 8 4 0 3 8 -12 0 0 6 0 8 -8 2 -8 -3 -4 -8 0 0 4 0 0 4 16 0 0 -2 8 -8 4 -4 0 0 0 0 4 8 0 2 0 0 0 0 -4 8 -4 -2 0 -4 4 0 -4 -8 0 4 -2 0 -1 2 1 +1 1 0 -4 -2 0 8 0 -8 4 -2 0 0 -8 0 0 -4 4 -4 0 -1 0 0 -8 8 0 0 8 8 4 -2 0 0 0 0 0 2 0 0 0 8 -8 8 0 -8 0 0 0 0 0 -4 0 -2 0 2 8 0 -1 0 -4 -8 0 0 8 8 0 4 4 4 0 0 -8 0 0 0 0 4 -8 -8 8 0 8 0 0 0 4 0 -8 -4 0 0 0 0 8 -4 0 -8 0 0 0 -8 0 0 0 -8 8 0 -8 0 -8 0 4 4 0 0 8 0 4 -8 0 -8 0 0 4 -8 4 0 4 0 -8 0 0 8 0 8 0 0 0 8 0 -8 0 0 8 8 -8 0 0 0 4 0 0 -8 0 -8 -8 8 0 -8 0 -8 0 -8 4 4 0 0 4 0 0 -8 0 4 0 0 0 0 0 -4 0 0 -4 0 4 0 0 4 -8 0 8 0 0 8 -8 8 8 -8 0 0 4 0 -8 0 -2 0 0 0 8 -4 4 0 0 0 0 0 -8 -4 0 0 2 0 0 0 4 -1 8 0 0 0 4 0 -8 8 0 0 -1 0 8 0 0 0 0 4 0 8 -4 0 -2 0 8 -4 4 0 8 0 0 -8 -8 0 2 -4 0 0 8 -8 0 0 0 -2 -4 0 4 0 0 -2 -4 0 0 1 0 1 +1 1 0 -2 0 -4 0 0 -4 -4 0 4 -2 -4 0 4 4 4 0 2 -3 0 0 4 0 0 0 8 -8 0 2 0 0 0 -4 0 -2 8 0 -4 4 0 -4 4 -8 4 0 0 0 0 0 -4 -2 0 2 -8 0 3 4 -2 0 -4 0 0 0 0 4 -2 12 4 0 0 4 -8 0 0 0 8 0 -4 -4 8 8 4 -4 0 0 -4 0 0 -4 0 0 0 2 0 8 0 4 4 -8 -4 0 -4 -8 -8 0 8 0 -8 0 0 0 0 0 4 -4 0 4 4 8 -4 0 2 0 -12 0 -4 0 0 4 0 8 0 -8 0 0 4 0 0 0 0 0 4 8 -8 0 0 0 -4 0 0 -8 0 8 0 -8 0 8 0 -4 4 4 0 0 0 4 0 0 -4 -8 0 0 0 4 -4 -4 4 2 0 -4 0 0 -12 -4 0 2 8 -4 -8 0 0 0 0 -4 -8 8 0 0 4 0 0 -4 -2 -4 4 4 -4 0 0 0 -4 4 0 0 0 -2 -8 0 2 4 0 0 12 3 0 4 8 0 -2 0 -8 8 2 0 -3 -4 0 -8 0 0 0 4 0 8 4 0 2 -4 4 0 0 0 0 0 0 4 0 8 -2 -4 0 0 0 -4 4 0 -2 0 0 4 -4 0 -4 0 0 -2 0 -1 2 1 +1 1 0 -2 0 -4 0 0 4 -12 0 4 -2 4 0 -4 -4 12 0 2 -3 0 0 -4 0 0 0 8 8 0 -6 0 0 0 4 0 6 -8 0 -4 4 0 4 4 8 4 0 0 0 0 0 -4 6 0 -6 -8 0 3 4 -2 0 -4 0 0 0 0 12 -2 -12 4 0 0 -4 8 0 0 0 24 0 -4 -4 -8 -8 -12 -4 0 0 -4 0 0 12 0 0 0 2 0 8 0 4 4 -8 -4 0 -4 8 8 0 -8 0 -24 0 0 0 0 0 -4 4 0 4 4 -8 -4 0 2 0 12 0 -12 0 0 4 0 -8 0 8 0 0 -12 0 0 0 0 0 -4 -8 -24 0 0 0 -12 0 0 -8 0 8 0 8 0 -8 0 -4 4 4 0 0 0 4 0 0 4 8 0 0 0 4 -4 -4 4 2 0 -4 0 0 12 -4 0 2 -8 12 8 0 0 0 0 4 -8 24 0 0 12 0 0 -4 6 -4 -4 4 -4 0 0 0 -4 4 0 0 0 -2 8 0 -6 4 0 0 -12 3 0 4 -8 0 -2 0 8 -8 2 0 -3 4 0 8 0 0 0 12 0 8 -4 0 -6 -4 4 0 0 0 0 0 0 -4 0 -8 6 4 0 0 0 4 4 0 -2 0 0 -4 -12 0 -4 0 0 -2 0 -1 2 1 +1 1 0 -6 0 0 0 -4 4 0 0 -4 -2 4 0 -4 0 0 -4 2 -3 8 0 -4 8 0 4 0 0 4 -2 0 0 4 4 0 2 0 0 0 0 -8 4 -4 -8 -4 0 -8 0 8 4 -4 2 0 -2 0 0 3 0 -2 0 4 4 -8 0 0 0 -2 0 4 12 0 -4 0 0 0 -4 0 8 0 4 8 0 4 4 4 0 0 0 0 -4 0 -8 0 2 8 0 -8 -4 -4 0 4 -8 4 0 -8 8 8 -4 0 -12 -4 0 0 0 -4 4 0 0 -4 0 -4 0 2 0 0 -8 0 0 0 4 0 0 0 0 0 8 4 0 0 0 0 0 -4 0 0 -12 -8 -8 0 0 -8 0 8 0 0 0 8 0 -8 0 4 0 4 0 0 -4 0 0 4 0 8 -4 0 -4 4 4 -4 2 0 4 0 -4 0 -4 0 2 8 -4 -8 0 0 0 0 4 0 0 12 8 0 0 0 -4 2 4 -4 0 0 4 -4 0 4 -4 0 0 8 -2 0 0 -2 -4 -8 4 0 3 -8 4 0 0 -2 0 -8 8 2 8 -3 4 8 0 0 4 0 0 4 0 0 0 -2 0 0 -4 4 0 0 0 0 -4 -8 0 2 0 0 0 0 4 0 -4 -2 0 4 -4 0 -4 0 0 -4 -2 0 -1 2 1 +1 1 0 -8 -2 4 8 4 -8 0 -2 0 0 -8 0 0 0 0 8 0 -1 8 0 -8 0 0 4 0 16 0 2 0 0 -4 0 0 -2 -8 0 4 -4 0 8 0 8 0 0 8 0 8 8 0 2 0 -2 0 0 -1 4 4 8 0 -4 0 -8 0 0 -4 0 0 -4 -8 0 -8 0 0 0 0 0 -4 0 -8 8 0 0 0 0 -4 4 0 0 0 -8 -8 4 -8 0 -8 0 0 0 0 8 0 0 -8 -8 8 -4 0 -4 0 4 0 0 8 0 -4 -4 0 0 0 0 -4 8 0 8 0 0 -8 0 0 0 0 0 0 8 0 -8 0 8 0 0 8 0 0 -4 8 8 0 0 -8 0 -8 0 -8 0 8 0 -8 -4 0 -4 0 4 0 0 -4 0 0 0 -8 0 0 0 0 0 0 4 0 0 4 -4 0 0 0 -4 8 0 -8 0 0 -8 8 8 0 0 -4 8 0 0 -8 0 2 0 0 4 -4 8 0 0 0 0 0 0 0 4 -8 0 -2 0 8 -4 0 -1 0 0 8 0 -4 0 8 -8 0 8 -1 0 0 8 0 4 0 0 -4 0 0 0 2 4 -4 8 0 0 8 0 0 -8 0 -8 -2 0 0 0 8 -8 4 4 0 -2 -8 0 0 -4 4 -2 -8 0 0 1 0 1 +1 1 4 -10 0 0 8 4 4 4 0 -4 6 -12 -8 -8 4 -4 0 -6 1 0 8 12 16 -4 -4 0 -8 0 -2 0 4 4 4 -8 -2 -16 0 8 8 0 4 4 8 4 4 0 8 -8 0 -4 2 0 2 0 -8 -1 -8 -6 8 4 4 -16 -8 0 -4 -2 -4 -4 4 8 -4 16 8 -8 0 8 0 -8 4 8 0 0 0 -8 0 0 0 0 0 0 0 8 6 0 0 0 0 -4 0 -4 16 -4 0 -8 0 -8 -4 -8 -4 8 0 8 -4 -4 4 0 0 -4 0 4 -8 -2 -8 4 8 4 4 -8 4 8 16 0 -16 0 -16 0 8 0 -8 0 0 -4 16 -8 -4 8 16 4 8 0 0 0 0 -8 -16 -16 0 0 0 4 0 -8 0 4 -4 0 0 4 0 0 8 -4 -4 0 -4 0 6 8 -4 0 -4 4 4 -8 -2 -8 0 -8 0 0 -8 8 4 0 8 4 -8 -4 -8 8 -4 2 4 -4 -8 -8 0 0 4 4 4 0 -4 0 -6 16 -8 2 4 0 4 -4 -1 -16 -4 0 8 2 8 8 8 -6 0 1 4 16 0 -8 -4 0 -4 4 0 4 8 -2 8 8 0 0 -4 -8 0 4 12 0 -16 -2 -4 -8 -4 8 -12 0 4 6 0 8 -4 4 -4 0 0 -8 -2 4 -1 2 1 +1 1 0 0 -6 0 0 0 0 0 -6 0 0 0 0 0 0 0 0 0 3 0 0 0 0 12 0 0 0 0 -6 24 -12 0 0 0 -6 0 0 0 0 0 0 0 0 0 12 0 0 0 0 0 -6 24 -6 0 0 3 0 0 0 0 0 0 0 0 0 -12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 -4 0 0 0 12 0 12 0 0 0 0 0 0 0 -4 0 0 0 0 0 0 0 0 0 0 0 0 0 -12 0 0 0 0 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -48 0 12 0 0 0 -48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -12 0 0 12 0 0 0 0 0 0 0 -4 0 -4 0 0 0 12 0 0 0 0 0 0 12 0 0 24 0 0 0 0 0 0 0 0 0 0 0 -6 0 0 0 0 0 0 12 0 0 0 -12 0 0 0 0 -6 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 24 0 0 0 0 0 -6 0 0 0 0 12 0 0 -12 0 0 0 -6 0 0 0 0 0 0 0 0 -6 0 0 0 0 0 -6 0 0 0 1 0 1 +1 1 -4 0 -2 0 0 0 0 0 -2 0 0 0 0 -4 0 0 0 0 3 0 0 0 0 -4 0 0 0 0 -2 8 -4 0 0 8 -2 0 8 0 0 0 0 0 0 0 -4 0 0 0 0 0 -2 8 -2 0 0 3 0 0 0 0 0 0 0 8 0 -4 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 -4 4 0 8 0 -4 -16 -4 8 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 0 -4 0 0 -4 0 0 0 0 0 0 0 0 0 0 -4 0 0 0 0 -16 0 16 0 -4 0 8 0 16 -16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 -4 0 -4 8 0 0 0 0 -4 0 4 0 4 0 0 0 -4 0 0 0 0 0 0 -4 0 -16 8 0 0 0 0 0 0 0 0 0 0 0 -2 0 0 0 0 0 0 -4 0 0 8 -4 0 0 0 0 -2 0 0 0 0 3 0 0 0 0 0 8 0 0 0 0 3 0 0 0 8 0 8 0 0 0 0 0 -2 0 0 0 0 -4 0 8 -4 0 0 0 -2 0 0 -4 0 0 0 0 0 -2 0 0 0 0 0 -2 0 0 -4 1 0 1 +1 1 0 2 -4 -4 0 0 -4 0 4 4 -2 -4 -8 4 0 0 -4 2 1 0 8 4 0 4 0 0 0 -4 -2 8 -4 0 -4 0 -2 0 0 4 4 0 4 4 0 -4 -4 0 -8 0 4 4 2 -8 2 0 8 -1 -4 -6 0 4 0 0 16 0 0 6 0 -4 0 0 -4 0 0 8 4 0 0 -4 -4 0 0 0 0 4 0 4 0 0 0 0 8 -16 6 0 0 0 0 -4 0 -4 -8 4 8 0 -8 0 0 0 0 -4 0 -8 0 -4 4 0 -4 4 -8 4 8 -2 0 0 0 0 0 0 -4 -8 8 0 -8 0 8 0 -16 0 0 0 0 -4 8 0 0 0 -8 0 -8 0 0 0 0 0 -8 8 -8 8 4 -4 -4 4 0 0 4 0 0 4 8 -8 -4 0 -4 0 -4 0 6 -8 4 0 0 0 4 8 -2 0 0 0 0 -8 16 0 4 0 0 0 0 0 8 0 4 2 -4 -4 -4 -4 4 4 -4 4 4 0 4 0 -6 0 8 2 -4 0 0 0 -1 0 -4 0 -8 2 0 0 0 2 0 1 -4 0 0 0 0 8 0 0 0 0 8 -2 4 4 -4 -4 4 0 0 -4 4 0 0 -2 0 -8 0 0 -4 4 0 -2 4 -4 4 0 0 -4 -4 4 -2 0 -1 2 1 +1 1 0 -8 -6 8 0 0 -8 0 -6 8 0 0 0 0 0 0 8 0 3 -16 0 0 0 12 0 16 0 8 2 -8 4 0 0 0 2 0 0 -8 -8 0 0 0 0 0 12 -16 0 0 8 0 2 -8 2 16 0 3 -8 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 8 0 0 -8 0 0 0 -4 -4 -8 0 8 -4 0 -4 0 0 0 0 16 -16 16 -4 0 -16 0 0 0 0 0 0 0 0 0 0 -8 -12 0 0 0 0 -4 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 -4 0 0 0 16 0 0 0 0 0 0 0 0 0 16 -16 16 -16 0 0 0 0 0 8 0 8 -8 -12 0 0 -4 0 0 0 0 -8 0 0 -4 0 -4 0 0 0 -4 0 0 0 0 0 0 -4 0 0 -8 0 0 0 16 0 0 0 0 0 0 0 2 0 0 -8 -8 8 8 12 0 0 0 4 0 0 0 0 2 0 -16 0 0 3 0 0 0 0 0 0 0 0 0 -16 3 0 0 0 0 0 -8 0 0 16 0 0 2 -8 -8 8 8 12 0 0 4 0 0 0 2 0 0 0 0 0 8 0 0 -6 -8 0 0 0 8 -6 -8 0 0 1 0 1 +1 1 0 -6 -4 4 0 0 4 0 4 -4 -2 4 -8 -4 0 0 4 2 1 0 8 -4 0 4 0 0 0 4 -2 8 -4 0 4 0 -2 0 0 -4 -4 0 -4 4 0 -4 -4 0 8 0 -4 4 2 -8 2 0 -8 -1 4 2 16 4 0 0 0 0 0 -2 0 -4 0 0 4 0 0 8 -4 0 0 4 -4 0 0 0 0 -4 0 -4 0 0 0 0 -8 0 -2 0 0 0 0 -4 0 -4 8 4 -8 0 8 0 0 0 0 4 0 -8 0 4 -4 0 4 4 8 4 -8 6 -16 0 0 0 0 0 -4 8 -8 0 8 0 -8 0 0 0 -16 0 0 4 -8 0 0 0 8 0 -8 0 0 0 0 0 8 -8 8 -8 -4 -4 4 -4 0 0 4 0 0 -4 -8 8 4 0 -4 0 -4 0 -2 8 4 0 0 0 4 -8 6 0 0 0 0 -8 0 16 -4 0 0 0 0 0 8 0 4 2 -4 4 4 4 -4 -4 -4 4 4 0 4 0 2 0 -8 2 -4 0 0 0 -1 0 -4 0 8 -6 0 0 0 2 0 1 4 0 0 0 0 8 0 0 0 0 8 -2 -4 -4 4 4 4 0 0 -4 -4 0 0 -2 0 -8 0 0 4 -4 0 -2 4 4 -4 0 0 4 -4 -4 -2 0 -1 2 1 +1 1 -4 0 -2 0 0 -8 -8 8 -2 8 0 0 0 -4 -8 8 0 0 3 0 0 0 0 -4 -8 0 0 0 -2 -8 12 8 0 24 -2 0 -8 0 0 0 0 0 0 0 -4 0 0 16 0 0 -2 -8 -2 0 0 3 0 0 0 0 8 0 0 -8 8 12 -24 0 -24 0 0 0 24 0 0 16 0 0 0 0 0 -4 4 0 -8 0 12 -16 -4 -8 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 8 16 -24 0 -4 0 -4 0 0 12 0 0 0 0 0 0 0 -24 16 8 -4 0 0 0 0 16 0 -16 0 -4 0 -8 0 -16 16 0 0 16 -24 16 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 -4 0 12 -8 0 0 0 0 -4 0 4 0 4 0 0 0 12 8 -24 0 0 0 0 -4 0 -16 -8 0 0 0 0 16 -24 16 8 0 0 0 -2 0 0 0 0 0 0 -4 0 0 -8 12 0 0 0 0 -2 0 0 8 -24 3 0 0 0 0 0 24 0 0 0 0 3 0 0 0 24 -8 -8 8 8 0 -8 0 -2 0 0 0 0 -4 0 -8 12 0 0 0 -2 -8 0 -4 0 0 0 -8 0 -2 0 0 8 8 0 -2 0 0 -4 1 0 1 +1 1 -8 0 2 0 0 0 0 0 2 0 0 0 0 -8 0 0 0 0 3 0 0 0 0 -4 0 0 0 0 2 8 4 0 0 0 2 0 0 0 0 0 0 0 0 0 -4 0 0 0 0 0 2 8 2 0 0 3 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 -4 0 0 0 -4 32 -4 0 0 0 0 0 0 0 -4 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 -8 0 0 -4 0 0 0 0 0 0 0 0 0 0 -8 0 0 0 0 0 0 -16 0 -4 0 0 0 -16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 -8 0 -4 0 0 0 0 0 -8 0 -4 0 -4 0 0 0 -4 0 0 0 0 0 0 -4 0 32 8 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 -4 0 0 0 4 0 0 0 0 2 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 8 0 0 0 0 0 2 0 0 0 0 -4 0 0 4 0 0 0 2 0 0 -8 0 0 0 0 0 2 0 0 0 0 0 2 0 0 -8 1 0 1 +1 1 -4 -2 0 0 0 -4 -4 4 0 4 -2 -4 0 0 4 -4 0 2 1 0 0 4 8 -4 4 0 -8 0 -2 0 4 -4 4 8 -2 8 0 0 0 -8 4 -4 8 -4 4 0 0 8 0 4 2 0 2 0 0 -1 0 2 0 -4 -4 -8 0 0 -4 -2 -4 4 -4 0 4 -8 -8 0 0 8 8 0 -4 8 8 0 0 0 0 0 0 0 0 0 8 0 -2 0 0 0 0 4 0 4 8 4 8 -8 -8 -8 4 -8 4 0 0 0 4 -4 -4 0 0 4 -8 -4 0 -2 0 4 -8 4 -4 0 -4 0 -8 0 8 0 -8 0 0 0 0 0 0 -4 -8 -8 4 -8 8 4 0 0 0 0 0 0 8 -8 -8 8 0 -4 0 0 0 -4 4 0 0 -4 8 -8 0 4 4 0 4 0 -2 0 4 0 4 4 -4 0 -2 -8 0 -8 0 0 0 0 4 0 8 -4 8 -4 0 0 4 2 -4 4 0 0 0 0 4 -4 -4 0 -4 8 2 -8 0 2 -4 0 -4 -4 -1 -8 4 8 0 2 -8 8 8 2 0 1 4 8 -8 8 4 0 -4 -4 0 4 0 -2 0 0 0 0 -4 0 0 4 4 -8 8 -2 -4 0 4 0 -4 0 -4 -2 0 0 -4 4 4 0 0 0 -2 -4 -1 2 1 +1 1 -4 0 -2 0 0 8 8 -8 -2 -8 0 0 0 -4 8 -8 0 0 3 0 0 0 0 -4 8 0 0 0 -2 -8 12 -8 0 24 -2 0 -8 0 0 0 0 0 0 0 -4 0 0 -16 0 0 -2 -8 -2 0 0 3 0 0 0 0 -8 0 0 -8 -8 12 24 0 24 0 0 0 24 0 0 -16 0 0 0 0 0 -4 4 0 -8 0 12 -16 -4 -8 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 -8 -16 24 0 -4 0 -4 0 0 12 0 0 0 0 0 0 0 24 -16 -8 -4 0 0 0 0 16 0 -16 0 -4 0 -8 0 -16 16 0 0 -16 24 -16 0 -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 -4 0 12 -8 0 0 0 0 -4 0 4 0 4 0 0 0 12 -8 24 0 0 0 0 -4 0 -16 -8 0 0 0 0 -16 24 -16 -8 0 0 0 -2 0 0 0 0 0 0 -4 0 0 -8 12 0 0 0 0 -2 0 0 -8 24 3 0 0 0 0 0 24 0 0 0 0 3 0 0 0 24 8 -8 -8 -8 0 8 0 -2 0 0 0 0 -4 0 -8 12 0 0 0 -2 8 0 -4 0 0 0 8 0 -2 0 0 -8 -8 0 -2 0 0 -4 1 0 1 +1 1 -4 -2 0 0 0 4 4 -4 0 -4 -2 -4 0 0 -4 4 0 2 1 0 0 4 -8 -4 -4 0 8 0 -2 0 4 4 4 8 -2 -8 0 0 0 8 4 -4 8 -4 4 0 0 -8 0 4 2 0 2 0 0 -1 0 2 0 -4 4 8 0 0 4 -2 4 4 4 0 4 8 -8 0 0 -8 -8 0 -4 8 -8 0 0 0 0 0 0 0 0 0 -8 0 -2 0 0 0 0 4 0 4 -8 4 -8 -8 8 -8 -4 8 -4 0 0 0 4 -4 -4 0 0 4 8 -4 0 -2 0 -4 8 -4 -4 0 -4 0 8 0 -8 0 8 0 0 0 0 0 0 -4 8 8 -4 8 -8 -4 0 0 0 0 0 0 -8 8 8 -8 0 -4 0 0 0 -4 4 0 0 -4 -8 8 0 4 4 0 4 0 -2 0 4 0 -4 -4 -4 0 -2 -8 0 -8 0 0 0 0 4 0 -8 4 -8 4 0 0 4 2 -4 4 0 0 0 0 4 -4 -4 0 -4 -8 2 8 0 2 -4 0 4 4 -1 8 4 -8 0 2 -8 8 8 2 0 1 4 -8 8 8 -4 0 4 4 0 -4 0 -2 0 0 0 0 -4 0 0 4 4 8 -8 -2 4 0 4 0 -4 0 4 -2 0 0 -4 -4 -4 0 0 0 -2 -4 -1 2 1 +1 1 0 6 -4 -8 -8 -4 -12 4 4 12 -2 -4 -8 12 4 -4 0 2 1 0 8 4 0 4 4 0 8 -16 2 -8 4 -4 -12 8 2 0 -8 16 0 0 4 4 8 4 -4 0 -24 -8 0 4 -2 8 -2 0 8 -1 -16 10 8 4 12 0 -24 8 12 -10 -4 4 -4 8 -12 0 -8 8 16 -8 0 0 4 8 0 0 0 8 0 8 0 0 0 0 -16 24 -10 16 16 -16 0 -4 -16 -4 16 -4 -16 -8 16 -8 -12 8 4 -8 0 -8 -8 -4 12 0 -8 -4 16 -4 24 6 -8 4 8 -12 8 -8 -4 -8 -16 0 16 0 -16 0 24 0 -8 0 0 -4 -16 8 4 8 16 -12 -8 -16 -16 16 16 -8 16 -16 16 -16 8 -4 -8 8 0 8 -4 0 0 12 -16 16 -8 -8 -4 0 -4 0 -10 -8 -4 0 -12 4 -4 24 6 -8 0 -8 0 8 -24 8 4 0 -8 -4 -8 12 8 8 4 -2 4 -12 -16 0 0 16 -4 4 4 8 -4 0 10 0 8 -2 4 0 12 -4 -1 0 4 0 -24 -6 -8 8 8 2 0 1 -12 0 0 8 4 -8 -4 -4 0 4 8 2 16 0 0 -16 4 8 -8 4 4 0 0 2 -4 -8 0 -8 -4 8 -4 -2 4 -8 12 4 4 -8 -4 8 -2 0 -1 2 1 +1 1 -4 2 0 -4 -8 0 -4 0 0 4 -2 -4 0 8 0 0 4 2 1 0 0 4 8 -4 0 0 0 4 2 0 -4 0 -4 0 2 -8 8 -4 -4 8 4 -4 0 4 4 0 16 0 -4 4 -2 0 -2 0 0 -1 4 2 -8 -4 0 -8 8 -8 0 -2 0 -4 0 8 -4 8 0 0 -4 0 -8 4 4 0 8 0 0 4 0 4 0 0 0 0 0 -8 -2 0 0 0 0 4 0 4 0 -4 0 0 0 0 0 0 0 -4 0 0 -4 -4 4 0 -4 -4 0 4 -16 6 8 0 0 0 4 -8 -4 0 0 0 0 0 0 0 -8 0 8 0 0 -4 0 0 0 0 0 0 0 0 0 0 0 -8 0 0 0 0 4 -4 -4 4 0 4 -4 0 0 4 0 0 -4 -4 4 0 4 0 -2 0 -4 0 0 0 4 -16 6 0 0 0 0 0 8 -8 4 0 0 0 0 0 0 8 4 -2 4 -4 4 4 -4 -4 4 -4 -4 -8 4 -8 2 8 0 -2 4 0 0 0 -1 -8 -4 8 16 -6 0 0 0 2 0 1 -4 8 -8 0 0 0 0 0 0 0 0 2 -4 -4 4 4 -4 8 8 -4 4 8 -8 2 0 0 4 -8 -4 4 0 -2 0 -4 4 0 0 -4 0 4 -2 -4 -1 2 1 +1 1 0 -2 -4 0 -8 4 4 -4 4 -4 -2 4 -8 4 -4 4 -8 2 1 0 8 -4 0 4 -4 0 8 8 2 -8 4 4 -4 8 2 0 -8 -8 8 0 -4 4 8 4 -4 0 -8 8 8 4 -2 8 -2 0 -8 -1 8 2 -8 4 -12 0 -8 8 -12 -2 4 4 4 8 -4 0 -8 8 -8 8 0 -8 4 8 0 0 0 0 0 0 0 0 0 0 0 8 -2 -16 -16 16 0 -4 16 -4 0 -4 0 -8 0 -8 12 -8 -4 0 0 -8 -8 4 4 0 0 -4 0 -4 8 -2 8 -4 -8 12 8 -8 -4 8 0 0 0 0 0 0 8 0 8 0 0 4 0 -8 -4 -8 0 12 -8 16 16 -16 -16 -8 0 0 0 0 0 -4 0 0 0 8 -4 0 0 4 0 0 0 -8 -4 0 -4 0 -2 8 -4 0 12 -4 -4 8 -2 -8 0 -8 0 8 -8 -8 -4 0 8 4 8 -12 8 8 4 -2 4 -4 8 -8 8 -8 -4 4 4 8 -4 0 2 0 -8 -2 4 0 -12 4 -1 0 4 0 -8 2 -8 8 8 2 0 1 -4 0 0 8 -4 -8 4 4 0 -4 8 2 -8 8 -8 8 4 8 -8 4 -4 0 0 2 4 -8 0 -8 4 0 4 -2 4 0 4 -4 -4 0 -4 0 -2 0 -1 2 1 +1 1 0 -6 0 0 0 4 4 0 0 -12 -2 -4 0 4 0 0 -4 2 -3 8 0 4 -8 0 -4 0 0 4 6 0 0 12 -4 0 -6 0 0 0 0 8 -4 -4 8 -4 0 -8 0 24 4 -4 -6 0 6 0 0 3 0 -2 0 4 12 8 0 0 0 -2 0 4 -12 0 4 0 0 0 -4 0 -8 0 4 -8 0 -12 4 4 0 0 0 0 12 0 8 0 2 8 0 -8 -4 -4 0 4 8 4 0 8 -8 -8 -12 0 12 -4 0 0 0 4 -4 0 0 -4 0 -4 0 2 0 0 -24 0 0 0 4 0 0 0 0 0 -8 -12 0 0 0 0 0 4 0 0 12 -24 8 0 0 -8 0 8 0 0 0 -8 0 8 0 4 0 4 0 0 -4 0 0 -4 0 -8 -4 0 -4 4 4 -4 2 0 4 0 -12 0 -4 0 2 -8 12 8 0 0 0 0 -4 0 0 -12 24 0 0 0 -4 -6 4 4 0 0 4 -4 0 4 -4 0 0 -8 -2 0 0 6 -4 -8 12 0 3 8 4 0 0 -2 0 8 -8 2 8 -3 -4 -8 0 0 -4 0 0 12 0 0 0 6 0 0 -4 4 0 0 0 0 4 8 0 -6 0 0 0 0 -4 0 4 -2 0 4 4 0 -12 0 0 -4 -2 0 -1 2 1 +1 1 0 -10 0 4 0 0 4 -4 0 -4 -2 4 0 -4 4 4 8 2 -3 16 0 -4 0 0 0 -8 8 -8 2 0 0 0 4 0 -2 -8 0 4 -4 0 4 4 8 -12 0 -16 0 0 -8 -4 -2 0 2 8 0 3 -4 6 0 -4 0 0 0 0 4 6 12 -12 0 0 -4 8 0 0 8 8 0 4 12 -8 -8 4 -4 8 0 4 0 0 -4 0 0 0 -6 -16 -8 16 4 4 8 -4 0 12 8 8 0 -8 0 -8 0 -8 0 0 0 -4 4 0 -4 -12 -8 12 0 -6 0 -12 0 -4 0 0 4 0 -8 0 8 0 0 4 0 0 0 0 0 -4 -8 -8 0 0 0 -4 0 16 8 -16 -8 0 8 0 -8 0 4 4 -4 8 0 0 -12 0 0 4 8 0 -8 0 4 -4 -4 4 -6 0 12 0 0 -12 12 0 -6 -8 -4 8 0 0 0 0 4 8 8 0 0 4 0 0 -4 -2 12 -4 -4 4 -8 8 0 -4 4 0 0 0 6 8 0 2 -12 -16 0 12 3 0 -12 -8 0 6 0 8 -8 2 16 -3 4 0 8 0 0 0 4 0 -8 4 0 2 4 -4 8 -8 0 0 0 0 -4 0 -8 -2 -4 0 0 0 4 -4 0 -2 0 8 -4 -4 0 4 0 -8 -2 0 -1 2 1 +1 1 -4 -8 -2 8 0 0 -8 0 -2 8 0 0 0 -4 0 0 -8 0 3 -16 0 0 -16 -4 0 16 16 -8 6 -8 -4 0 0 -8 6 16 24 8 8 -16 0 0 0 0 -4 -16 0 0 -8 0 6 -8 6 16 0 3 8 0 0 0 0 -16 0 24 0 -4 0 0 0 0 0 16 -8 0 -8 0 -16 8 0 0 16 12 4 -8 -8 8 -4 -16 12 -8 -16 0 0 -16 16 -16 4 0 16 0 -16 0 16 0 -16 0 0 0 0 -8 -4 0 -4 0 0 -4 8 0 16 0 0 0 0 0 0 0 -4 0 0 0 16 16 16 -16 -16 12 0 -8 0 -16 16 0 16 0 0 0 -16 0 0 -16 16 -16 16 0 16 -16 16 -16 8 0 8 -8 -4 -4 0 -4 -8 0 16 -16 -8 -4 0 4 0 4 0 0 0 -4 0 0 0 0 0 0 12 0 -16 -8 0 0 0 16 0 0 0 0 0 0 0 6 0 0 8 8 -8 -8 -4 0 0 24 -4 -16 0 16 0 6 0 -16 0 0 3 -16 0 16 0 0 -8 0 0 0 -16 3 0 -16 16 -8 0 -8 0 0 16 0 0 6 8 8 -8 -8 -4 0 24 -4 0 -16 16 6 0 0 -4 0 0 8 0 0 -2 -8 0 0 0 8 -2 -8 0 -4 1 0 1 +1 1 0 -10 -4 8 8 4 4 4 4 -12 -2 -4 -8 -4 4 -4 0 2 1 -16 8 4 0 4 -4 16 -8 0 2 -8 4 4 4 -8 2 0 8 0 0 0 4 4 -8 4 -4 16 8 8 0 4 -2 8 -2 -16 8 -1 0 2 -8 4 -12 0 -8 -8 12 -2 -4 4 4 -8 4 0 8 8 0 -8 0 0 4 -8 0 0 0 8 0 8 0 0 0 0 0 8 -2 0 0 0 0 -4 0 -4 0 -4 0 8 0 8 12 8 -4 -8 0 -8 8 -4 -4 0 -8 -4 0 -4 -8 -2 8 4 -8 -12 -8 8 -4 -8 0 0 0 0 0 0 8 0 8 0 0 -4 0 8 -4 -8 0 -12 -8 0 0 0 0 8 0 0 0 0 8 -4 -8 8 0 -8 -4 0 0 -4 0 0 -8 8 -4 0 -4 0 -2 -8 -4 0 12 4 -4 -8 -2 8 0 8 0 8 -8 -8 4 -16 -8 4 8 12 8 -8 4 -2 4 4 0 0 0 0 -4 4 4 -8 -4 0 2 0 8 -2 4 16 -12 -4 -1 0 4 0 8 2 8 -8 -8 2 -16 1 4 0 0 -8 -4 -8 -4 4 16 4 8 2 0 0 0 0 4 -8 8 4 4 0 0 2 -4 -8 0 8 -4 -8 4 -2 4 8 -4 4 -4 8 -4 -8 -2 0 -1 2 1 +1 1 -4 -6 0 4 -8 0 4 0 0 -4 -2 4 0 0 0 0 -4 2 1 0 0 -4 -8 -4 0 0 16 -4 2 0 -4 0 4 0 2 8 8 4 4 -8 -4 -4 0 4 4 0 0 0 4 4 -2 0 -2 0 16 -1 -4 -6 8 -4 0 8 -8 -8 0 6 0 -4 0 8 4 -8 0 0 4 0 8 -4 4 0 -8 0 0 -4 0 -4 0 0 0 0 0 8 6 0 0 0 0 4 0 4 0 -4 0 0 0 0 0 0 0 4 0 0 -4 4 -4 0 4 -4 0 4 0 -2 -8 0 0 0 4 -8 -4 -16 0 0 0 0 0 0 8 0 -8 0 0 4 0 0 0 0 0 0 0 0 0 0 0 -8 0 0 0 0 -4 -4 4 -4 0 4 -4 0 0 -4 0 0 4 -4 4 0 4 0 6 -16 -4 0 0 0 4 0 -2 0 0 0 0 0 -8 8 -4 0 0 0 0 0 0 8 4 -2 4 4 -4 -4 4 4 4 -4 -4 -8 4 8 -6 -8 16 -2 4 0 0 0 -1 8 -4 -8 0 2 0 0 0 2 0 1 4 -8 8 0 0 0 0 0 0 0 0 2 4 4 -4 -4 -4 8 8 -4 -4 -8 8 2 0 0 4 -8 4 -4 0 -2 0 4 -4 0 0 4 0 -4 -2 -4 -1 2 1 +1 1 0 -10 -4 8 -8 -4 4 4 4 -4 -2 12 -8 -4 4 -4 16 2 1 0 8 -12 0 4 4 0 8 0 2 -8 4 -4 4 8 2 0 -8 0 -16 0 -12 4 8 4 -4 0 8 -8 -16 4 -2 8 -2 0 -24 -1 0 -6 -24 4 12 0 8 8 12 6 -4 4 -4 8 4 0 -8 8 0 -8 0 16 4 8 0 0 0 -8 0 -8 0 0 0 0 16 -8 6 16 16 -16 0 -4 -16 -4 -16 -4 16 -8 -16 -8 -12 8 4 8 0 -8 -8 12 -4 0 8 -4 -16 -4 -8 -10 24 4 8 -12 8 -8 -4 24 16 0 -16 0 16 0 -8 0 24 0 0 12 16 8 4 8 -16 -12 -8 -16 -16 16 16 -8 -16 16 -16 16 -8 -4 8 -8 0 8 -4 0 0 -4 16 -16 8 -8 -4 0 -4 0 6 24 -4 0 -12 4 -4 -8 -10 -8 0 -8 0 8 8 -24 -12 0 -8 -4 -8 12 8 8 4 -2 4 4 0 16 -16 0 -4 4 4 8 -4 0 -6 0 -24 -2 4 0 12 -4 -1 0 4 0 8 10 -8 8 8 2 0 1 4 0 0 8 4 -8 -4 -4 0 4 8 2 0 -16 16 0 4 8 -8 4 -12 0 0 2 -4 -8 0 -8 12 -8 -4 -2 4 8 -4 4 4 8 -4 -8 -2 0 -1 2 1 +1 1 -12 0 6 0 0 8 -8 -24 6 24 0 0 0 -12 -8 -24 0 0 3 0 0 0 0 12 8 0 0 0 6 24 12 24 0 -24 6 0 -24 0 0 0 0 0 0 0 12 0 0 48 0 0 6 24 6 0 0 3 0 0 0 0 24 0 0 -24 -24 12 -24 0 24 0 0 0 -24 0 0 -48 0 0 0 0 0 12 4 0 -24 0 12 -48 12 -24 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 24 -48 24 0 12 0 -12 0 0 12 0 0 0 0 0 0 0 -24 48 -24 -12 0 0 0 0 -16 0 48 0 12 0 -24 0 48 -16 0 0 -48 24 48 0 -24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 -12 0 12 -24 0 0 0 0 -12 0 4 0 4 0 0 0 12 24 -24 0 0 0 0 12 0 -48 24 0 0 0 0 -48 24 48 -24 0 0 0 6 0 0 0 0 0 0 12 0 0 -24 12 0 0 0 0 6 0 0 24 -24 3 0 0 0 0 0 -24 0 0 0 0 3 0 0 0 -24 8 24 -24 24 0 -8 0 6 0 0 0 0 12 0 -24 12 0 0 0 6 -8 0 -12 0 0 0 8 0 6 0 0 -24 24 0 6 0 0 -12 1 0 1 +1 1 -8 -2 4 0 -8 4 -4 -12 -4 12 -2 -4 8 4 4 12 8 2 1 0 -8 4 0 4 -4 0 8 -8 2 8 4 -12 4 -8 2 0 -8 -8 8 0 4 4 -8 4 -4 0 -8 8 -8 4 -2 -8 -2 0 -8 -1 8 2 8 4 4 0 8 8 -4 -2 -4 4 4 8 4 0 8 -8 8 -8 0 -8 4 -8 0 0 0 0 0 0 0 0 0 0 0 -8 -2 16 -16 -16 0 -4 16 -4 0 -4 0 8 0 8 -4 8 -4 0 0 8 0 -4 -4 0 0 -4 0 -4 8 -2 -8 4 -8 4 0 -8 -4 8 0 0 0 0 0 0 -8 0 -8 0 0 -4 0 8 -4 -8 0 4 8 -16 16 16 -16 -8 0 0 0 0 0 -4 0 0 0 0 -4 0 0 -4 0 0 0 0 -4 0 -4 0 -2 8 -4 0 -4 4 -4 8 -2 8 0 8 0 -8 8 8 4 0 -8 4 8 -4 -8 8 4 -2 4 4 8 -8 -8 8 -4 4 4 8 -4 0 2 0 -8 -2 4 0 4 -4 -1 0 4 0 -8 2 8 -8 -8 2 0 1 4 0 0 -8 -4 8 12 -12 0 4 -8 2 -8 8 8 -8 4 8 -8 4 4 0 0 2 -4 8 8 -8 -4 0 4 -2 -4 0 -4 -12 12 0 4 0 -2 -8 -1 2 1 +1 1 -12 0 6 0 0 -8 8 24 6 -24 0 0 0 -12 8 24 0 0 3 0 0 0 0 12 -8 0 0 0 6 24 12 -24 0 -24 6 0 -24 0 0 0 0 0 0 0 12 0 0 -48 0 0 6 24 6 0 0 3 0 0 0 0 -24 0 0 -24 24 12 24 0 -24 0 0 0 -24 0 0 48 0 0 0 0 0 12 4 0 -24 0 12 -48 12 -24 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 -24 48 -24 0 12 0 -12 0 0 12 0 0 0 0 0 0 0 24 -48 24 -12 0 0 0 0 -16 0 48 0 12 0 -24 0 48 -16 0 0 48 -24 -48 0 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 -12 0 12 -24 0 0 0 0 -12 0 4 0 4 0 0 0 12 -24 24 0 0 0 0 12 0 -48 24 0 0 0 0 48 -24 -48 24 0 0 0 6 0 0 0 0 0 0 12 0 0 -24 12 0 0 0 0 6 0 0 -24 24 3 0 0 0 0 0 -24 0 0 0 0 3 0 0 0 -24 -8 24 24 -24 0 8 0 6 0 0 0 0 12 0 -24 12 0 0 0 6 8 0 -12 0 0 0 -8 0 6 0 0 24 -24 0 6 0 0 -12 1 0 1 +1 1 -8 -2 4 0 -8 -4 4 12 -4 -12 -2 -4 8 4 -4 -12 -8 2 1 0 -8 4 0 4 4 0 8 8 2 8 4 12 4 -8 2 0 -8 8 -8 0 4 4 -8 4 -4 0 -8 -8 8 4 -2 -8 -2 0 -8 -1 -8 2 8 4 -4 0 8 8 4 -2 4 4 -4 8 4 0 8 -8 -8 8 0 8 4 -8 0 0 0 0 0 0 0 0 0 0 0 -8 -2 -16 16 16 0 -4 -16 -4 0 -4 0 8 0 8 4 -8 4 0 0 8 0 -4 -4 0 0 -4 0 -4 8 -2 -8 -4 8 -4 0 -8 -4 8 0 0 0 0 0 0 -8 0 -8 0 0 -4 0 -8 4 8 0 -4 8 16 -16 -16 16 -8 0 0 0 0 0 -4 0 0 0 0 -4 0 0 -4 0 0 0 0 -4 0 -4 0 -2 8 -4 0 4 -4 -4 8 -2 8 0 8 0 -8 8 8 4 0 8 -4 -8 4 -8 8 4 -2 4 4 -8 8 8 -8 -4 4 4 8 -4 0 2 0 -8 -2 4 0 -4 4 -1 0 4 0 -8 2 8 -8 -8 2 0 1 4 0 0 -8 4 8 -12 12 0 -4 -8 2 8 -8 -8 8 4 8 -8 4 4 0 0 2 4 8 8 -8 -4 0 -4 -2 -4 0 -4 12 -12 0 4 0 -2 -8 -1 2 1 +1 -1 8 -10 4 -8 -8 4 -4 12 4 4 2 -4 -8 4 4 12 0 2 1 -16 -8 -4 0 4 4 -16 -8 0 2 8 4 12 -4 8 2 0 8 0 0 0 4 -4 -8 -4 4 -16 -8 8 0 -4 2 8 2 -16 -8 1 0 -2 -8 -4 4 0 -8 8 4 2 4 -4 4 8 4 0 8 8 0 8 0 0 -4 -8 0 0 0 8 0 -8 0 0 0 0 0 -8 -2 0 0 0 0 -4 0 -4 0 -4 0 -8 0 -8 4 8 4 -8 0 8 0 4 4 0 8 -4 0 -4 -8 -2 -8 4 8 4 0 8 -4 -8 0 0 0 0 0 0 8 0 8 0 0 -4 0 -8 -4 -8 0 -4 -8 0 0 0 0 -8 0 0 0 0 8 4 -8 -8 0 0 4 0 0 -4 0 0 8 0 4 0 4 0 2 8 4 0 -4 -4 4 8 2 8 0 8 0 -8 8 8 -4 16 -8 -4 -8 -4 -8 -8 4 -2 4 -4 0 0 0 0 -4 4 4 -8 -4 0 2 0 8 -2 4 16 -4 -4 -1 0 4 0 8 2 -8 8 8 -2 16 -1 4 0 0 -8 -4 -8 -12 -12 16 -4 8 -2 0 0 0 0 -4 8 -8 -4 4 0 0 -2 -4 8 -8 8 4 8 -4 -2 -4 8 4 -12 -12 8 -4 8 2 -8 -1 2 -1 +1 -1 4 -6 0 -4 16 0 -4 0 0 -4 -6 -4 8 0 0 0 4 -6 1 0 8 -4 0 -4 0 0 16 4 2 0 -4 0 -4 0 2 0 -8 4 4 0 -4 -4 0 4 -4 0 -8 0 4 4 2 0 2 0 -8 1 4 -2 0 -4 0 0 0 -8 0 -6 0 -4 0 0 -4 0 0 8 4 0 0 4 4 0 0 0 0 -4 0 4 0 0 0 0 8 0 -2 0 0 0 0 -4 0 -4 -8 4 -8 0 -8 0 0 0 0 4 0 8 4 -4 -4 0 -4 4 8 -4 -8 -2 0 0 0 0 -4 0 4 -8 -8 0 8 0 8 0 0 0 0 0 0 4 8 0 0 0 8 0 -8 0 0 0 0 0 -8 -8 -8 -8 -4 -4 4 4 0 4 -4 0 0 4 8 8 -4 -4 4 0 4 0 2 8 -4 0 0 0 4 8 2 0 0 0 0 0 0 0 4 0 0 0 0 0 -8 0 -4 -2 -4 4 -4 -4 -4 -4 4 4 4 8 4 0 2 0 8 -2 -4 0 0 0 -1 0 4 0 8 2 0 0 0 6 0 -1 4 0 0 0 0 0 0 0 0 0 -8 -2 -4 -4 -4 -4 4 -16 8 4 4 0 0 -2 0 -8 -4 -16 4 4 0 6 0 4 4 0 0 4 0 4 2 -4 -1 2 -1 +1 -1 8 -8 2 -8 16 0 8 0 -2 8 0 -8 0 -16 0 0 8 0 3 -16 0 8 0 -4 0 -16 -16 8 2 8 4 0 8 0 2 0 0 8 8 0 -8 0 16 16 4 16 -16 0 -8 0 -2 -8 -2 16 -16 -3 -8 -8 0 0 0 0 0 0 0 -12 0 -16 0 16 -8 0 0 0 -8 0 0 -8 16 16 0 -4 -4 -8 0 -8 -4 -32 -4 0 0 0 8 16 16 16 -4 0 16 0 0 -16 0 -16 0 -16 0 0 0 -8 4 0 8 8 8 -4 -8 -16 0 16 16 8 0 0 0 0 8 -16 0 16 0 0 0 -16 0 4 0 0 0 16 0 -8 0 0 0 0 0 0 0 -16 -16 -16 -16 16 0 0 0 0 8 0 8 8 -4 -8 16 4 0 -8 0 0 8 -8 0 4 0 4 -8 -16 16 4 0 0 -16 -16 -8 16 4 16 32 8 0 0 8 -16 0 0 0 0 0 -16 0 2 -16 8 8 8 8 8 -4 0 0 0 4 0 8 0 16 2 -16 -16 0 0 3 0 16 0 16 8 0 -16 -16 0 16 -3 -8 0 0 0 0 -8 0 0 16 0 0 -2 -8 -8 -8 -8 4 16 0 -4 -8 0 0 -2 0 0 8 -16 8 -8 0 0 2 -8 8 0 0 8 -2 8 0 -8 1 0 -1 +1 -1 0 2 0 -8 0 4 4 0 0 -4 2 4 0 -4 0 0 4 2 -3 -8 0 4 -8 0 4 16 0 -4 -2 0 0 4 -4 0 2 0 0 8 -8 8 4 4 -8 -12 0 -8 0 -8 4 4 -2 0 2 16 0 -3 8 -6 0 -4 -4 -8 0 0 0 -6 0 12 -12 0 -4 0 0 0 -4 0 8 -8 12 8 0 4 4 -4 0 -8 0 0 -4 0 8 0 -6 -8 -16 8 -4 -4 16 4 8 -12 0 8 -8 -8 -4 0 -12 4 0 0 0 4 -4 0 8 12 0 12 0 -6 0 0 -8 0 0 0 4 0 0 0 0 0 -8 -4 0 0 0 0 0 -4 0 0 12 8 -8 0 0 -8 -16 8 16 0 0 8 0 -8 8 -4 -8 4 0 0 -12 0 0 4 0 8 -4 0 4 -4 -4 4 6 0 12 0 4 0 -12 0 6 8 4 -8 0 0 0 0 -4 -16 0 12 8 0 0 0 -4 2 -12 4 -8 8 -4 4 0 4 -4 0 0 -8 6 0 0 -2 12 8 4 0 3 8 -12 0 0 6 0 8 -8 -2 8 3 4 8 0 0 -4 0 0 -4 -16 0 0 2 -8 8 -4 4 0 0 0 0 -4 -8 0 -2 0 0 0 0 -4 8 -4 -2 0 -4 4 0 -4 8 0 -4 2 0 -1 2 -1 +1 -1 0 -2 0 -4 0 0 4 4 0 -4 2 4 0 -4 4 4 0 2 -3 0 0 4 0 0 0 8 -8 0 2 0 0 0 -4 0 -2 8 0 -4 4 0 4 -4 8 -4 0 0 0 0 0 4 2 0 -2 8 0 -3 -4 2 0 4 0 0 0 0 -4 2 -12 -4 0 0 -4 8 0 0 0 -8 0 4 4 -8 -8 4 -4 0 0 -4 0 0 -4 0 0 0 2 0 8 0 4 4 -8 -4 0 -4 -8 -8 0 8 0 -8 0 0 0 0 0 4 -4 0 4 4 8 -4 0 2 0 -12 0 -4 0 0 4 0 8 0 -8 0 0 -4 0 0 0 0 0 -4 -8 8 0 0 0 4 0 0 8 0 -8 0 8 0 -8 0 4 -4 -4 0 0 0 -4 0 0 4 8 0 0 0 -4 4 4 -4 -2 0 4 0 0 12 4 0 -2 -8 4 8 0 0 0 0 -4 -8 8 0 0 4 0 0 -4 -2 -4 4 4 -4 0 0 0 -4 4 0 0 0 -2 -8 0 2 4 0 0 12 3 0 4 8 0 -2 0 -8 8 -2 0 3 4 0 8 0 0 0 -4 0 -8 -4 0 -2 4 -4 0 0 0 0 0 0 -4 0 -8 2 -4 0 0 0 -4 4 0 -2 0 0 4 -4 0 4 0 0 2 0 -1 2 -1 +1 -1 0 -6 0 0 0 -4 -4 0 0 12 2 4 0 -4 0 0 -4 2 -3 8 0 4 -8 0 -4 0 0 4 6 0 0 12 -4 0 -6 0 0 0 0 8 4 4 -8 4 0 8 0 -24 -4 4 6 0 -6 0 0 -3 0 2 0 -4 -12 -8 0 0 0 2 0 -4 12 0 -4 0 0 0 4 0 8 0 -4 8 0 -12 4 4 0 0 0 0 12 0 8 0 2 8 0 -8 -4 -4 0 4 8 4 0 8 -8 -8 -12 0 12 -4 0 0 0 4 -4 0 0 -4 0 -4 0 2 0 0 -24 0 0 0 4 0 0 0 0 0 -8 12 0 0 0 0 0 -4 0 0 -12 24 -8 0 0 8 0 -8 0 0 0 8 0 -8 0 -4 0 -4 0 0 4 0 0 4 0 8 4 0 4 -4 -4 4 -2 0 -4 0 12 0 4 0 -2 8 -12 -8 0 0 0 0 -4 0 0 -12 24 0 0 0 -4 -6 4 4 0 0 4 -4 0 4 -4 0 0 -8 -2 0 0 6 -4 -8 12 0 3 8 4 0 0 -2 0 8 -8 -2 -8 3 4 8 0 0 4 0 0 -12 0 0 0 -6 0 0 4 -4 0 0 0 0 -4 -8 0 6 0 0 0 0 -4 0 4 -2 0 4 4 0 -12 0 0 4 2 0 -1 2 -1 +1 -1 4 -4 2 -8 -8 0 8 4 -2 16 8 0 -8 -12 -4 -4 4 -8 -1 -8 8 0 -8 0 0 0 8 4 2 0 0 -8 8 0 -2 16 0 0 0 8 8 0 0 -8 0 8 -8 0 -4 -8 -2 0 2 0 8 1 0 4 -8 0 -8 8 8 0 4 -4 -4 0 0 8 0 -16 0 8 -4 -8 -8 0 8 0 0 0 0 12 8 8 -4 0 0 -8 -8 -8 -4 -8 0 -8 0 0 0 0 8 8 -16 0 -8 0 8 8 0 12 -4 -8 -4 -8 0 4 8 -8 -16 0 8 4 8 4 0 -4 -4 -8 8 -8 0 0 0 0 8 0 8 8 -8 0 0 8 0 -8 0 0 -8 4 8 8 0 8 0 8 0 -8 16 8 -8 -8 -8 -12 4 4 8 -4 -8 0 16 8 -12 4 0 0 0 0 4 8 -8 4 -8 -4 0 -8 -4 0 0 0 0 0 -8 8 -8 0 8 0 0 -4 -8 -8 8 2 -8 0 0 0 4 4 0 0 0 0 0 8 -4 16 -8 -2 8 -8 8 4 -1 -8 0 0 8 4 0 0 0 8 8 1 -8 8 0 0 0 0 4 8 0 4 -8 -2 0 0 -4 -4 0 -8 0 0 0 -8 -16 2 -4 8 4 8 0 -8 0 -8 2 -4 8 -4 -8 8 -2 4 0 -4 1 0 -1 +1 -1 0 2 -4 -4 0 0 4 0 -4 -4 2 4 8 -4 0 0 -4 2 1 0 8 4 0 4 0 0 0 -4 -2 8 -4 0 -4 0 -2 0 0 4 4 0 -4 -4 0 4 4 0 8 0 -4 -4 -2 8 -2 0 -8 1 4 6 0 -4 0 0 -16 0 0 -6 0 4 0 0 4 0 0 -8 -4 0 0 4 4 0 0 0 0 4 0 4 0 0 0 0 8 -16 6 0 0 0 0 -4 0 -4 -8 4 8 0 -8 0 0 0 0 -4 0 -8 0 -4 4 0 -4 4 -8 4 8 -2 0 0 0 0 0 0 -4 -8 8 0 -8 0 8 0 16 0 0 0 0 4 -8 0 0 0 8 0 8 0 0 0 0 0 8 -8 8 -8 -4 4 4 -4 0 0 -4 0 0 -4 -8 8 4 0 4 0 4 0 -6 8 -4 0 0 0 -4 -8 2 0 0 0 0 -8 16 0 4 0 0 0 0 0 8 0 4 2 -4 -4 -4 -4 4 4 -4 4 4 0 4 0 -6 0 8 2 -4 0 0 0 -1 0 -4 0 -8 2 0 0 0 -2 0 -1 4 0 0 0 0 -8 0 0 0 0 -8 2 -4 -4 4 4 -4 0 0 4 -4 0 0 2 0 -8 0 0 -4 4 0 -2 4 -4 4 0 0 4 4 -4 2 0 -1 2 -1 +1 -1 0 6 -4 -8 8 4 12 -4 -4 -12 2 4 8 -12 4 -4 0 2 1 0 8 4 0 4 4 0 8 -16 2 -8 4 -4 -12 8 2 0 -8 16 0 0 -4 -4 -8 -4 4 0 24 8 0 -4 2 -8 2 0 -8 1 16 -10 -8 -4 -12 0 24 -8 -12 10 4 -4 4 -8 12 0 8 -8 -16 8 0 0 -4 -8 0 0 0 8 0 8 0 0 0 0 -16 24 -10 16 16 -16 0 -4 -16 -4 16 -4 -16 -8 16 -8 -12 8 4 -8 0 -8 -8 -4 12 0 -8 -4 16 -4 24 6 -8 4 8 -12 8 -8 -4 -8 -16 0 16 0 -16 0 -24 0 8 0 0 4 16 -8 -4 -8 -16 12 8 16 16 -16 -16 8 -16 16 -16 16 -8 4 8 -8 0 -8 4 0 0 -12 16 -16 8 8 4 0 4 0 10 8 4 0 12 -4 4 -24 -6 8 0 8 0 8 -24 8 4 0 -8 -4 -8 12 8 8 4 -2 4 -12 -16 0 0 16 -4 4 4 8 -4 0 10 0 8 -2 4 0 12 -4 -1 0 4 0 -24 -6 -8 8 8 -2 0 -1 12 0 0 -8 -4 8 4 4 0 -4 -8 -2 -16 0 0 16 -4 -8 8 -4 -4 0 0 -2 -4 -8 0 -8 -4 8 -4 -2 4 -8 12 4 4 8 4 -8 2 0 -1 2 -1 +1 -1 -4 2 0 -4 8 0 4 0 0 -4 2 4 0 -8 0 0 4 2 1 0 0 4 8 -4 0 0 0 4 2 0 -4 0 -4 0 2 -8 8 -4 -4 8 -4 4 0 -4 -4 0 -16 0 4 -4 2 0 2 0 0 1 -4 -2 8 4 0 8 -8 8 0 2 0 4 0 -8 4 -8 0 0 4 0 8 -4 -4 0 -8 0 0 4 0 4 0 0 0 0 0 -8 -2 0 0 0 0 4 0 4 0 -4 0 0 0 0 0 0 0 -4 0 0 -4 -4 4 0 -4 -4 0 4 -16 6 8 0 0 0 4 -8 -4 0 0 0 0 0 0 0 8 0 -8 0 0 4 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 -4 4 4 -4 0 -4 4 0 0 -4 0 0 4 4 -4 0 -4 0 2 0 4 0 0 0 -4 16 -6 0 0 0 0 0 8 -8 4 0 0 0 0 0 0 8 4 -2 4 -4 4 4 -4 -4 4 -4 -4 -8 4 -8 2 8 0 -2 4 0 0 0 -1 -8 -4 8 16 -6 0 0 0 -2 0 -1 4 -8 8 0 0 0 0 0 0 0 0 -2 4 4 -4 -4 4 -8 -8 4 -4 -8 8 -2 0 0 4 -8 -4 4 0 -2 0 -4 4 0 0 4 0 -4 2 4 -1 2 -1 +1 -1 0 4 -2 -8 8 0 0 -4 2 8 0 0 0 -8 -4 4 4 0 -1 0 0 0 -8 0 0 8 -8 -4 -2 0 0 0 8 0 2 0 0 8 0 8 0 0 8 0 0 0 0 0 -4 0 2 0 -2 -8 0 1 -8 -4 -8 0 0 8 8 0 -4 4 -4 0 0 -8 8 0 0 0 4 8 -8 0 0 -8 0 0 0 -4 0 0 -4 0 0 0 0 -8 4 0 -8 0 0 0 -8 0 0 0 8 8 0 -8 0 -8 0 -4 4 0 0 0 -8 4 0 0 8 0 0 -4 8 4 0 4 0 8 0 0 -8 0 -8 0 0 0 8 0 -8 0 0 0 8 8 0 0 0 -4 0 0 8 0 8 -8 8 0 -8 0 0 0 0 4 -4 0 0 -4 0 8 -8 0 4 0 0 0 0 0 -4 0 0 4 0 -4 0 0 4 8 0 -8 0 0 -8 8 0 8 -8 0 0 4 0 8 0 -2 0 -8 8 0 4 -4 0 0 0 0 0 8 4 0 0 2 0 0 0 4 -1 -8 0 0 0 -4 0 -8 8 0 0 1 -8 8 0 0 0 0 -4 0 -8 4 0 2 -8 0 -4 4 0 8 0 0 0 -8 0 -2 -4 0 0 -8 0 -8 0 0 -2 4 8 4 0 8 2 -4 0 0 1 0 -1 +1 -1 0 -2 -4 0 8 -4 -4 4 -4 4 2 -4 8 -4 -4 4 -8 2 1 0 8 -4 0 4 -4 0 8 8 2 -8 4 4 -4 8 2 0 -8 -8 8 0 4 -4 -8 -4 4 0 8 -8 -8 -4 2 -8 2 0 8 1 -8 -2 8 -4 12 0 8 -8 12 2 -4 -4 -4 -8 4 0 8 -8 8 -8 0 8 -4 -8 0 0 0 0 0 0 0 0 0 0 0 8 -2 -16 -16 16 0 -4 16 -4 0 -4 0 -8 0 -8 12 -8 -4 0 0 -8 -8 4 4 0 0 -4 0 -4 8 -2 8 -4 -8 12 8 -8 -4 8 0 0 0 0 0 0 -8 0 -8 0 0 -4 0 8 4 8 0 -12 8 -16 -16 16 16 8 0 0 0 0 0 4 0 0 0 -8 4 0 0 -4 0 0 0 8 4 0 4 0 2 -8 4 0 -12 4 4 -8 2 8 0 8 0 8 -8 -8 -4 0 8 4 8 -12 8 8 4 -2 4 -4 8 -8 8 -8 -4 4 4 8 -4 0 2 0 -8 -2 4 0 -12 4 -1 0 4 0 -8 2 -8 8 8 -2 0 -1 4 0 0 -8 4 8 -4 -4 0 4 -8 -2 8 -8 8 -8 -4 -8 8 -4 4 0 0 -2 4 -8 0 -8 4 0 4 -2 4 0 4 -4 -4 0 4 0 2 0 -1 2 -1 +1 -1 0 0 -2 -4 8 -4 0 0 2 8 0 0 0 -8 0 0 0 0 -1 8 0 0 0 0 4 0 -16 8 2 0 0 -4 8 0 -2 8 0 -4 4 0 0 0 -8 0 0 -8 0 -8 0 0 -2 0 2 0 0 1 4 4 8 0 4 0 -8 0 0 -4 0 0 4 -8 8 -8 0 0 -8 0 0 -4 0 8 8 0 0 -8 0 4 4 0 0 0 8 8 -4 -8 0 -8 0 0 0 0 -8 0 0 -8 8 8 -4 0 -4 -8 4 0 0 0 -8 -4 4 0 0 0 0 4 -8 0 8 0 0 8 0 0 0 0 0 0 -8 0 -8 0 8 0 0 0 0 0 4 -8 8 0 0 8 0 8 0 -8 0 8 0 -8 -4 0 -4 8 -4 0 0 4 0 8 0 -8 8 0 0 0 0 0 4 0 0 -4 4 0 0 0 -4 -8 0 8 0 0 8 -8 0 0 0 -4 8 0 0 8 0 2 0 -8 -4 4 0 8 0 0 0 0 0 0 -4 8 0 -2 0 8 -4 0 -1 0 0 -8 0 4 0 8 -8 0 -8 1 -8 0 8 0 -4 0 0 4 0 0 0 -2 4 -4 0 -8 0 8 0 0 0 0 -8 2 0 0 0 -8 0 -4 4 0 -2 0 8 0 -4 4 2 0 0 0 1 0 -1 +1 -1 0 6 -4 -8 -8 4 4 4 -4 -12 2 4 8 4 -4 4 0 2 1 16 8 4 0 4 4 -16 -8 0 2 -8 4 -4 4 -8 2 0 8 0 0 0 -4 -4 8 -4 4 16 -8 8 0 -4 2 -8 2 -16 -8 1 0 -2 8 -4 -12 0 8 8 12 2 -4 -4 4 8 -4 0 -8 -8 0 -8 0 0 -4 8 0 0 0 -8 0 -8 0 0 0 0 0 8 -2 0 0 0 0 -4 0 -4 0 -4 0 8 0 8 -12 -8 4 8 0 -8 8 -4 -4 0 8 -4 0 -4 -8 -2 8 -4 8 12 -8 8 -4 -8 0 0 0 0 0 0 -8 0 -8 0 0 4 0 8 -4 -8 0 -12 8 0 0 0 0 -8 0 0 0 0 8 4 -8 8 0 8 4 0 0 4 0 0 -8 -8 4 0 4 0 2 8 4 0 12 4 4 8 2 -8 0 -8 0 8 -8 -8 4 16 8 -4 -8 -12 8 -8 4 -2 4 4 0 0 0 0 -4 4 4 -8 -4 0 2 0 8 -2 4 -16 12 4 -1 0 4 0 8 2 8 -8 -8 -2 -16 -1 -4 0 0 8 -4 8 -4 4 16 4 -8 -2 0 0 0 0 -4 8 -8 -4 -4 0 0 -2 4 -8 0 8 -4 8 -4 -2 4 -8 -4 -4 4 8 4 -8 2 0 -1 2 -1 +1 -1 0 8 -6 -8 0 0 -8 0 6 8 0 0 0 0 0 0 -8 0 3 16 0 0 0 12 0 -16 0 -8 2 -8 4 0 0 0 2 0 0 8 8 0 0 0 0 0 -12 -16 0 0 8 0 -2 8 -2 16 0 -3 -8 0 0 0 0 0 0 0 0 -4 0 0 0 0 0 0 0 0 8 0 0 -8 0 0 0 -4 -4 8 0 -8 -4 0 -4 0 0 0 0 -16 16 -16 -4 0 16 0 0 0 0 0 0 0 0 0 0 8 -12 0 0 0 0 -4 -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 4 0 0 0 -16 0 0 0 0 0 0 0 0 0 16 -16 16 -16 0 0 0 0 0 8 0 8 -8 12 0 0 4 0 0 0 0 -8 0 0 4 0 4 0 0 0 4 0 0 0 0 0 0 4 0 0 -8 0 0 0 -16 0 0 0 0 0 0 0 2 0 0 8 8 -8 -8 12 0 0 0 4 0 0 0 0 2 0 16 0 0 3 0 0 0 0 0 0 0 0 0 -16 -3 0 0 0 0 0 8 0 0 16 0 0 -2 -8 -8 8 8 -12 0 0 -4 0 0 0 -2 0 0 0 0 0 -8 0 0 -6 8 0 0 0 8 6 -8 0 0 1 0 -1 +1 -1 -4 8 -2 -8 0 0 -8 0 2 8 0 0 0 4 0 0 8 0 3 16 0 0 16 -4 0 -16 -16 8 6 -8 -4 0 0 -8 6 -16 24 -8 -8 16 0 0 0 0 4 -16 0 0 -8 0 -6 8 -6 16 0 -3 8 0 0 0 0 -16 0 -24 0 4 0 0 0 0 0 16 8 0 -8 0 -16 8 0 0 16 12 4 8 -8 -8 -4 -16 12 -8 16 0 0 16 -16 16 4 0 -16 0 16 0 -16 0 16 0 0 0 0 8 -4 0 -4 0 0 -4 -8 0 -16 0 0 0 0 0 0 0 -4 0 0 0 -16 16 -16 -16 16 -12 0 8 0 16 -16 0 16 0 0 0 -16 0 0 -16 16 -16 16 0 16 -16 16 -16 8 0 8 -8 4 4 0 4 8 0 16 -16 -8 4 0 -4 0 -4 0 0 0 4 0 0 0 0 0 0 -12 0 16 -8 0 0 0 -16 0 0 0 0 0 0 0 6 0 0 -8 -8 8 8 -4 0 0 24 -4 16 0 -16 0 6 0 16 0 0 3 16 0 -16 0 0 -8 0 0 0 -16 -3 0 -16 16 8 0 8 0 0 16 0 0 -6 8 8 -8 -8 4 0 -24 4 0 -16 16 -6 0 0 -4 0 0 -8 0 0 -2 8 0 0 0 8 2 -8 0 4 1 0 -1 +1 -1 4 -2 0 -8 -8 4 -4 4 0 -12 -6 4 8 16 -4 4 8 -6 1 0 8 4 -16 -4 4 0 -8 8 -2 0 4 -4 12 -8 -2 16 0 0 0 0 4 -4 -8 -4 -4 0 8 -8 8 4 -2 0 -2 0 -8 1 0 -2 8 -4 4 -16 -8 0 -4 10 -4 4 4 -8 -4 16 -8 8 8 8 0 0 -4 -8 0 0 0 0 0 8 0 0 0 0 -16 -8 -2 0 0 0 0 -4 0 -4 0 -4 16 -8 16 -8 4 8 4 0 0 8 -4 4 -4 0 -8 -4 -16 4 8 6 8 -4 -8 -4 4 -8 4 -8 0 0 0 0 0 0 8 0 -8 0 0 -4 0 -8 -4 8 0 4 -8 0 0 0 0 8 0 0 16 16 -8 -4 8 0 0 -4 4 0 0 4 -16 -16 0 4 4 0 4 0 2 8 4 0 -4 4 -4 -8 -6 8 0 8 0 0 8 -8 -4 0 -8 -4 8 4 -8 8 -4 2 4 4 0 0 -8 -8 4 4 4 0 -4 0 2 -16 8 2 4 0 -4 4 -1 16 -4 0 -8 -6 8 8 8 6 0 -1 -12 16 0 8 -4 0 -4 4 0 4 -8 2 0 0 -8 -8 4 8 0 -4 -4 0 -16 2 4 -8 -4 8 -4 8 -4 6 0 0 -12 -4 4 8 0 0 2 -4 -1 2 -1 +1 -1 4 -10 0 0 -8 -4 -4 -4 0 4 -6 12 8 8 4 -4 0 -6 1 0 8 12 16 -4 -4 0 -8 0 -2 0 4 4 4 -8 -2 -16 0 8 8 0 -4 -4 -8 -4 -4 0 -8 8 0 4 -2 0 -2 0 8 1 8 6 -8 -4 -4 16 8 0 4 2 4 4 -4 -8 4 -16 -8 8 0 -8 0 8 -4 -8 0 0 0 -8 0 0 0 0 0 0 0 8 6 0 0 0 0 -4 0 -4 16 -4 0 -8 0 -8 -4 -8 -4 8 0 8 -4 -4 4 0 0 -4 0 4 -8 -2 -8 4 8 4 4 -8 4 8 16 0 -16 0 -16 0 -8 0 8 0 0 4 -16 8 4 -8 -16 -4 -8 0 0 0 0 8 16 16 0 0 0 -4 0 8 0 -4 4 0 0 -4 0 0 -8 4 4 0 4 0 -6 -8 4 0 4 -4 -4 8 2 8 0 8 0 0 -8 8 4 0 8 4 -8 -4 -8 8 -4 2 4 -4 -8 -8 0 0 4 4 4 0 -4 0 -6 16 -8 2 4 0 4 -4 -1 -16 -4 0 8 2 8 8 8 6 0 -1 -4 -16 0 8 4 0 4 -4 0 -4 -8 2 -8 -8 0 0 4 8 0 -4 -12 0 16 2 -4 -8 -4 8 -12 0 4 6 0 8 -4 4 -4 0 0 8 2 -4 -1 2 -1 +1 -1 8 -8 2 -8 -16 0 8 0 -2 8 0 8 0 0 0 0 8 0 3 -16 0 -8 0 -4 0 -16 16 8 2 8 4 0 -8 0 2 0 0 8 8 0 8 0 -16 -16 4 16 16 0 -8 0 -2 -8 -2 16 16 -3 -8 8 0 0 0 0 0 0 0 4 0 16 0 -16 8 0 0 0 -8 0 0 -8 -16 -16 0 -4 -4 -8 0 -8 -4 -32 -4 0 0 0 -8 16 16 16 -4 0 16 0 0 16 0 16 0 16 0 0 0 -8 4 0 8 -8 -8 -4 -8 16 0 -16 -16 -8 0 0 0 0 8 16 0 -16 0 0 0 -16 0 4 0 0 0 16 0 8 0 0 0 0 0 0 0 -16 -16 -16 -16 -16 0 0 0 0 8 0 8 8 -4 -8 -16 4 0 8 0 0 8 -8 0 4 0 4 8 16 -16 4 0 0 16 16 8 -16 4 -16 32 8 0 0 -8 -16 0 0 0 0 0 16 0 2 16 -8 8 8 8 8 -4 0 0 0 4 0 -8 0 -16 2 16 -16 0 0 3 0 -16 0 -16 -8 0 16 16 0 16 -3 8 0 0 0 0 -8 0 0 16 0 0 -2 -8 -8 -8 -8 4 -16 0 -4 8 0 0 -2 0 0 8 16 -8 -8 0 0 2 -8 -8 0 0 8 -2 8 0 -8 1 0 -1 +1 -1 0 -6 4 -4 8 0 -4 0 4 -4 -6 4 0 4 0 0 -4 -6 1 0 0 4 8 4 0 0 16 -4 -2 -8 -4 0 4 0 -2 8 0 -4 -4 8 4 4 0 -4 4 0 0 0 -4 4 -2 -8 -2 0 0 1 -4 -2 -8 4 0 8 -8 0 0 -6 0 -4 0 8 4 8 0 -16 -4 0 8 -4 -4 0 8 0 0 -4 0 4 0 0 0 0 0 -8 -2 0 0 0 0 4 0 4 0 -4 0 0 0 0 0 0 0 4 0 -16 0 4 4 0 -4 -4 0 -4 0 -2 -8 0 0 0 0 8 4 0 0 0 0 0 0 0 8 0 8 0 0 -4 0 0 0 0 0 0 16 0 0 0 0 -8 0 0 0 0 -4 -4 4 4 0 0 4 0 0 -4 0 0 -4 0 -4 0 -4 0 2 0 4 0 0 0 4 0 2 0 0 0 0 8 8 8 -4 0 0 0 0 0 16 -8 -4 2 4 -4 4 4 4 4 -4 -4 -4 0 4 -8 2 -8 0 2 4 0 0 0 -1 -8 4 -8 0 2 0 0 0 6 0 -1 -4 -8 -8 0 0 8 0 0 0 0 0 2 4 4 4 4 -4 -8 0 4 -4 -8 -8 2 0 0 0 -8 -4 4 0 6 -4 4 -4 0 0 4 -4 4 2 0 -1 2 -1 +1 -1 4 -8 6 -8 0 0 8 0 -6 8 0 0 0 -4 0 0 -8 0 3 -16 0 0 16 12 0 -16 16 -8 -2 -8 -4 0 0 8 -2 16 8 -8 -8 16 0 0 0 0 -12 16 0 0 8 0 2 8 2 16 0 -3 8 0 0 0 0 -16 0 -8 0 4 0 0 0 0 0 -16 -8 0 8 0 -16 8 0 0 -16 -4 4 -8 -24 -8 -4 16 -4 -24 16 0 0 -16 -16 -16 4 0 -16 0 16 0 16 0 16 0 0 0 0 -8 12 0 4 0 0 -4 -8 0 16 0 0 0 0 0 0 0 4 0 0 0 16 -16 16 -16 16 4 0 24 0 16 16 0 -16 0 0 0 -16 0 0 16 16 16 16 0 -16 -16 -16 -16 8 0 8 8 -12 -4 0 4 24 0 -16 -16 8 -4 0 -4 0 -4 0 0 0 4 0 0 0 0 0 0 4 0 -16 -8 0 0 0 -16 0 0 0 0 0 0 0 -2 0 0 -8 -8 -8 -8 12 0 0 8 -4 16 0 16 0 -2 0 -16 0 0 3 16 0 16 0 0 8 0 0 0 16 -3 0 -16 -16 -8 0 8 0 0 16 0 0 2 8 8 8 8 -12 0 -8 4 0 -16 -16 2 0 0 4 0 0 -8 0 0 6 -8 0 0 0 8 -6 8 0 -4 1 0 -1 +1 -1 4 -4 2 -8 8 0 0 -4 -2 0 -8 0 8 4 4 4 4 8 -1 -8 -8 0 -8 0 0 0 -8 4 2 0 0 8 -8 0 -2 16 0 0 0 8 -8 0 0 8 0 8 8 0 -4 8 -2 0 2 0 -8 1 0 -4 8 0 8 8 -8 0 -4 4 4 0 0 -8 0 -16 0 -8 -4 8 -8 0 -8 0 0 0 0 12 8 8 -4 0 0 -8 -8 8 4 -8 0 -8 0 0 0 0 8 -8 -16 0 -8 0 -8 -8 0 12 -4 8 -4 8 0 4 8 8 -16 0 -8 -4 -8 -4 0 4 -4 8 -8 8 0 0 0 0 8 0 -8 8 8 0 0 -8 0 8 0 0 -8 -4 -8 8 0 8 0 -8 0 -8 16 8 -8 8 -8 -12 4 4 -8 -4 -8 0 16 8 -12 4 0 0 0 0 -4 -8 8 4 8 4 0 8 4 0 0 0 0 0 8 -8 8 0 -8 0 0 4 8 8 -8 2 8 0 0 0 4 4 0 0 0 0 0 8 4 16 8 -2 -8 -8 -8 -4 -1 -8 0 0 -8 -4 0 0 0 -8 8 1 8 8 0 0 0 0 -4 -8 0 -4 8 -2 0 0 -4 -4 0 8 0 0 0 -8 -16 2 4 -8 4 -8 0 -8 0 8 2 -4 -8 4 8 8 -2 4 0 -4 1 0 -1 +1 -1 4 -8 2 -4 8 -4 8 -8 -2 0 -8 8 8 -4 0 8 0 8 -1 0 -8 -8 16 0 4 -8 0 0 -2 0 0 4 0 0 2 -8 0 4 4 0 0 0 0 -8 0 0 -8 8 0 8 2 0 -2 8 8 1 -4 4 -8 0 -4 -16 8 0 8 -4 0 0 4 -8 -8 8 0 -8 0 0 0 -4 8 0 -8 0 0 8 -8 12 4 0 0 8 0 -8 -4 0 -8 0 0 0 -8 0 -16 8 8 0 0 0 4 0 -4 8 -4 8 -4 0 8 -4 12 -8 8 0 8 4 8 0 -8 -8 -4 8 -8 -8 -8 0 -8 0 -16 0 8 -8 -8 0 0 0 8 0 4 8 16 8 -8 0 8 0 8 -8 8 16 -8 0 -12 8 -12 -8 4 4 8 4 8 -8 -8 0 -8 4 0 0 0 0 4 8 -8 -4 -4 0 0 -8 -4 0 0 0 0 0 -8 8 0 -8 0 -4 -8 -8 8 8 -8 -2 -8 8 4 4 0 0 0 0 0 0 0 0 -4 -8 -8 2 8 0 4 0 -1 16 0 8 8 4 0 0 0 -8 0 1 0 -16 -8 0 -4 0 -8 -4 8 0 8 2 -4 -4 0 0 0 8 0 0 8 0 8 -2 0 -8 4 -8 -8 -4 4 8 2 -8 0 8 4 4 -2 8 0 -4 1 0 -1 +1 -1 0 -2 0 -4 0 0 -4 12 0 -4 2 -4 0 4 -4 12 0 2 -3 0 0 -4 0 0 0 8 8 0 -6 0 0 0 4 0 6 -8 0 -4 4 0 -4 -4 -8 -4 0 0 0 0 0 4 -6 0 6 8 0 -3 -4 2 0 4 0 0 0 0 -12 2 12 -4 0 0 4 -8 0 0 0 -24 0 4 4 8 8 -12 -4 0 0 -4 0 0 12 0 0 0 2 0 8 0 4 4 -8 -4 0 -4 8 8 0 -8 0 -24 0 0 0 0 0 -4 4 0 4 4 -8 -4 0 2 0 12 0 -12 0 0 4 0 -8 0 8 0 0 12 0 0 0 0 0 4 8 24 0 0 0 12 0 0 8 0 -8 0 -8 0 8 0 4 -4 -4 0 0 0 -4 0 0 -4 -8 0 0 0 -4 4 4 -4 -2 0 4 0 0 -12 4 0 -2 8 -12 -8 0 0 0 0 4 -8 24 0 0 12 0 0 -4 6 -4 -4 4 -4 0 0 0 -4 4 0 0 0 -2 8 0 -6 4 0 0 -12 3 0 4 -8 0 -2 0 8 -8 -2 0 3 -4 0 -8 0 0 0 -12 0 -8 4 0 6 4 -4 0 0 0 0 0 0 4 0 8 -6 4 0 0 0 4 4 0 -2 0 0 -4 -12 0 4 0 0 2 0 -1 2 -1 +1 -1 0 -6 0 0 0 4 -4 0 0 4 2 -4 0 4 0 0 -4 2 -3 8 0 -4 8 0 4 0 0 4 -2 0 0 4 4 0 2 0 0 0 0 -8 -4 4 8 4 0 8 0 -8 -4 4 -2 0 2 0 0 -3 0 2 0 -4 -4 8 0 0 0 2 0 -4 -12 0 4 0 0 0 4 0 -8 0 -4 -8 0 4 4 4 0 0 0 0 -4 0 -8 0 2 8 0 -8 -4 -4 0 4 -8 4 0 -8 8 8 -4 0 -12 -4 0 0 0 -4 4 0 0 -4 0 -4 0 2 0 0 -8 0 0 0 4 0 0 0 0 0 8 -4 0 0 0 0 0 4 0 0 12 8 8 0 0 8 0 -8 0 0 0 -8 0 8 0 -4 0 -4 0 0 4 0 0 -4 0 -8 4 0 4 -4 -4 4 -2 0 -4 0 4 0 4 0 -2 -8 4 8 0 0 0 0 4 0 0 12 8 0 0 0 -4 2 4 -4 0 0 4 -4 0 4 -4 0 0 8 -2 0 0 -2 -4 -8 4 0 3 -8 4 0 0 -2 0 -8 8 -2 -8 3 -4 -8 0 0 -4 0 0 -4 0 0 0 2 0 0 4 -4 0 0 0 0 4 8 0 -2 0 0 0 0 4 0 -4 -2 0 4 -4 0 -4 0 0 4 2 0 -1 2 -1 +1 -1 0 -10 0 4 0 0 -4 4 0 4 2 -4 0 4 4 4 8 2 -3 16 0 -4 0 0 0 -8 8 -8 2 0 0 0 4 0 -2 -8 0 4 -4 0 -4 -4 -8 12 0 16 0 0 8 4 2 0 -2 -8 0 -3 4 -6 0 4 0 0 0 0 -4 -6 -12 12 0 0 4 -8 0 0 -8 -8 0 -4 -12 8 8 4 -4 8 0 4 0 0 -4 0 0 0 -6 -16 -8 16 4 4 8 -4 0 12 8 8 0 -8 0 -8 0 -8 0 0 0 -4 4 0 -4 -12 -8 12 0 -6 0 -12 0 -4 0 0 4 0 -8 0 8 0 0 -4 0 0 0 0 0 4 8 8 0 0 0 4 0 -16 -8 16 8 0 -8 0 8 0 -4 -4 4 -8 0 0 12 0 0 -4 -8 0 8 0 -4 4 4 -4 6 0 -12 0 0 12 -12 0 6 8 4 -8 0 0 0 0 4 8 8 0 0 4 0 0 -4 -2 12 -4 -4 4 -8 8 0 -4 4 0 0 0 6 8 0 2 -12 -16 0 12 3 0 -12 -8 0 6 0 8 -8 -2 -16 3 -4 0 -8 0 0 0 -4 0 8 -4 0 -2 -4 4 -8 8 0 0 0 0 4 0 8 2 -4 0 0 0 4 -4 0 -2 0 8 -4 -4 0 -4 0 8 2 0 -1 2 -1 +1 -1 4 -8 2 -4 -8 4 8 8 -2 8 8 -8 -8 -4 0 -8 0 -8 -1 0 8 8 16 0 -4 -8 16 0 -2 0 0 -4 0 0 2 -8 0 4 4 0 0 0 0 8 0 0 8 -8 0 -8 2 0 -2 8 -8 1 -4 -4 8 0 4 -16 -8 0 -8 4 0 0 -4 8 8 8 0 8 0 0 0 -4 -8 0 -8 0 0 8 -8 12 4 0 0 8 0 8 4 0 -8 0 0 0 -8 0 -16 -8 8 0 0 0 -4 0 4 8 -4 -8 -4 0 -8 -4 12 8 8 0 -8 -4 -8 0 8 8 -4 -8 8 8 -8 0 -8 0 -16 0 -8 -8 8 0 0 0 8 0 -4 -8 16 -8 8 0 8 0 8 8 8 16 -8 0 -12 -8 -12 -8 4 4 -8 4 8 8 -8 0 -8 4 0 0 0 0 -4 -8 8 -4 4 0 0 8 4 0 0 0 0 0 8 -8 0 -8 0 4 8 8 -8 -8 8 -2 8 -8 4 4 0 0 0 0 0 0 0 0 4 -8 8 2 -8 0 -4 0 -1 16 0 8 -8 -4 0 0 0 8 0 1 0 -16 -8 0 4 0 8 4 8 0 -8 2 -4 -4 0 0 0 -8 0 0 -8 0 8 -2 0 8 4 8 8 -4 -4 -8 2 -8 0 -8 -4 4 -2 8 0 -4 1 0 -1 +1 -1 -4 -2 0 0 0 -4 -4 4 0 4 2 4 0 0 -4 4 0 2 1 0 0 4 -8 -4 -4 0 8 0 -2 0 4 4 4 8 -2 -8 0 0 0 8 -4 4 -8 4 -4 0 0 8 0 -4 -2 0 -2 0 0 1 0 -2 0 4 -4 -8 0 0 -4 2 -4 -4 -4 0 -4 -8 8 0 0 8 8 0 4 -8 8 0 0 0 0 0 0 0 0 0 -8 0 -2 0 0 0 0 4 0 4 -8 4 -8 -8 8 -8 -4 8 -4 0 0 0 4 -4 -4 0 0 4 8 -4 0 -2 0 -4 8 -4 -4 0 -4 0 8 0 -8 0 8 0 0 0 0 0 0 4 -8 -8 4 -8 8 4 0 0 0 0 0 0 8 -8 -8 8 0 4 0 0 0 4 -4 0 0 4 8 -8 0 -4 -4 0 -4 0 2 0 -4 0 4 4 4 0 2 8 0 8 0 0 0 0 4 0 -8 4 -8 4 0 0 4 2 -4 4 0 0 0 0 4 -4 -4 0 -4 -8 2 8 0 2 -4 0 4 4 -1 8 4 -8 0 2 -8 8 8 -2 0 -1 -4 8 -8 -8 4 0 -4 -4 0 4 0 2 0 0 0 0 4 0 0 -4 -4 -8 8 2 4 0 4 0 -4 0 4 -2 0 0 -4 -4 -4 0 0 0 2 4 -1 2 -1 +1 -1 0 4 -2 -8 -8 0 -8 4 2 8 0 0 0 8 4 -4 4 0 -1 0 0 0 -8 0 0 8 8 -4 -2 0 0 0 -8 0 2 0 0 8 0 8 0 0 -8 0 0 0 0 0 -4 0 2 0 -2 -8 0 1 -8 4 8 0 0 8 -8 0 4 -4 4 0 0 8 -8 0 0 0 4 -8 -8 0 0 8 0 0 0 -4 0 0 -4 0 0 0 0 8 -4 0 -8 0 0 0 -8 0 0 0 8 -8 0 8 0 8 0 -4 4 0 0 0 8 4 0 0 8 0 0 4 -8 -4 0 -4 0 -8 0 0 -8 0 -8 0 0 0 -8 0 8 0 0 0 8 -8 0 0 0 4 0 0 8 0 8 8 8 0 -8 0 0 0 0 4 -4 0 0 -4 0 -8 -8 0 4 0 0 0 0 0 4 0 0 4 0 4 0 0 -4 -8 0 8 0 0 8 -8 0 8 8 0 0 -4 0 -8 0 -2 0 8 8 0 4 -4 0 0 0 0 0 8 -4 0 0 2 0 0 0 -4 -1 -8 0 0 0 4 0 8 -8 0 0 1 8 8 0 0 0 0 4 0 -8 -4 0 2 -8 0 -4 4 0 -8 0 0 0 -8 0 -2 4 0 0 8 0 -8 0 0 -2 4 -8 -4 0 8 2 -4 0 0 1 0 -1 +1 -1 -4 -2 0 0 0 4 4 -4 0 -4 2 4 0 0 4 -4 0 2 1 0 0 4 8 -4 4 0 -8 0 -2 0 4 -4 4 8 -2 8 0 0 0 -8 -4 4 -8 4 -4 0 0 -8 0 -4 -2 0 -2 0 0 1 0 -2 0 4 4 8 0 0 4 2 4 -4 4 0 -4 8 8 0 0 -8 -8 0 4 -8 -8 0 0 0 0 0 0 0 0 0 8 0 -2 0 0 0 0 4 0 4 8 4 8 -8 -8 -8 4 -8 4 0 0 0 4 -4 -4 0 0 4 -8 -4 0 -2 0 4 -8 4 -4 0 -4 0 -8 0 8 0 -8 0 0 0 0 0 0 4 8 8 -4 8 -8 -4 0 0 0 0 0 0 -8 8 8 -8 0 4 0 0 0 4 -4 0 0 4 -8 8 0 -4 -4 0 -4 0 2 0 -4 0 -4 -4 4 0 2 8 0 8 0 0 0 0 4 0 8 -4 8 -4 0 0 4 2 -4 4 0 0 0 0 4 -4 -4 0 -4 8 2 -8 0 2 -4 0 -4 -4 -1 -8 4 8 0 2 -8 8 8 -2 0 -1 -4 -8 8 -8 -4 0 4 4 0 -4 0 2 0 0 0 0 4 0 0 -4 -4 8 -8 2 -4 0 4 0 -4 0 -4 -2 0 0 -4 4 4 0 0 0 2 4 -1 2 -1 +1 -1 0 -6 -4 4 0 0 -4 0 -4 4 2 -4 8 4 0 0 4 2 1 0 8 -4 0 4 0 0 0 4 -2 8 -4 0 4 0 -2 0 0 -4 -4 0 4 -4 0 4 4 0 -8 0 4 -4 -2 8 -2 0 8 1 -4 -2 -16 -4 0 0 0 0 0 2 0 4 0 0 -4 0 0 -8 4 0 0 -4 4 0 0 0 0 -4 0 -4 0 0 0 0 -8 0 -2 0 0 0 0 -4 0 -4 8 4 -8 0 8 0 0 0 0 4 0 -8 0 4 -4 0 4 4 8 4 -8 6 -16 0 0 0 0 0 -4 8 -8 0 8 0 -8 0 0 0 16 0 0 -4 8 0 0 0 -8 0 8 0 0 0 0 0 -8 8 -8 8 4 4 -4 4 0 0 -4 0 0 4 8 -8 -4 0 4 0 4 0 2 -8 -4 0 0 0 -4 8 -6 0 0 0 0 -8 0 16 -4 0 0 0 0 0 8 0 4 2 -4 4 4 4 -4 -4 -4 4 4 0 4 0 2 0 -8 2 -4 0 0 0 -1 0 -4 0 8 -6 0 0 0 -2 0 -1 -4 0 0 0 0 -8 0 0 0 0 -8 2 4 4 -4 -4 -4 0 0 4 4 0 0 2 0 -8 0 0 4 -4 0 -2 4 4 -4 0 0 -4 4 4 2 0 -1 2 -1 +1 -1 0 0 -2 -4 -8 4 0 0 2 0 0 0 0 8 0 0 0 0 -1 8 0 0 0 0 -4 0 0 8 2 0 0 4 -8 0 -2 8 0 -4 4 0 0 0 8 0 0 -8 0 8 0 0 -2 0 2 0 0 1 4 -4 -8 0 -4 0 8 0 0 4 0 0 -4 8 -8 -8 0 0 -8 0 0 -4 0 -8 8 0 0 -8 0 4 4 0 0 0 8 -8 4 -8 0 -8 0 0 0 0 -8 0 0 8 8 -8 4 0 4 -8 4 0 0 0 8 -4 4 0 0 0 0 -4 8 0 -8 0 0 -8 0 0 0 0 0 0 -8 0 8 0 -8 0 0 0 0 0 -4 8 8 0 0 8 0 8 0 8 0 8 0 -8 -4 0 -4 8 -4 0 0 4 0 -8 0 -8 8 0 0 0 0 0 -4 0 0 -4 -4 0 0 0 4 8 0 -8 0 0 -8 8 0 0 0 4 -8 0 0 -8 0 2 0 8 -4 4 0 8 0 0 0 0 0 0 4 8 0 -2 0 8 4 0 -1 0 0 -8 0 -4 0 -8 8 0 -8 1 8 0 8 0 4 0 0 -4 0 0 0 -2 4 -4 0 -8 0 -8 0 0 0 0 -8 2 0 0 0 8 0 -4 -4 0 -2 0 -8 0 4 4 2 0 0 0 1 0 -1 +1 -1 0 -10 -4 8 -8 -4 -4 -4 -4 12 2 4 8 4 4 -4 0 2 1 -16 8 4 0 4 -4 16 -8 0 2 -8 4 4 4 -8 2 0 8 0 0 0 -4 -4 8 -4 4 -16 -8 -8 0 -4 2 -8 2 16 -8 1 0 -2 8 -4 12 0 8 8 -12 2 4 -4 -4 8 -4 0 -8 -8 0 8 0 0 -4 8 0 0 0 8 0 8 0 0 0 0 0 8 -2 0 0 0 0 -4 0 -4 0 -4 0 8 0 8 12 8 -4 -8 0 -8 8 -4 -4 0 -8 -4 0 -4 -8 -2 8 4 -8 -12 -8 8 -4 -8 0 0 0 0 0 0 -8 0 -8 0 0 4 0 -8 4 8 0 12 8 0 0 0 0 -8 0 0 0 0 -8 4 8 -8 0 8 4 0 0 4 0 0 8 -8 4 0 4 0 2 8 4 0 -12 -4 4 8 2 -8 0 -8 0 8 -8 -8 4 -16 -8 4 8 12 8 -8 4 -2 4 4 0 0 0 0 -4 4 4 -8 -4 0 2 0 8 -2 4 16 -12 -4 -1 0 4 0 8 2 8 -8 -8 -2 16 -1 -4 0 0 8 4 8 4 -4 -16 -4 -8 -2 0 0 0 0 -4 8 -8 -4 -4 0 0 -2 -4 -8 0 8 -4 -8 4 -2 4 8 -4 4 -4 -8 4 8 2 0 -1 2 -1 +1 -1 0 -4 -2 0 -8 0 8 -4 2 0 0 8 0 0 -4 4 -4 0 -1 0 0 -8 8 0 0 8 8 4 -2 0 0 0 0 0 2 0 0 0 8 -8 -8 0 8 0 0 0 0 0 4 0 2 0 -2 -8 0 1 0 4 8 0 0 -8 -8 0 -4 -4 -4 0 0 8 0 0 0 0 -4 8 8 -8 0 -8 0 0 0 4 0 -8 -4 0 0 0 0 8 -4 0 -8 0 0 0 -8 0 0 0 -8 8 0 -8 0 -8 0 4 4 0 0 8 0 4 -8 0 -8 0 0 4 -8 4 0 4 0 -8 0 0 8 0 8 0 0 0 -8 0 8 0 0 -8 -8 8 0 0 0 -4 0 0 8 0 8 8 -8 0 8 0 8 0 8 -4 -4 0 0 -4 0 0 8 0 -4 0 0 0 0 0 4 0 0 4 0 -4 0 0 -4 8 0 -8 0 0 8 -8 8 8 -8 0 0 4 0 -8 0 -2 0 0 0 8 -4 4 0 0 0 0 0 -8 -4 0 0 2 0 0 0 4 -1 8 0 0 0 4 0 -8 8 0 0 1 0 -8 0 0 0 0 -4 0 -8 4 0 2 0 -8 4 -4 0 -8 0 0 8 8 0 -2 -4 0 0 8 -8 0 0 0 -2 -4 0 4 0 0 2 4 0 0 1 0 -1 +1 -1 0 -8 -2 4 -8 -4 8 0 2 0 0 8 0 0 0 0 8 0 -1 8 0 -8 0 0 4 0 16 0 2 0 0 -4 0 0 -2 -8 0 4 -4 0 -8 0 -8 0 0 -8 0 -8 -8 0 -2 0 2 0 0 1 -4 -4 -8 0 4 0 8 0 0 4 0 0 4 8 0 8 0 0 0 0 0 4 0 8 -8 0 0 0 0 -4 4 0 0 0 -8 -8 4 -8 0 -8 0 0 0 0 8 0 0 -8 -8 8 -4 0 -4 0 4 0 0 8 0 -4 -4 0 0 0 0 -4 8 0 8 0 0 -8 0 0 0 0 0 0 8 0 8 0 -8 0 0 -8 0 0 4 -8 -8 0 0 8 0 8 0 8 0 -8 0 8 4 0 4 0 -4 0 0 4 0 0 0 8 0 0 0 0 0 0 -4 0 0 -4 4 0 0 0 4 -8 0 8 0 0 -8 8 8 0 0 -4 8 0 0 -8 0 2 0 0 4 -4 8 0 0 0 0 0 0 0 4 -8 0 -2 0 8 -4 0 -1 0 0 8 0 -4 0 8 -8 0 -8 1 0 0 -8 0 -4 0 0 4 0 0 0 -2 -4 4 -8 0 0 -8 0 0 8 0 8 2 0 0 0 8 -8 4 4 0 -2 -8 0 0 -4 -4 2 8 0 0 1 0 -1 +1 -1 -8 -2 4 0 8 -4 4 12 4 -12 2 4 -8 -4 4 12 8 2 1 0 -8 4 0 4 -4 0 8 -8 2 8 4 -12 4 -8 2 0 -8 -8 8 0 -4 -4 8 -4 4 0 8 -8 8 -4 2 8 2 0 8 1 -8 -2 -8 -4 -4 0 -8 -8 4 2 4 -4 -4 -8 -4 0 -8 8 -8 8 0 8 -4 8 0 0 0 0 0 0 0 0 0 0 0 -8 -2 16 -16 -16 0 -4 16 -4 0 -4 0 8 0 8 -4 8 -4 0 0 8 0 -4 -4 0 0 -4 0 -4 8 -2 -8 4 -8 4 0 -8 -4 8 0 0 0 0 0 0 8 0 8 0 0 4 0 -8 4 8 0 -4 -8 16 -16 -16 16 8 0 0 0 0 0 4 0 0 0 0 4 0 0 4 0 0 0 0 4 0 4 0 2 -8 4 0 4 -4 4 -8 2 -8 0 -8 0 -8 8 8 4 0 -8 4 8 -4 -8 8 4 -2 4 4 8 -8 -8 8 -4 4 4 8 -4 0 2 0 -8 -2 4 0 4 -4 -1 0 4 0 -8 2 8 -8 -8 -2 0 -1 -4 0 0 8 4 -8 -12 12 0 -4 8 -2 8 -8 -8 8 -4 -8 8 -4 -4 0 0 -2 -4 8 8 -8 -4 0 4 -2 -4 0 -4 -12 12 0 -4 0 2 8 -1 2 -1 +1 -1 -4 0 2 -4 0 -4 0 8 -2 0 0 0 0 4 0 -8 0 0 -1 0 0 0 8 0 4 8 0 0 -2 0 0 4 0 0 2 0 0 -4 -4 8 0 -8 0 0 0 0 0 8 0 0 2 0 -2 -8 0 1 4 4 0 8 -4 -8 0 0 -8 4 0 -8 4 0 0 0 0 0 0 0 -8 4 0 0 0 0 0 0 8 -4 4 0 0 -8 -8 0 -4 0 8 0 0 -8 8 8 -8 0 0 0 -8 0 4 0 -4 0 -4 0 4 0 0 -4 -4 0 0 8 0 -4 0 0 -8 8 4 0 0 0 0 0 0 0 -8 0 0 8 0 0 0 0 0 0 4 8 8 -8 0 0 -8 0 -8 0 0 8 0 8 4 0 4 0 4 -4 0 4 -8 0 0 8 0 -4 8 0 -8 0 4 0 0 -4 -4 0 -8 0 4 0 0 0 0 0 0 0 0 8 0 -4 -8 8 0 0 0 -2 0 0 -4 -4 0 0 0 -8 8 0 0 8 -4 0 0 2 0 0 4 0 -1 8 8 0 0 -4 0 0 0 0 0 1 0 -8 0 0 -4 0 8 -4 -8 0 0 2 4 4 0 0 0 0 0 0 0 -8 0 -2 0 0 -4 0 0 -4 4 0 2 0 0 -8 4 4 -2 0 0 4 1 0 -1 +1 -1 -8 -2 4 0 8 4 -4 -12 4 12 2 4 -8 -4 -4 -12 -8 2 1 0 -8 4 0 4 4 0 8 8 2 8 4 12 4 -8 2 0 -8 8 -8 0 -4 -4 8 -4 4 0 8 8 -8 -4 2 8 2 0 8 1 8 -2 -8 -4 4 0 -8 -8 -4 2 -4 -4 4 -8 -4 0 -8 8 8 -8 0 -8 -4 8 0 0 0 0 0 0 0 0 0 0 0 -8 -2 -16 16 16 0 -4 -16 -4 0 -4 0 8 0 8 4 -8 4 0 0 8 0 -4 -4 0 0 -4 0 -4 8 -2 -8 -4 8 -4 0 -8 -4 8 0 0 0 0 0 0 8 0 8 0 0 4 0 8 -4 -8 0 4 -8 -16 16 16 -16 8 0 0 0 0 0 4 0 0 0 0 4 0 0 4 0 0 0 0 4 0 4 0 2 -8 4 0 -4 4 4 -8 2 -8 0 -8 0 -8 8 8 4 0 8 -4 -8 4 -8 8 4 -2 4 4 -8 8 8 -8 -4 4 4 8 -4 0 2 0 -8 -2 4 0 -4 4 -1 0 4 0 -8 2 8 -8 -8 -2 0 -1 -4 0 0 8 -4 -8 12 -12 0 4 8 -2 -8 8 8 -8 -4 -8 8 -4 -4 0 0 -2 4 8 8 -8 -4 0 -4 -2 -4 0 -4 12 -12 0 -4 0 2 8 -1 2 -1 +1 -1 -4 -6 0 4 8 0 -4 0 0 4 2 -4 0 0 0 0 -4 2 1 0 0 -4 -8 -4 0 0 16 -4 2 0 -4 0 4 0 2 8 8 4 4 -8 4 4 0 -4 -4 0 0 0 -4 -4 2 0 2 0 -16 1 4 6 -8 4 0 -8 8 8 0 -6 0 4 0 -8 -4 8 0 0 -4 0 -8 4 -4 0 8 0 0 -4 0 -4 0 0 0 0 0 8 6 0 0 0 0 4 0 4 0 -4 0 0 0 0 0 0 0 4 0 0 -4 4 -4 0 4 -4 0 4 0 -2 -8 0 0 0 4 -8 -4 -16 0 0 0 0 0 0 -8 0 8 0 0 -4 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 4 4 -4 4 0 -4 4 0 0 4 0 0 -4 4 -4 0 -4 0 -6 16 4 0 0 0 -4 0 2 0 0 0 0 0 -8 8 -4 0 0 0 0 0 0 8 4 -2 4 4 -4 -4 4 4 4 -4 -4 -8 4 8 -6 -8 16 -2 4 0 0 0 -1 8 -4 -8 0 2 0 0 0 -2 0 -1 -4 8 -8 0 0 0 0 0 0 0 0 -2 -4 -4 4 4 4 -8 -8 4 4 8 -8 -2 0 0 4 -8 4 -4 0 -2 0 4 -4 0 0 -4 0 4 2 4 -1 2 -1 +1 -1 -4 -4 2 0 0 0 0 -4 -2 8 0 0 0 4 4 4 -4 0 -1 8 0 0 0 0 0 0 8 -4 2 0 0 -8 0 0 -2 8 0 0 0 0 0 8 0 0 0 -8 0 0 4 0 -2 0 2 0 0 1 0 4 0 -8 -8 0 0 0 -4 4 4 -8 0 0 0 -8 0 0 4 8 0 0 0 0 -8 0 0 -4 -8 0 -4 0 0 8 0 0 -4 8 0 8 0 8 0 -8 0 0 -8 0 0 0 8 -8 0 -4 -4 0 4 0 0 4 0 0 -8 8 0 -4 0 -4 0 4 4 0 0 0 -8 0 -8 0 0 0 0 -8 0 0 0 0 8 8 0 0 0 -4 0 -8 0 -8 0 0 8 0 8 0 0 0 0 4 4 -4 0 -4 8 0 8 0 4 -4 -8 0 8 0 4 0 0 4 -8 4 -8 0 4 0 0 0 0 0 0 0 0 0 -8 0 0 4 0 0 0 2 0 0 0 0 -4 -4 0 8 -8 0 0 0 -4 8 0 -2 0 8 8 -4 -1 0 8 8 0 -4 0 0 0 0 -8 1 0 0 -8 0 0 0 -4 8 0 -4 0 -2 0 0 4 4 0 0 0 0 0 0 -8 2 4 0 -4 0 0 0 0 0 2 -4 0 4 -8 0 -2 4 0 4 1 0 -1 +1 -1 -4 0 2 -4 0 4 0 -8 -2 8 0 0 0 4 0 8 0 0 -1 0 0 0 8 0 -4 8 0 0 -2 0 0 -4 0 0 2 0 0 -4 -4 8 0 8 0 0 0 0 0 -8 0 0 2 0 -2 -8 0 1 4 -4 0 -8 4 -8 0 0 8 -4 0 8 -4 0 0 0 0 0 0 0 -8 4 0 0 0 0 0 0 8 -4 4 0 0 -8 -8 0 4 0 8 0 0 8 8 -8 -8 0 0 0 -8 0 -4 0 4 0 -4 0 4 0 0 -4 -4 0 0 -8 0 4 0 0 8 -8 4 0 0 0 0 0 0 0 -8 0 0 8 0 0 0 0 0 0 -4 -8 8 8 0 0 -8 0 -8 0 0 8 0 8 4 0 4 0 4 -4 0 4 -8 0 0 8 0 -4 -8 0 8 0 -4 0 0 -4 4 0 8 0 -4 0 0 0 0 0 0 0 0 8 0 4 8 -8 0 0 0 -2 0 0 -4 -4 0 0 0 8 -8 0 0 8 4 0 0 2 0 0 -4 0 -1 8 -8 0 0 4 0 0 0 0 0 1 0 -8 0 0 4 0 -8 4 -8 0 0 2 4 4 0 0 0 0 0 0 0 -8 0 -2 0 0 -4 0 0 -4 -4 0 2 0 0 8 -4 4 -2 0 0 4 1 0 -1 +1 -1 -4 -4 2 0 0 0 8 4 -2 -8 0 0 0 4 -4 -4 -4 0 -1 8 0 0 0 0 0 0 8 -4 2 0 0 8 0 0 -2 8 0 0 0 0 0 -8 0 0 0 -8 0 0 4 0 -2 0 2 0 0 1 0 -4 0 8 8 0 0 0 4 -4 -4 8 0 0 0 -8 0 0 4 -8 0 0 0 0 -8 0 0 -4 -8 0 -4 0 0 8 0 0 4 8 0 8 0 -8 0 8 0 0 -8 0 0 0 -8 8 0 -4 -4 0 4 0 0 4 0 0 -8 -8 0 4 0 4 0 -4 4 0 0 0 -8 0 -8 0 0 0 0 -8 0 0 0 0 8 -8 0 0 0 4 0 -8 0 -8 0 0 8 0 8 0 0 0 0 4 4 -4 0 -4 8 0 8 0 4 -4 8 0 -8 0 -4 0 0 4 8 -4 8 0 -4 0 0 0 0 0 0 0 0 0 8 0 0 -4 0 0 0 2 0 0 0 0 -4 -4 0 -8 8 0 0 0 4 8 0 -2 0 8 -8 4 -1 0 -8 8 0 4 0 0 0 0 -8 1 0 0 -8 0 0 0 4 -8 0 4 0 -2 0 0 4 4 0 0 0 0 0 0 -8 2 -4 0 -4 0 0 0 0 0 2 -4 0 -4 8 0 -2 4 0 4 1 0 -1 +1 -1 0 -4 -2 0 8 0 0 4 2 0 0 -8 0 0 4 -4 -4 0 -1 0 0 8 8 0 0 8 -8 4 -2 0 0 0 0 0 2 0 0 0 8 -8 8 0 -8 0 0 0 0 0 4 0 2 0 -2 -8 0 1 0 -4 -8 0 0 -8 8 0 4 4 4 0 0 -8 0 0 0 0 -4 -8 8 -8 0 8 0 0 0 4 0 -8 -4 0 0 0 0 -8 4 0 -8 0 0 0 -8 0 0 0 -8 -8 0 8 0 8 0 4 4 0 0 -8 0 4 -8 0 -8 0 0 -4 8 -4 0 -4 0 8 0 0 8 0 8 0 0 0 8 0 -8 0 0 8 -8 -8 0 0 0 4 0 0 8 0 8 -8 -8 0 8 0 8 0 8 -4 -4 0 0 -4 0 0 8 0 -4 0 0 0 0 0 -4 0 0 4 0 4 0 0 4 -8 0 8 0 0 -8 8 -8 8 8 0 0 -4 0 8 0 -2 0 0 0 8 -4 4 0 0 0 0 0 -8 4 0 0 2 0 0 0 -4 -1 8 0 0 0 -4 0 8 -8 0 0 1 0 -8 0 0 0 0 4 0 -8 -4 0 2 0 -8 4 -4 0 8 0 0 -8 8 0 -2 4 0 0 -8 8 0 0 0 -2 -4 0 -4 0 0 2 4 0 0 1 0 -1 +1 -1 0 -10 -4 8 8 4 -4 -4 -4 4 2 -12 8 4 4 -4 16 2 1 0 8 -12 0 4 4 0 8 0 2 -8 4 -4 4 8 2 0 -8 0 -16 0 12 -4 -8 -4 4 0 -8 8 16 -4 2 -8 2 0 24 1 0 6 24 -4 -12 0 -8 -8 -12 -6 4 -4 4 -8 -4 0 8 -8 0 8 0 -16 -4 -8 0 0 0 -8 0 -8 0 0 0 0 16 -8 6 16 16 -16 0 -4 -16 -4 -16 -4 16 -8 -16 -8 -12 8 4 8 0 -8 -8 12 -4 0 8 -4 -16 -4 -8 -10 24 4 8 -12 8 -8 -4 24 16 0 -16 0 16 0 8 0 -24 0 0 -12 -16 -8 -4 -8 16 12 8 16 16 -16 -16 8 16 -16 16 -16 8 4 -8 8 0 -8 4 0 0 4 -16 16 -8 8 4 0 4 0 -6 -24 4 0 12 -4 4 8 10 8 0 8 0 8 8 -24 -12 0 -8 -4 -8 12 8 8 4 -2 4 4 0 16 -16 0 -4 4 4 8 -4 0 -6 0 -24 -2 4 0 12 -4 -1 0 4 0 8 10 -8 8 8 -2 0 -1 -4 0 0 -8 -4 8 4 4 0 -4 -8 -2 0 16 -16 0 -4 -8 8 -4 12 0 0 -2 -4 -8 0 -8 12 -8 -4 -2 4 8 -4 4 4 -8 4 8 2 0 -1 2 -1 +1 -1 0 -8 -2 4 8 4 8 0 2 -8 0 -8 0 0 0 0 8 0 -1 8 0 8 0 0 -4 0 0 0 2 0 0 4 0 0 -2 -8 0 4 -4 0 8 0 8 0 0 -8 0 8 -8 0 -2 0 2 0 0 1 -4 4 8 0 -4 0 -8 0 0 -4 0 0 -4 -8 0 8 0 0 0 0 0 4 0 -8 -8 0 0 0 0 -4 4 0 0 0 -8 8 -4 -8 0 -8 0 0 0 0 8 0 0 8 -8 -8 4 0 4 0 4 0 0 -8 0 -4 -4 0 0 0 0 4 -8 0 -8 0 0 8 0 0 0 0 0 0 8 0 -8 0 8 0 0 8 0 0 -4 8 -8 0 0 8 0 8 0 -8 0 -8 0 8 4 0 4 0 -4 0 0 4 0 0 0 8 0 0 0 0 0 0 4 0 0 -4 -4 0 0 0 -4 8 0 -8 0 0 8 -8 -8 0 0 4 -8 0 0 8 0 2 0 0 4 -4 8 0 0 0 0 0 0 0 -4 -8 0 -2 0 8 4 0 -1 0 0 8 0 4 0 -8 8 0 -8 1 0 0 -8 0 4 0 0 -4 0 0 0 -2 -4 4 -8 0 0 8 0 0 -8 0 8 2 0 0 0 -8 8 4 -4 0 -2 -8 0 0 4 -4 2 8 0 0 1 0 -1 +1 -1 0 0 -6 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 3 0 0 0 0 12 0 0 0 0 -6 24 -12 0 0 0 -6 0 0 0 0 0 0 0 0 0 -12 0 0 0 0 0 6 -24 6 0 0 -3 0 0 0 0 0 0 0 0 0 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 -4 0 0 0 12 0 12 0 0 0 0 0 0 0 -4 0 0 0 0 0 0 0 0 0 0 0 0 0 -12 0 0 0 0 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -48 0 -12 0 0 0 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 0 0 -12 0 0 0 0 0 0 0 4 0 4 0 0 0 -12 0 0 0 0 0 0 -12 0 0 24 0 0 0 0 0 0 0 0 0 0 0 -6 0 0 0 0 0 0 12 0 0 0 -12 0 0 0 0 -6 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 -3 0 0 0 0 0 -24 0 0 0 0 0 6 0 0 0 0 -12 0 0 12 0 0 0 6 0 0 0 0 0 0 0 0 -6 0 0 0 0 0 6 0 0 0 1 0 -1 +1 -1 -4 0 -2 0 0 0 0 0 2 0 0 0 0 4 0 0 0 0 3 0 0 0 0 -4 0 0 0 0 -2 8 -4 0 0 8 -2 0 8 0 0 0 0 0 0 0 4 0 0 0 0 0 2 -8 2 0 0 -3 0 0 0 0 0 0 0 -8 0 4 0 0 0 0 0 0 -8 0 0 0 0 0 0 0 0 -4 4 0 8 0 -4 -16 -4 8 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 0 -4 0 0 -4 0 0 0 0 0 0 0 0 0 0 -4 0 0 0 0 -16 0 16 0 4 0 -8 0 -16 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 0 4 -8 0 0 0 0 4 0 -4 0 -4 0 0 0 4 0 0 0 0 0 0 4 0 16 8 0 0 0 0 0 0 0 0 0 0 0 -2 0 0 0 0 0 0 -4 0 0 8 -4 0 0 0 0 -2 0 0 0 0 3 0 0 0 0 0 8 0 0 0 0 -3 0 0 0 -8 0 -8 0 0 0 0 0 2 0 0 0 0 4 0 -8 4 0 0 0 2 0 0 -4 0 0 0 0 0 -2 0 0 0 0 0 2 0 0 4 1 0 -1 +1 -1 0 -8 -6 8 0 0 8 0 6 -8 0 0 0 0 0 0 8 0 3 -16 0 0 0 12 0 16 0 8 2 -8 4 0 0 0 2 0 0 -8 -8 0 0 0 0 0 -12 16 0 0 -8 0 -2 8 -2 -16 0 -3 8 0 0 0 0 0 0 0 0 -4 0 0 0 0 0 0 0 0 -8 0 0 8 0 0 0 -4 -4 -8 0 8 -4 0 -4 0 0 0 0 16 -16 16 -4 0 -16 0 0 0 0 0 0 0 0 0 0 -8 -12 0 0 0 0 -4 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 4 0 0 0 -16 0 0 0 0 0 0 0 0 0 -16 16 -16 16 0 0 0 0 0 -8 0 -8 8 12 0 0 4 0 0 0 0 8 0 0 4 0 4 0 0 0 4 0 0 0 0 0 0 4 0 0 -8 0 0 0 16 0 0 0 0 0 0 0 2 0 0 -8 -8 8 8 12 0 0 0 4 0 0 0 0 2 0 -16 0 0 3 0 0 0 0 0 0 0 0 0 16 -3 0 0 0 0 0 8 0 0 -16 0 0 -2 8 8 -8 -8 -12 0 0 -4 0 0 0 -2 0 0 0 0 0 8 0 0 -6 -8 0 0 0 -8 6 8 0 0 1 0 -1 +1 -1 -4 0 -2 0 0 -8 -8 8 2 8 0 0 0 4 8 -8 0 0 3 0 0 0 0 -4 8 0 0 0 -2 -8 12 -8 0 24 -2 0 -8 0 0 0 0 0 0 0 4 0 0 16 0 0 2 8 2 0 0 -3 0 0 0 0 8 0 0 8 8 -12 -24 0 -24 0 0 0 -24 0 0 16 0 0 0 0 0 -4 4 0 -8 0 12 -16 -4 -8 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 -8 -16 24 0 -4 0 -4 0 0 12 0 0 0 0 0 0 0 24 -16 -8 -4 0 0 0 0 16 0 -16 0 4 0 8 0 16 -16 0 0 16 -24 16 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 0 -12 8 0 0 0 0 4 0 -4 0 -4 0 0 0 -12 8 -24 0 0 0 0 4 0 16 -8 0 0 0 0 -16 24 -16 -8 0 0 0 -2 0 0 0 0 0 0 -4 0 0 -8 12 0 0 0 0 -2 0 0 -8 24 3 0 0 0 0 0 24 0 0 0 0 -3 0 0 0 -24 -8 8 8 8 0 -8 0 2 0 0 0 0 4 0 8 -12 0 0 0 2 8 0 -4 0 0 0 8 0 -2 0 0 -8 -8 0 2 0 0 4 1 0 -1 +1 -1 -8 0 2 0 0 0 0 0 -2 0 0 0 0 8 0 0 0 0 3 0 0 0 0 -4 0 0 0 0 2 8 4 0 0 0 2 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 -2 -8 -2 0 0 -3 0 0 0 0 0 0 0 0 0 -4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 -4 0 0 0 -4 32 -4 0 0 0 0 0 0 0 -4 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 -8 0 0 -4 0 0 0 0 0 0 0 0 0 0 -8 0 0 0 0 0 0 -16 0 4 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 8 0 4 0 0 0 0 0 8 0 4 0 4 0 0 0 4 0 0 0 0 0 0 4 0 -32 8 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 -4 0 0 0 4 0 0 0 0 2 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 -3 0 0 0 0 0 -8 0 0 0 0 0 -2 0 0 0 0 4 0 0 -4 0 0 0 -2 0 0 -8 0 0 0 0 0 2 0 0 0 0 0 -2 0 0 8 1 0 -1 +1 -1 -4 0 -2 0 0 8 8 -8 2 -8 0 0 0 4 -8 8 0 0 3 0 0 0 0 -4 -8 0 0 0 -2 -8 12 8 0 24 -2 0 -8 0 0 0 0 0 0 0 4 0 0 -16 0 0 2 8 2 0 0 -3 0 0 0 0 -8 0 0 8 -8 -12 24 0 24 0 0 0 -24 0 0 -16 0 0 0 0 0 -4 4 0 -8 0 12 -16 -4 -8 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 8 16 -24 0 -4 0 -4 0 0 12 0 0 0 0 0 0 0 -24 16 8 -4 0 0 0 0 16 0 -16 0 4 0 8 0 16 -16 0 0 -16 24 -16 0 -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 0 -12 8 0 0 0 0 4 0 -4 0 -4 0 0 0 -12 -8 24 0 0 0 0 4 0 16 -8 0 0 0 0 16 -24 16 8 0 0 0 -2 0 0 0 0 0 0 -4 0 0 -8 12 0 0 0 0 -2 0 0 8 -24 3 0 0 0 0 0 24 0 0 0 0 -3 0 0 0 -24 8 8 -8 -8 0 8 0 2 0 0 0 0 4 0 8 -12 0 0 0 2 -8 0 -4 0 0 0 -8 0 -2 0 0 8 8 0 2 0 0 4 1 0 -1 +1 -1 -4 -8 -2 8 0 0 8 0 2 -8 0 0 0 4 0 0 -8 0 3 -16 0 0 -16 -4 0 16 16 -8 6 -8 -4 0 0 -8 6 16 24 8 8 -16 0 0 0 0 4 16 0 0 8 0 -6 8 -6 -16 0 -3 -8 0 0 0 0 16 0 -24 0 4 0 0 0 0 0 -16 8 0 8 0 16 -8 0 0 -16 12 4 -8 -8 8 -4 -16 12 -8 -16 0 0 -16 16 -16 4 0 16 0 -16 0 16 0 -16 0 0 0 0 -8 -4 0 -4 0 0 -4 8 0 16 0 0 0 0 0 0 0 -4 0 0 0 16 16 16 -16 -16 -12 0 8 0 16 -16 0 -16 0 0 0 16 0 0 16 -16 16 -16 0 -16 16 -16 16 -8 0 -8 8 4 4 0 4 8 0 -16 16 8 4 0 -4 0 -4 0 0 0 4 0 0 0 0 0 0 -12 0 16 -8 0 0 0 16 0 0 0 0 0 0 0 6 0 0 8 8 -8 -8 -4 0 0 24 -4 -16 0 16 0 6 0 -16 0 0 3 -16 0 16 0 0 -8 0 0 0 16 -3 0 16 -16 8 0 8 0 0 -16 0 0 -6 -8 -8 8 8 4 0 -24 4 0 16 -16 -6 0 0 -4 0 0 8 0 0 -2 -8 0 0 0 -8 2 8 0 4 1 0 -1 +1 -1 -12 0 6 0 0 8 -8 -24 -6 24 0 0 0 12 8 24 0 0 3 0 0 0 0 12 -8 0 0 0 6 24 12 -24 0 -24 6 0 -24 0 0 0 0 0 0 0 -12 0 0 48 0 0 -6 -24 -6 0 0 -3 0 0 0 0 24 0 0 24 -24 -12 -24 0 24 0 0 0 24 0 0 -48 0 0 0 0 0 12 4 0 -24 0 12 -48 12 -24 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 -24 48 -24 0 12 0 -12 0 0 12 0 0 0 0 0 0 0 24 -48 24 -12 0 0 0 0 -16 0 48 0 -12 0 24 0 -48 16 0 0 -48 24 48 0 -24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -12 12 0 -12 24 0 0 0 0 12 0 -4 0 -4 0 0 0 -12 24 -24 0 0 0 0 -12 0 48 24 0 0 0 0 48 -24 -48 24 0 0 0 6 0 0 0 0 0 0 12 0 0 -24 12 0 0 0 0 6 0 0 -24 24 3 0 0 0 0 0 -24 0 0 0 0 -3 0 0 0 24 8 -24 -24 24 0 -8 0 -6 0 0 0 0 -12 0 24 -12 0 0 0 -6 8 0 -12 0 0 0 -8 0 6 0 0 24 -24 0 -6 0 0 12 1 0 -1 +1 -1 -12 0 6 0 0 -8 8 24 -6 -24 0 0 0 12 -8 -24 0 0 3 0 0 0 0 12 8 0 0 0 6 24 12 24 0 -24 6 0 -24 0 0 0 0 0 0 0 -12 0 0 -48 0 0 -6 -24 -6 0 0 -3 0 0 0 0 -24 0 0 24 24 -12 24 0 -24 0 0 0 24 0 0 48 0 0 0 0 0 12 4 0 -24 0 12 -48 12 -24 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 24 -48 24 0 12 0 -12 0 0 12 0 0 0 0 0 0 0 -24 48 -24 -12 0 0 0 0 -16 0 48 0 -12 0 24 0 -48 16 0 0 48 -24 -48 0 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -12 12 0 -12 24 0 0 0 0 12 0 -4 0 -4 0 0 0 -12 -24 24 0 0 0 0 -12 0 48 24 0 0 0 0 -48 24 48 -24 0 0 0 6 0 0 0 0 0 0 12 0 0 -24 12 0 0 0 0 6 0 0 24 -24 3 0 0 0 0 0 -24 0 0 0 0 -3 0 0 0 24 -8 -24 24 -24 0 8 0 -6 0 0 0 0 -12 0 24 -12 0 0 0 -6 -8 0 -12 0 0 0 8 0 6 0 0 -24 24 0 -6 0 0 12 1 0 -1 +1 -3 12 -12 6 -8 -16 8 0 24 6 16 -4 -8 -16 4 8 24 -8 -4 3 -16 -16 -8 -16 12 8 -16 -32 -8 6 24 12 24 -8 24 6 -16 24 -8 -8 -16 -8 -8 -16 -8 12 -16 -16 48 -8 -8 6 24 6 -16 -16 3 -8 -4 -16 -8 24 -16 -16 24 24 8 24 -8 24 -16 -8 -16 24 -16 -8 48 -16 -8 -8 -16 -16 12 4 -8 24 -8 12 48 12 24 -16 -16 -4 -16 -16 -16 4 -8 -16 -8 -16 -8 -16 -16 -16 -16 24 48 24 -8 12 -16 12 -8 -8 12 -8 -8 -16 -8 -16 -4 -16 24 48 24 12 -16 -8 -16 -16 16 -16 48 -16 12 -16 24 -16 48 16 -8 -16 48 24 48 -16 24 -16 -16 -16 -16 -16 -16 -16 -16 -16 -16 -8 -8 -8 -8 12 12 -8 12 24 -8 -16 -16 -8 12 -8 4 -8 4 -4 -16 -8 12 24 24 -8 -16 -4 -16 12 -16 48 24 -16 -16 -8 -16 48 24 48 24 -16 -16 -8 6 -8 -8 -8 -8 -8 -8 12 -8 -8 24 12 -16 -4 -16 -16 6 -8 -16 24 24 3 -16 -8 -16 -16 -4 24 -16 -16 -4 -16 3 -8 -16 -16 24 8 24 24 24 -16 8 -16 6 -8 -8 -8 -8 12 -16 24 12 -8 -16 -16 6 8 -16 12 -16 -8 -8 8 -4 6 -8 -8 24 24 -8 6 -8 -4 12 1 -4 1 +1 -3 4 -4 2 -4 0 4 0 8 2 0 -4 0 0 4 0 8 0 -4 -1 0 0 0 -8 0 4 8 0 0 -2 0 0 4 0 0 2 0 0 -4 -4 -8 0 0 0 -8 0 0 0 -8 0 8 -2 0 2 8 0 -1 -4 0 0 0 4 -8 0 0 -8 0 0 0 -4 0 0 0 0 0 0 0 -8 -4 8 0 0 0 0 0 -8 -4 4 0 0 8 8 0 0 0 8 0 0 0 8 0 8 -8 0 0 8 0 4 0 -4 0 -4 0 -4 0 0 -4 -4 8 0 0 0 0 0 0 -8 -8 -4 0 8 0 0 0 0 0 8 0 0 8 0 0 0 0 0 0 -4 -8 8 -8 0 0 8 0 8 0 0 8 0 8 -4 8 -4 0 -4 -4 8 -4 -8 0 0 8 0 -4 0 0 0 0 0 0 -8 4 4 0 0 0 0 0 0 0 0 0 0 0 0 8 0 -4 -8 -8 0 0 8 -2 8 0 -4 -4 0 0 0 0 0 0 0 -8 0 0 0 2 -8 0 4 0 -1 -8 0 0 0 0 0 0 0 -4 0 -1 0 -8 0 0 4 0 8 4 8 0 0 -2 -4 -4 0 0 0 0 0 0 0 -8 0 2 0 0 4 0 0 -4 4 -4 2 0 0 8 4 -4 2 0 -4 4 1 -4 1 +1 -3 4 -8 2 0 0 0 0 4 2 8 -4 0 0 4 4 4 -4 -4 -1 8 0 0 0 0 0 0 -8 -4 2 0 0 8 0 0 -2 -8 0 0 0 0 0 0 0 8 0 8 0 0 -4 8 2 0 -2 0 0 -1 0 0 0 0 -8 0 0 0 4 0 -4 0 0 0 0 -8 0 0 -4 -8 0 0 -8 0 -8 0 0 -4 8 0 -4 0 0 -8 0 0 0 8 0 8 0 0 0 0 0 8 8 0 0 0 -8 -8 0 -4 -4 0 -4 0 0 4 0 -8 8 0 0 0 0 -4 0 4 -4 0 8 0 8 0 8 0 0 0 0 -8 0 0 0 0 8 -8 0 0 0 4 0 8 0 8 0 0 8 0 8 0 0 8 0 -4 -4 -4 -8 4 8 0 8 0 -4 -4 0 0 0 0 0 0 8 -4 -8 -4 0 0 0 0 0 0 0 0 0 0 0 0 -8 0 0 4 0 0 8 2 -8 0 0 0 -4 -4 0 0 0 0 0 0 0 -8 0 -2 8 8 -8 -4 -1 0 0 -8 0 0 0 0 0 -4 8 -1 0 0 -8 0 0 0 4 8 0 4 0 2 0 0 -4 -4 0 0 0 0 0 0 -8 -2 4 0 4 0 0 0 0 -4 2 -4 0 4 8 0 2 -4 -4 4 1 -4 1 +1 -3 8 -6 4 -8 -8 4 12 12 -4 20 2 -4 -8 -12 -4 -12 0 -2 1 -16 8 4 0 4 -4 -16 8 0 2 8 4 -12 4 8 2 0 8 0 0 0 4 -4 -8 -4 -4 16 -8 8 0 -4 -2 -8 -2 16 -8 -1 0 -2 -8 -4 4 0 -8 -8 4 -6 4 -4 4 8 4 0 -8 8 0 8 0 0 -4 -8 0 0 0 8 0 -8 0 0 0 0 0 8 2 0 0 0 0 4 0 4 0 4 0 8 0 8 -4 -8 -4 -8 0 -8 0 -4 -4 0 8 4 0 4 8 2 8 -4 -8 -4 0 -8 4 8 0 0 0 0 0 0 8 0 8 0 0 -4 0 -8 -4 -8 0 -4 -8 0 0 0 0 -8 0 0 0 0 -8 4 8 8 0 0 4 0 0 -4 0 0 -8 0 4 0 4 0 2 8 4 0 -4 -4 4 8 2 8 0 8 0 -8 -8 -8 4 16 8 4 8 4 8 8 -4 -2 -4 4 0 0 0 0 -4 -4 -4 -8 -4 0 -2 0 -8 -2 -4 16 4 4 -1 0 -4 0 -8 -2 -8 -8 -8 -2 -16 1 4 0 0 8 -4 8 -12 -12 -16 -4 8 2 0 0 0 0 4 8 8 4 4 0 0 2 4 -8 -8 -8 -4 8 4 2 -4 8 -4 12 12 -8 4 -8 2 8 -1 -2 1 +1 -3 4 -4 -2 0 0 0 0 0 -2 0 -4 0 16 4 0 0 0 -4 3 0 16 0 0 -4 0 0 0 0 -2 8 -4 0 0 -8 -2 0 -8 0 0 0 0 -8 0 8 -4 0 0 0 0 -8 -2 8 -2 0 0 3 0 4 -16 -8 0 0 -16 -8 0 0 0 8 0 0 0 0 -8 16 0 0 0 0 8 0 0 -4 4 0 -8 0 -4 16 -4 -8 0 -16 4 0 0 0 4 -8 0 -8 0 8 0 0 0 0 0 0 0 0 -4 16 4 0 0 -4 0 8 0 8 0 4 -16 0 0 0 4 0 -8 0 0 16 0 16 0 -4 -16 -8 -16 16 16 0 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 -8 0 0 -4 4 8 -4 -8 0 0 0 0 4 -8 4 -8 4 4 0 8 -4 0 0 8 0 4 0 -4 0 16 8 -16 -16 0 0 0 0 0 0 16 0 -8 -2 8 0 0 0 0 0 -4 -8 -8 -8 -4 0 4 0 0 -2 8 0 0 0 3 0 8 0 0 4 -8 0 0 -4 0 3 0 0 0 -8 0 8 0 0 0 0 16 -2 0 0 0 0 -4 0 -8 -4 0 0 0 -2 0 16 4 0 0 0 0 -4 -2 0 0 0 0 0 -2 0 -4 4 1 -4 1 +1 -3 4 -4 -2 0 16 0 0 0 -2 0 -4 -8 16 -4 0 0 0 -4 3 0 16 -8 0 -4 0 0 16 0 6 -8 -4 0 -8 8 6 0 -24 0 0 0 -8 -8 -16 -8 -4 0 16 0 0 -8 6 -8 6 0 16 3 0 -4 16 -8 0 0 16 -24 0 -8 0 -8 0 16 -8 0 8 16 0 0 0 0 -8 -16 0 12 4 0 8 0 -4 16 12 8 0 16 -4 0 0 0 4 -8 0 -8 0 -8 0 -16 0 -16 0 0 0 0 -4 16 4 -8 -8 -4 0 -8 0 -8 16 -4 16 0 0 0 4 16 -8 16 0 -16 0 -16 0 12 16 8 16 -16 -16 -8 0 0 0 0 0 0 16 0 0 0 0 16 0 0 0 0 0 -8 0 0 -4 4 -8 -4 8 -8 0 0 0 4 -8 4 -8 4 -4 16 -8 -4 0 0 -8 16 -4 -16 12 -16 16 -8 16 16 -8 0 0 0 0 0 16 16 -8 6 -8 -8 0 0 0 0 -4 -8 -8 -24 -4 0 -4 0 16 6 -8 0 0 0 3 0 -8 0 16 -4 8 -16 -16 -4 0 3 -8 0 0 8 0 -8 0 0 0 0 16 6 0 0 0 0 -4 16 -24 -4 -8 0 0 6 0 16 4 16 -8 0 0 -4 -2 0 -8 0 0 0 -2 0 -4 4 1 -4 1 +1 -3 0 -4 2 0 16 0 0 0 2 0 -4 0 0 0 0 0 0 -4 3 0 0 0 0 -4 0 0 16 0 2 -8 -12 0 0 0 2 0 0 0 0 0 0 8 0 -8 -4 0 -16 0 0 -8 2 -8 2 0 -16 3 0 4 0 8 0 0 0 0 0 -8 0 8 0 16 0 0 0 0 0 0 0 0 -8 0 0 -4 -4 0 0 0 12 0 -4 0 0 0 4 0 0 0 -4 8 0 8 0 -8 0 0 0 0 0 0 0 0 4 0 0 0 0 12 0 -8 0 8 -16 4 0 0 0 0 0 16 -8 -16 0 0 0 16 0 -4 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 0 0 0 -8 0 0 4 0 -8 12 0 0 0 0 0 0 8 -4 8 -4 4 -16 -8 12 0 0 8 -16 4 0 -4 0 0 -8 0 0 0 0 0 0 0 0 0 16 -8 2 -8 0 0 0 0 0 -4 8 8 0 -12 0 4 0 -16 2 -8 0 0 0 3 0 8 0 -16 4 0 0 0 -4 0 3 0 0 0 0 0 -8 0 0 0 0 0 2 0 0 0 0 -4 16 0 -12 0 0 0 2 0 0 0 16 0 0 0 -4 2 0 0 0 0 0 2 0 -4 0 1 -4 1 +1 -3 4 -2 0 -4 16 0 4 0 0 4 -6 -4 8 -8 0 0 4 6 1 0 -8 4 0 -4 0 0 -16 4 2 0 -4 0 4 0 2 0 -8 4 4 0 -4 -4 0 4 4 0 -8 0 -4 4 -2 0 -2 0 -8 -1 -4 -2 0 -4 0 0 0 8 0 2 0 -4 0 0 -4 0 0 8 -4 0 0 -4 4 0 0 0 0 -4 0 4 0 0 0 0 8 0 2 0 0 0 0 4 0 4 -8 -4 -8 0 -8 0 0 0 0 4 0 -8 4 4 4 0 -4 -4 8 4 8 2 0 0 0 0 -4 0 -4 8 -8 0 8 0 8 0 0 0 0 0 0 4 -8 0 0 0 -8 0 -8 0 0 0 0 0 8 8 8 8 4 -4 -4 -4 0 -4 -4 0 0 4 -8 -8 4 4 4 0 4 0 2 8 -4 0 0 0 4 8 2 0 0 0 0 0 0 0 -4 0 0 0 0 0 8 0 4 -2 4 -4 -4 -4 -4 -4 4 -4 -4 8 4 0 -2 0 -8 -2 4 0 0 0 -1 0 -4 0 -8 -2 0 0 0 6 0 1 4 0 0 0 0 0 0 0 0 0 -8 2 4 4 4 4 -4 -16 -8 -4 4 0 0 2 0 8 -4 16 -4 4 0 -6 0 4 -4 0 0 -4 0 -4 2 4 -1 -2 1 +1 -3 0 4 -2 -4 0 4 8 0 -2 -8 4 8 8 -8 0 0 0 4 -1 -8 8 8 8 0 4 0 0 -8 2 0 0 -4 -8 0 -2 0 0 4 -4 -8 0 0 -8 0 0 -8 8 8 0 0 2 0 -2 0 -8 -1 4 0 0 0 -4 8 0 0 0 0 0 0 -4 0 0 0 0 -8 -8 0 -8 -4 0 8 0 0 0 0 0 4 4 0 0 0 0 0 0 8 0 8 0 0 0 0 0 0 -8 8 0 -8 -4 0 -4 0 4 -8 0 0 0 -4 4 0 -8 0 8 0 0 0 8 0 0 0 0 -8 8 0 8 0 0 0 0 0 0 0 0 0 8 0 -4 8 0 0 -8 8 0 8 0 0 8 0 -8 0 4 0 4 0 4 0 0 -4 0 0 -8 0 0 0 0 0 0 0 0 -8 0 4 -4 0 0 8 0 -8 0 8 0 0 0 0 0 0 0 -4 8 0 -8 0 0 2 0 0 4 -4 0 -8 0 0 0 0 0 -8 0 0 -8 -2 0 -8 -4 0 -1 8 0 0 8 0 0 -8 8 4 -8 -1 -8 8 0 0 4 0 0 -4 0 0 8 2 4 -4 0 -8 0 0 0 0 8 -8 0 -2 0 8 0 0 8 -4 4 4 -2 8 -8 0 -4 -4 -2 8 -4 0 1 -4 1 +1 -3 -4 0 2 0 8 0 0 -4 2 8 4 8 -8 -4 -4 -4 -4 4 -1 -8 -8 8 -8 0 0 0 8 12 2 0 0 8 0 0 -2 -16 0 8 -8 8 0 -8 0 0 0 -8 -8 0 -4 0 2 0 -2 0 8 -1 8 -8 8 8 -8 -8 -8 0 -4 0 4 8 0 -8 -8 -16 0 8 12 8 8 -8 0 0 0 0 0 4 -8 0 -4 0 0 8 8 -8 -8 -8 0 -8 0 8 0 -8 -8 0 0 0 8 0 -8 8 0 4 -4 8 4 0 -8 4 0 0 0 8 -8 0 8 4 0 -4 4 -8 0 8 16 0 16 0 -8 0 -8 8 8 0 0 0 16 8 0 0 -8 -4 8 -8 0 -8 0 -8 16 -8 0 8 0 0 0 4 -4 4 0 4 -8 -8 0 8 4 4 8 0 -8 0 -8 8 0 -4 -8 4 8 -8 0 0 0 0 0 0 -8 8 0 0 8 0 0 -4 8 -8 0 2 0 -8 8 -8 -4 12 0 8 -8 0 0 8 -8 -16 8 -2 0 -8 -8 4 -1 -8 8 0 -8 0 0 0 0 4 -8 -1 0 -8 0 0 0 0 -4 8 0 -4 -8 2 8 -8 -4 12 0 8 0 0 8 8 -16 -2 -4 -8 -4 8 8 0 0 4 2 4 0 -4 8 0 2 4 -4 -4 1 -4 1 +1 -3 0 6 0 -8 0 4 -4 0 0 12 2 4 0 -4 0 0 4 -2 -3 -8 0 -4 -8 0 -4 16 0 -4 -2 0 0 -4 4 0 2 0 0 8 -8 8 4 4 -8 -12 0 8 0 -8 -4 4 2 0 -2 -16 0 3 -8 -6 0 -4 -4 8 0 0 0 -6 0 12 -12 0 -4 0 0 0 4 0 -8 8 12 8 0 4 4 -4 0 -8 0 0 -4 0 8 0 6 -8 -16 8 -4 4 16 -4 8 12 0 -8 -8 8 4 0 12 4 0 0 0 -4 4 0 8 -12 0 -12 0 6 0 0 8 0 0 0 -4 0 0 0 0 0 -8 4 0 0 0 0 0 -4 0 0 12 8 8 0 0 8 16 -8 -16 0 0 -8 0 8 -8 -4 8 -4 0 0 -12 0 0 4 0 -8 4 0 4 4 -4 -4 6 0 12 0 4 0 -12 0 6 8 -4 -8 0 0 0 0 4 -16 0 -12 -8 0 0 0 4 2 12 -4 -8 8 -4 4 0 -4 4 0 0 -8 -6 0 0 -2 -12 8 -4 0 3 8 12 0 0 -6 0 -8 8 -2 -8 -3 4 -8 0 0 -4 0 0 -4 16 0 0 -2 8 -8 4 -4 0 0 0 0 -4 8 0 2 0 0 0 0 4 8 4 2 0 -4 -4 0 4 -8 0 4 2 0 -1 -2 1 +1 -3 -4 0 2 0 8 0 8 4 2 -8 4 8 -8 -4 4 4 12 4 -1 -8 -8 8 8 0 0 0 -8 -4 2 0 0 -8 0 0 -2 0 0 -8 8 -8 0 8 0 0 0 -8 -8 0 12 0 2 0 -2 0 8 -1 -8 0 8 -8 8 8 -8 0 4 8 -4 -8 0 -8 -8 0 0 8 -4 -8 -8 8 0 0 -16 0 0 4 -8 0 -4 0 0 8 -8 -8 0 -8 0 -8 0 -8 0 8 8 0 16 0 -8 0 8 -8 0 4 -4 8 4 0 -8 4 0 0 16 -8 -8 8 8 -4 0 4 4 -8 0 8 0 0 0 0 8 0 -8 8 8 0 0 0 0 -8 0 0 8 4 8 -8 0 -8 0 -8 0 8 16 -8 0 0 0 4 -4 4 0 4 -8 -8 16 -8 4 4 -8 0 8 0 0 8 0 -4 8 -4 -8 -8 8 0 0 0 0 0 -8 8 0 0 -8 0 0 4 8 -8 0 2 0 -8 -8 8 12 -4 0 -8 8 0 0 -8 0 0 8 -2 0 -8 8 -4 -1 8 -8 -16 -8 8 0 0 0 4 -8 -1 0 8 -16 0 0 0 4 -8 0 4 -8 2 -8 8 12 -4 0 8 0 0 8 -8 0 -2 4 -8 -4 8 8 0 0 4 2 4 0 4 -8 0 2 4 -4 -4 1 -4 1 +1 -3 0 -4 -2 4 0 -4 0 0 -2 8 4 0 8 0 0 0 -8 4 -1 -8 8 0 -8 0 -4 0 0 0 2 0 0 4 0 0 -2 0 0 -4 4 8 8 0 8 0 0 -8 8 -8 -8 0 2 0 -2 0 -8 -1 -4 0 0 0 4 -8 0 0 0 0 0 0 4 0 -8 0 0 -8 0 0 8 4 0 -8 0 0 0 8 0 -4 4 0 0 0 0 0 0 8 0 8 0 0 0 0 0 0 8 -8 0 8 4 0 4 8 4 -8 0 8 -8 -4 -4 0 8 0 8 0 0 0 -8 0 0 0 0 -8 -8 0 -8 0 0 0 0 0 0 0 0 8 -8 0 4 -8 0 0 -8 8 0 8 0 0 -8 0 8 0 -4 0 -4 8 4 0 0 -4 0 -8 8 0 8 0 0 0 0 0 0 -8 0 4 4 0 0 8 0 8 0 -8 0 0 0 0 8 0 0 4 -8 0 -8 0 0 2 0 -8 -4 4 -8 0 0 0 0 0 0 8 0 0 -8 -2 0 -8 4 0 -1 -8 0 0 8 0 0 8 -8 4 -8 -1 0 -8 0 0 -4 0 0 4 0 0 8 2 -4 4 -8 0 0 0 0 0 0 8 0 -2 0 8 0 0 0 4 -4 4 -2 0 0 0 4 4 -2 0 -4 0 1 -4 1 +1 -3 0 2 0 -4 0 0 4 4 0 4 2 4 0 -4 -4 -4 0 -2 -3 0 0 -4 0 0 0 8 -8 0 2 0 0 0 4 0 -2 8 0 -4 4 0 4 -4 8 -4 0 0 0 0 0 4 -2 0 2 -8 0 3 4 2 0 4 0 0 0 0 -4 2 -12 -4 0 0 -4 -8 0 0 0 -8 0 -4 4 -8 8 4 -4 0 0 -4 0 0 -4 0 0 0 -2 0 8 0 4 -4 -8 4 0 4 -8 8 0 -8 0 8 0 0 0 0 0 -4 4 0 4 -4 8 4 0 -2 0 12 0 4 0 0 -4 0 8 0 -8 0 0 4 0 0 0 0 0 -4 8 8 0 0 0 4 0 0 -8 0 8 0 -8 0 8 0 -4 -4 4 0 0 0 -4 0 0 4 -8 0 0 0 -4 -4 4 4 -2 0 4 0 0 12 4 0 -2 -8 -4 8 0 0 0 0 4 -8 -8 0 0 -4 0 0 4 -2 4 -4 4 -4 0 0 0 4 -4 0 0 0 2 -8 0 2 -4 0 0 -12 3 0 -4 8 0 2 0 8 -8 -2 0 -3 4 0 -8 0 0 0 -4 0 8 -4 0 2 -4 4 0 0 0 0 0 0 -4 0 8 -2 4 0 0 0 4 4 0 2 0 0 -4 4 0 -4 0 0 2 0 -1 -2 1 +1 -3 0 -2 0 0 0 -4 4 0 0 12 2 4 0 -4 0 0 -4 -2 -3 8 0 -4 -8 0 4 0 0 4 6 0 0 -12 4 0 -6 0 0 0 0 8 4 4 -8 4 0 -8 0 -24 4 4 -6 0 6 0 0 3 0 2 0 -4 -12 8 0 0 0 2 0 -4 12 0 -4 0 0 0 -4 0 -8 0 -4 8 0 -12 4 4 0 0 0 0 12 0 8 0 -2 8 0 -8 -4 4 0 -4 8 -4 0 -8 -8 8 12 0 -12 -4 0 0 0 -4 4 0 0 4 0 4 0 -2 0 0 24 0 0 0 -4 0 0 0 0 0 -8 -12 0 0 0 0 0 -4 0 0 -12 24 8 0 0 -8 0 8 0 0 0 -8 0 8 0 -4 0 4 0 0 4 0 0 4 0 -8 -4 0 4 4 -4 -4 -2 0 -4 0 12 0 4 0 -2 8 12 -8 0 0 0 0 4 0 0 12 -24 0 0 0 4 -6 -4 -4 0 0 4 -4 0 -4 4 0 0 -8 2 0 0 6 4 -8 -12 0 3 8 -4 0 0 2 0 -8 8 -2 8 -3 4 -8 0 0 4 0 0 -12 0 0 0 6 0 0 -4 4 0 0 0 0 -4 8 0 -6 0 0 0 0 4 0 -4 2 0 4 -4 0 12 0 0 -4 2 0 -1 -2 1 +1 -3 0 0 -2 0 0 0 0 4 -2 0 4 0 8 0 -4 4 -4 4 -1 0 8 0 0 0 0 -8 8 4 -2 0 0 0 0 0 2 -8 0 -8 0 0 -8 0 8 0 0 0 -8 0 -4 0 -2 0 2 -8 8 -1 -8 0 0 0 0 0 0 0 4 0 4 0 0 0 8 -8 0 -8 4 -8 0 0 0 -8 8 0 0 -4 0 8 -4 0 0 0 -8 0 0 0 8 0 0 0 8 0 8 0 0 -8 -8 8 0 -8 0 -4 4 -8 0 -8 8 4 8 0 0 0 -8 0 0 4 0 4 0 0 0 8 0 0 0 0 8 0 0 0 0 0 0 -8 0 -8 0 0 8 4 -8 0 8 0 8 0 0 8 0 -8 8 0 8 -4 4 0 0 4 0 8 0 -8 -4 0 0 0 0 0 0 8 0 -4 0 4 0 -8 0 8 0 -8 0 0 0 0 -8 -8 -8 0 0 4 -8 0 0 -2 0 8 -8 0 -4 4 0 0 0 0 0 0 0 -8 8 2 0 0 0 4 -1 0 0 8 -8 0 0 8 -8 4 0 -1 0 0 8 0 0 0 4 0 -8 -4 8 -2 -8 0 -4 4 0 0 0 0 0 0 -8 2 -4 8 0 0 0 0 0 4 -2 4 0 4 0 0 -2 4 -4 0 1 -4 1 +1 -3 0 6 -4 -4 0 0 -4 0 4 4 2 4 8 -4 0 0 -4 -2 1 0 -8 -4 0 4 0 0 0 -4 -2 8 -4 0 4 0 -2 0 0 4 4 0 -4 -4 0 4 -4 0 8 0 4 -4 2 -8 2 0 -8 -1 -4 6 0 -4 0 0 -16 0 0 2 0 4 0 0 4 0 0 -8 4 0 0 -4 4 0 0 0 0 4 0 4 0 0 0 0 8 16 -6 0 0 0 0 4 0 4 -8 -4 8 0 -8 0 0 0 0 -4 0 8 0 4 -4 0 -4 -4 -8 -4 -8 2 0 0 0 0 0 0 4 8 8 0 -8 0 8 0 16 0 0 0 0 4 8 0 0 0 -8 0 8 0 0 0 0 0 -8 8 -8 8 4 4 -4 4 0 0 -4 0 0 -4 8 -8 -4 0 4 0 4 0 -6 8 -4 0 0 0 -4 -8 2 0 0 0 0 -8 -16 0 -4 0 0 0 0 0 -8 0 -4 2 4 4 -4 -4 4 4 -4 -4 -4 0 4 0 6 0 -8 2 4 0 0 0 -1 0 4 0 8 -2 0 0 0 -2 0 1 4 0 0 0 0 8 0 0 0 0 -8 -2 4 4 -4 -4 4 0 0 -4 -4 0 0 -2 0 8 0 0 4 4 0 2 4 -4 -4 0 0 -4 -4 4 2 0 -1 -2 1 +1 -3 -4 6 0 -4 8 0 -4 0 0 4 2 4 0 0 0 0 4 -2 1 0 0 -4 8 -4 0 0 -16 4 2 0 -4 0 4 0 2 -8 8 -4 -4 8 -4 4 0 -4 4 0 -16 0 -4 -4 -2 0 -2 0 0 -1 4 -2 8 4 0 -8 -8 -8 0 10 0 4 0 -8 4 8 0 0 -4 0 -8 4 -4 0 8 0 0 4 0 4 0 0 0 0 0 8 2 0 0 0 0 -4 0 -4 0 4 0 0 0 0 0 0 0 -4 0 0 -4 4 -4 0 -4 4 0 -4 16 -6 -8 0 0 0 4 8 4 0 0 0 0 0 0 0 8 0 -8 0 0 4 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 4 4 -4 4 0 4 4 0 0 -4 0 0 -4 -4 -4 0 -4 0 2 0 4 0 0 0 -4 16 -6 0 0 0 0 0 -8 8 -4 0 0 0 0 0 0 -8 -4 -2 -4 4 4 4 -4 -4 4 4 4 -8 4 -8 -2 8 0 -2 -4 0 0 0 -1 -8 4 8 -16 6 0 0 0 -2 0 1 4 8 -8 0 0 0 0 0 0 0 0 2 -4 -4 4 4 -4 -8 8 -4 -4 8 -8 2 0 0 4 8 4 4 0 2 0 -4 -4 0 0 -4 0 4 2 -4 -1 -2 1 +1 -3 0 2 -4 0 8 -4 -4 4 4 4 2 -4 8 -4 4 -4 -8 -2 1 0 -8 4 0 4 4 0 -8 8 2 -8 4 -4 4 8 2 0 -8 -8 8 0 4 -4 -8 -4 -4 0 8 -8 8 -4 -2 8 -2 0 8 -1 8 -2 8 -4 12 0 8 8 12 -6 -4 -4 -4 -8 4 0 -8 -8 -8 -8 0 -8 -4 -8 0 0 0 0 0 0 0 0 0 0 0 -8 2 -16 -16 16 0 4 16 4 0 4 0 8 0 8 -12 8 4 0 0 8 -8 -4 -4 0 0 4 0 4 -8 2 -8 4 8 -12 8 8 4 -8 0 0 0 0 0 0 -8 0 -8 0 0 -4 0 8 4 8 0 -12 8 16 16 -16 -16 8 0 0 0 0 0 4 0 0 0 8 4 0 0 -4 0 0 0 -8 4 0 4 0 2 -8 4 0 -12 4 4 -8 2 8 0 8 0 8 8 8 4 0 -8 -4 -8 12 -8 -8 -4 -2 -4 4 8 -8 8 -8 -4 -4 -4 8 -4 0 -2 0 8 -2 -4 0 12 -4 -1 0 -4 0 8 -2 -8 -8 -8 -2 0 1 4 0 0 8 4 -8 -4 -4 0 4 -8 2 -8 8 -8 8 4 -8 -8 4 4 0 0 2 -4 8 0 8 -4 0 -4 2 4 0 -4 4 4 0 -4 0 2 0 -1 -2 1 +1 -3 4 4 -2 -8 -16 8 0 8 -2 -16 -4 8 16 12 -8 8 8 -4 3 16 16 8 -16 -4 8 -16 0 8 -2 -8 12 -8 8 -24 -2 16 8 -8 -8 -16 8 -8 16 -8 -4 16 -16 -16 8 -8 -2 -8 -2 -16 -16 3 -8 -4 16 -8 -8 -16 16 8 8 8 -24 -8 24 -16 8 16 -24 16 8 16 -16 -8 -8 16 16 -4 4 8 8 -8 12 16 -4 8 -16 16 -4 16 -16 16 4 -8 -16 -8 -16 -8 16 16 -16 16 -8 16 24 8 -4 16 4 8 8 12 -8 -8 16 -8 -16 -4 16 -24 -16 8 4 -16 -8 -16 16 -16 16 -16 -16 -4 16 8 16 -16 -16 8 16 16 24 -16 -16 8 16 16 -16 16 -16 -16 16 -16 16 -16 -8 -8 -8 8 -4 4 -8 12 8 8 16 -16 8 4 -8 4 -8 4 -4 -16 -8 12 -8 -24 -8 -16 -4 16 -4 16 16 -8 16 16 8 -16 16 24 -16 8 16 -16 -8 -2 -8 8 -8 -8 8 8 -4 -8 -8 8 12 -16 -4 16 -16 -2 -8 16 -8 -24 3 -16 -8 16 -16 -4 -24 16 16 -4 16 3 8 -16 16 -24 8 -8 8 -8 -16 -8 16 -2 -8 -8 8 8 -4 -16 8 12 8 -16 16 -2 -8 16 4 -16 8 -8 8 -4 -2 8 8 8 -8 -8 -2 8 -4 4 1 -4 1 +1 -3 0 10 -4 -8 -8 4 -12 4 4 4 2 4 8 4 4 -4 0 -2 1 16 -8 -4 0 4 -4 -16 8 0 2 -8 4 4 -4 -8 2 0 8 0 0 0 -4 -4 8 -4 -4 -16 -8 8 0 -4 -2 8 -2 16 -8 -1 0 -2 8 -4 -12 0 8 -8 12 -6 -4 -4 4 8 -4 0 8 -8 0 -8 0 0 -4 8 0 0 0 -8 0 -8 0 0 0 0 0 -8 2 0 0 0 0 4 0 4 0 4 0 -8 0 -8 12 8 -4 8 0 8 8 4 4 0 8 4 0 4 8 2 -8 4 -8 -12 -8 -8 4 8 0 0 0 0 0 0 -8 0 -8 0 0 4 0 8 -4 -8 0 -12 8 0 0 0 0 -8 0 0 0 0 -8 4 8 -8 0 -8 4 0 0 4 0 0 8 8 4 0 4 0 2 8 4 0 12 4 4 8 2 -8 0 -8 0 8 8 8 -4 16 -8 4 8 12 -8 8 -4 -2 -4 -4 0 0 0 0 -4 -4 -4 -8 -4 0 -2 0 -8 -2 -4 -16 -12 -4 -1 0 -4 0 -8 -2 8 8 8 -2 16 1 -4 0 0 -8 -4 -8 -4 4 -16 4 -8 2 0 0 0 0 4 8 8 4 -4 0 0 2 -4 8 0 -8 4 8 4 2 4 -8 4 4 -4 -8 -4 8 2 0 -1 -2 1 +1 -3 0 -4 2 0 0 0 0 0 2 0 -4 8 0 8 0 0 0 -4 3 0 0 8 0 -4 0 0 0 0 -6 -8 4 0 8 0 -6 0 0 0 0 0 8 8 -16 8 -4 0 0 0 0 -8 -6 -8 -6 0 0 3 0 -4 0 8 0 0 0 0 0 0 0 -8 0 0 8 0 0 0 0 0 0 0 8 -16 0 12 -4 0 0 0 -4 0 12 0 0 0 -4 0 0 0 -4 8 0 8 0 8 0 -16 0 -16 0 0 0 0 4 0 0 8 8 -4 0 8 0 -8 0 -4 0 0 0 0 0 0 -8 0 0 0 0 16 0 12 0 0 0 16 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -8 0 0 4 0 8 -4 0 8 0 0 0 0 8 -4 8 -4 -4 0 8 -4 0 0 -8 0 -4 -16 12 -16 0 -8 0 0 8 0 0 0 0 0 0 0 -8 -6 8 8 0 0 0 0 -4 8 8 0 4 0 -4 0 0 -6 8 0 0 0 3 0 -8 0 0 -4 0 -16 -16 -4 0 3 8 0 0 0 0 -8 0 0 0 0 0 -6 0 0 0 0 -4 0 0 4 8 0 0 -6 0 0 0 0 8 0 0 -4 2 0 8 0 0 0 2 0 -4 0 1 -4 1 +1 -3 4 2 0 -8 -8 4 -4 4 0 4 -6 4 8 8 4 -4 8 6 1 0 -8 -4 -16 -4 -4 0 8 8 -2 0 4 4 -12 -8 -2 16 0 0 0 0 4 -4 -8 -4 4 0 8 -8 -8 4 2 0 2 0 -8 -1 0 -2 8 -4 4 16 -8 0 -4 2 -4 4 4 -8 -4 -16 8 8 -8 8 0 0 -4 -8 0 0 0 0 0 8 0 0 0 0 -16 8 2 0 0 0 0 4 0 4 0 4 16 8 16 8 -4 -8 -4 0 0 -8 -4 -4 4 0 -8 4 -16 -4 -8 -6 -8 4 8 4 4 8 -4 8 0 0 0 0 0 0 8 0 -8 0 0 -4 0 -8 -4 8 0 4 -8 0 0 0 0 8 0 0 -16 -16 8 -4 -8 0 0 4 4 0 0 4 16 16 0 -4 4 0 4 0 2 8 4 0 -4 4 -4 -8 -6 8 0 8 0 0 -8 8 4 0 8 4 -8 -4 8 -8 4 2 -4 -4 0 0 -8 -8 4 -4 -4 0 -4 0 -2 -16 -8 2 -4 0 4 -4 -1 16 4 0 8 6 8 -8 -8 6 0 1 -12 -16 0 -8 -4 0 -4 4 0 4 -8 -2 0 0 8 8 -4 8 0 4 -4 0 16 -2 -4 8 -4 -8 4 8 4 -6 0 0 12 4 -4 -8 0 0 2 4 -1 -2 1 +1 -3 4 -12 -2 8 -16 -8 0 -8 -2 16 -4 8 16 12 8 -8 -8 -4 3 -16 16 8 16 -4 -8 16 -32 -8 -2 -8 12 8 8 -24 -2 -16 8 8 8 16 8 -8 16 -8 -4 -16 -16 16 -8 -8 -2 -8 -2 16 -16 3 8 -4 16 -8 8 16 16 8 -8 8 24 -8 -24 -16 8 -16 -24 16 -8 -16 16 8 -8 16 -16 -4 4 -8 8 8 12 16 -4 8 16 16 -4 -16 16 -16 4 -8 16 -8 16 -8 -16 16 16 16 8 -16 -24 -8 -4 16 4 8 8 12 8 -8 -16 -8 -16 -4 16 24 16 -8 4 -16 -8 -16 -16 -16 -16 -16 16 -4 16 8 16 -16 -16 8 -16 -16 -24 16 16 -8 16 -16 16 -16 16 -16 -16 16 -16 16 8 -8 8 -8 -4 4 -8 12 8 8 -16 16 -8 4 -8 4 -8 4 -4 -16 -8 12 8 24 -8 -16 -4 16 -4 16 16 -8 16 16 8 16 -16 -24 16 -8 16 -16 -8 -2 -8 8 8 8 -8 -8 -4 -8 -8 8 12 16 -4 -16 -16 -2 -8 -16 8 24 3 16 -8 -16 -16 -4 -24 16 16 -4 -16 3 8 16 -16 -24 -8 -8 -8 8 16 8 16 -2 8 8 -8 -8 -4 -16 8 12 8 16 -16 -2 8 16 4 -16 8 8 -8 -4 -2 -8 8 -8 8 8 -2 -8 -4 4 1 -4 1 +1 -3 4 -6 0 0 -8 -4 12 -4 0 4 -6 12 8 0 -4 4 0 6 1 0 -8 -12 16 -4 4 0 8 0 -2 0 4 -4 -4 -8 -2 -16 0 8 8 0 -4 -4 -8 -4 4 0 -8 8 0 4 2 0 2 0 8 -1 -8 6 -8 -4 -4 -16 8 0 4 -6 4 4 -4 -8 4 16 8 8 0 -8 0 -8 -4 -8 0 0 0 -8 0 0 0 0 0 0 0 -8 -6 0 0 0 0 4 0 4 16 4 0 8 0 8 4 8 4 8 0 -8 -4 4 -4 0 0 4 0 -4 8 2 8 -4 -8 -4 4 8 -4 -8 16 0 -16 0 -16 0 -8 0 8 0 0 4 16 8 4 -8 16 -4 -8 0 0 0 0 8 -16 -16 0 0 0 -4 0 -8 0 4 4 0 0 -4 0 0 8 -4 4 0 4 0 -6 -8 4 0 4 -4 -4 8 2 8 0 8 0 0 8 -8 -4 0 -8 -4 8 4 8 -8 4 2 -4 4 -8 -8 0 0 4 -4 -4 0 -4 0 6 16 8 2 -4 0 -4 4 -1 -16 4 0 -8 -2 8 -8 -8 6 0 1 -4 16 0 -8 4 0 4 -4 0 -4 -8 -2 8 8 0 0 -4 8 0 4 -12 0 -16 -2 4 8 -4 -8 12 0 -4 -6 0 8 4 -4 4 0 0 -8 2 4 -1 -2 1 +1 -3 -4 -4 6 0 16 0 0 0 6 0 -4 8 -16 4 0 0 0 -4 3 0 -16 8 0 12 0 0 16 0 -2 -8 -4 0 8 -8 -2 0 -8 0 0 0 8 -8 16 -8 12 0 16 0 0 -8 -2 -8 -2 0 16 3 0 -4 -16 -8 0 0 -16 -8 0 -8 0 -8 0 16 8 0 -8 -16 0 0 0 0 -8 16 0 -4 4 0 24 0 -4 -16 -4 24 0 -16 -4 0 0 0 4 -8 0 -8 0 -8 0 16 0 16 0 0 0 0 12 -16 -4 8 8 -4 0 -8 0 -8 16 -4 -16 0 0 0 -4 16 -8 16 0 16 0 -16 0 -4 -16 24 -16 -16 16 8 0 0 0 0 0 0 -16 0 0 0 0 16 0 0 0 0 0 -8 0 0 12 -4 -8 -4 24 8 0 0 0 -4 -8 4 -8 4 -4 16 -8 -4 0 0 -8 16 -4 16 -4 16 -16 -8 -16 -16 8 0 0 0 0 0 -16 16 -8 -2 -8 8 0 0 0 0 12 -8 -8 -8 -4 0 -4 0 16 -2 -8 0 0 0 3 0 -8 0 16 -4 -8 16 16 -4 0 3 8 0 0 -8 0 -8 0 0 0 0 -16 -2 0 0 0 0 12 16 -8 -4 8 0 0 -2 0 -16 -4 16 8 0 0 -4 6 0 8 0 0 0 6 0 -4 -4 1 -4 1 +1 -3 0 -2 4 -4 8 0 4 0 -4 4 -6 4 0 4 0 0 -4 6 1 0 0 -4 8 4 0 0 0 -4 -2 -8 -4 0 -4 0 -2 8 0 -4 -4 8 4 4 0 -4 -4 0 0 0 4 4 2 8 2 0 0 -1 4 -2 -8 4 0 -8 -8 0 0 2 0 -4 0 8 4 -8 0 -16 4 0 -8 4 -4 0 -8 0 0 -4 0 4 0 0 0 0 0 8 2 0 0 0 0 -4 0 -4 0 4 0 0 0 0 0 0 0 4 0 16 0 -4 -4 0 -4 4 0 4 0 2 8 0 0 0 0 -8 -4 0 0 0 0 0 0 0 8 0 8 0 0 -4 0 0 0 0 0 0 16 0 0 0 0 -8 0 0 0 0 4 -4 -4 -4 0 0 4 0 0 -4 0 0 4 0 -4 0 -4 0 2 0 4 0 0 0 4 0 2 0 0 0 0 8 -8 -8 4 0 0 0 0 0 -16 8 4 2 -4 4 4 4 4 4 -4 4 4 0 4 -8 -2 -8 0 2 -4 0 0 0 -1 -8 -4 -8 0 -2 0 0 0 6 0 1 -4 8 8 0 0 -8 0 0 0 0 0 -2 -4 -4 -4 -4 4 -8 0 -4 -4 8 8 -2 0 0 0 8 4 4 0 -6 -4 4 4 0 0 -4 4 -4 2 0 -1 -2 1 +1 -3 -4 -4 2 4 8 -4 0 8 2 0 4 0 -8 4 0 8 8 4 -1 0 -8 0 -16 0 -4 -8 16 -8 -2 0 0 -4 8 0 2 -8 0 -4 12 0 -8 8 0 0 0 0 8 8 8 0 -2 0 2 -8 -8 -1 -4 0 -8 -8 -4 -16 8 0 -8 -8 0 8 4 -8 0 -8 0 8 -8 0 0 12 0 0 8 0 0 0 8 4 4 0 0 -8 16 8 0 0 -8 0 0 -8 -8 8 0 0 -8 0 16 0 -4 0 4 0 -4 8 4 -8 0 -4 4 0 -8 8 8 -8 -8 0 8 -8 4 -8 0 -8 8 0 8 0 0 0 8 -8 -8 0 0 -8 8 0 4 8 0 -8 8 0 -8 0 -8 -8 8 0 -8 16 4 0 4 0 -4 4 0 -4 8 0 -8 16 0 4 -8 0 8 0 0 -8 0 4 -4 0 8 8 -8 0 0 0 0 0 8 -8 -8 -8 0 4 8 -8 8 -8 0 -2 0 0 -4 12 8 -8 0 -8 8 0 0 0 0 -8 -8 2 0 0 -4 0 -1 -16 8 8 8 -8 0 0 0 4 0 -1 8 -16 8 0 -4 0 8 -4 -8 0 -8 -2 -4 12 8 -8 0 8 0 0 0 0 -8 2 0 -8 -4 8 0 4 -4 4 2 0 8 8 -4 4 2 0 -4 -4 1 -4 1 +1 -3 0 2 0 -4 0 0 -4 12 0 4 2 -4 0 4 4 -12 0 -2 -3 0 0 4 0 0 0 8 8 0 -6 0 0 0 -4 0 6 -8 0 -4 4 0 -4 -4 -8 -4 0 0 0 0 0 4 6 0 -6 -8 0 3 4 2 0 4 0 0 0 0 -12 2 12 -4 0 0 4 8 0 0 0 -24 0 -4 4 8 -8 -12 -4 0 0 -4 0 0 12 0 0 0 -2 0 8 0 4 -4 -8 4 0 4 8 -8 0 8 0 24 0 0 0 0 0 4 -4 0 4 -4 -8 4 0 -2 0 -12 0 12 0 0 -4 0 -8 0 8 0 0 -12 0 0 0 0 0 4 -8 24 0 0 0 12 0 0 -8 0 8 0 8 0 -8 0 -4 -4 4 0 0 0 -4 0 0 -4 8 0 0 0 -4 -4 4 4 -2 0 4 0 0 -12 4 0 -2 8 12 -8 0 0 0 0 -4 -8 -24 0 0 -12 0 0 4 6 4 4 4 -4 0 0 0 4 -4 0 0 0 2 8 0 -6 -4 0 0 12 3 0 -4 -8 0 2 0 -8 8 -2 0 -3 -4 0 8 0 0 0 -12 0 8 4 0 -6 -4 4 0 0 0 0 0 0 4 0 -8 6 -4 0 0 0 -4 4 0 2 0 0 4 12 0 -4 0 0 2 0 -1 -2 1 +1 -3 -4 -4 2 4 8 4 0 -8 2 8 4 0 -8 4 0 -8 -8 4 -1 0 -8 0 0 0 4 -8 0 8 -2 0 0 4 8 0 2 8 0 12 -4 -16 -8 -8 0 0 0 0 8 -8 -8 0 -2 0 2 -8 -8 -1 12 8 -8 8 4 0 8 0 8 0 0 -8 -4 -8 0 8 0 8 8 0 -16 -4 0 0 -8 0 0 0 8 4 4 0 0 -8 0 8 8 0 -8 0 0 8 -8 -8 16 0 8 0 0 0 4 0 -4 0 -4 8 4 -8 0 -4 4 0 8 -8 8 0 -8 0 -8 8 4 -8 0 -8 -8 0 -8 0 16 0 8 -8 -8 0 0 -8 -8 0 -4 -8 16 8 8 0 -8 0 -8 -8 -8 16 8 0 4 0 4 0 -4 4 0 -4 8 0 8 0 0 4 8 0 -8 0 8 -8 0 4 4 0 -8 8 0 0 0 0 0 0 8 -8 -8 -8 0 -4 -8 8 8 -8 0 -2 0 0 12 -4 -8 8 0 8 -8 0 0 -16 8 8 -8 2 0 0 4 0 -1 0 -8 -8 8 0 0 0 0 4 0 -1 8 0 -8 0 4 0 -8 4 -8 0 -8 -2 12 -4 -8 8 0 8 0 0 0 -16 8 2 0 -8 -4 8 0 4 4 4 2 0 8 -8 4 4 2 0 -4 -4 1 -4 1 +1 -3 0 -8 -2 8 0 0 0 -4 -2 8 4 -8 8 8 4 -4 4 4 -1 0 8 -8 0 0 0 -8 -8 -4 -2 0 0 0 8 0 2 8 0 0 -8 0 0 0 -8 0 0 0 -8 0 4 0 -2 0 2 -8 8 -1 0 0 0 0 0 0 0 0 -4 0 -4 0 0 0 0 8 0 -8 -4 8 0 -8 0 8 -8 0 0 4 0 0 -4 0 0 0 8 0 0 0 8 0 0 0 8 0 -8 0 0 8 8 -8 0 8 0 4 4 -8 0 0 0 4 0 0 0 0 -8 0 0 -4 0 -4 0 0 0 8 0 0 0 0 -8 0 0 0 0 0 0 0 0 8 0 0 -8 -4 -8 0 8 0 8 0 0 -8 0 8 0 0 0 4 4 0 0 4 0 0 0 8 4 0 0 0 0 0 0 8 0 -4 0 -4 0 -8 0 -8 0 8 0 0 0 0 0 -8 8 0 0 -4 -8 0 0 -2 0 0 0 -8 4 -4 0 0 0 0 0 0 0 8 8 2 0 0 0 -4 -1 0 0 -8 -8 0 0 -8 8 4 0 -1 8 0 -8 0 0 0 -4 0 -8 4 8 -2 0 -8 4 -4 0 0 0 0 -8 0 8 2 4 8 0 0 -8 8 0 4 -2 -4 8 -4 0 8 -2 -4 -4 0 1 -4 1 +1 -3 0 -2 0 0 0 4 4 0 0 4 2 -4 0 4 0 0 -4 -2 -3 8 0 4 8 0 -4 0 0 4 -2 0 0 -4 -4 0 2 0 0 0 0 -8 -4 4 8 4 0 -8 0 -8 4 4 2 0 -2 0 0 3 0 2 0 -4 -4 -8 0 0 0 2 0 -4 -12 0 4 0 0 0 -4 0 8 0 -4 -8 0 4 4 4 0 0 0 0 -4 0 -8 0 -2 8 0 -8 -4 4 0 -4 -8 -4 0 8 8 -8 4 0 12 -4 0 0 0 4 -4 0 0 4 0 4 0 -2 0 0 8 0 0 0 -4 0 0 0 0 0 8 4 0 0 0 0 0 4 0 0 12 8 -8 0 0 -8 0 8 0 0 0 8 0 -8 0 -4 0 4 0 0 4 0 0 -4 0 8 -4 0 4 4 -4 -4 -2 0 -4 0 4 0 4 0 -2 -8 -4 8 0 0 0 0 -4 0 0 -12 -8 0 0 0 4 2 -4 4 0 0 4 -4 0 -4 4 0 0 8 2 0 0 -2 4 -8 -4 0 3 -8 -4 0 0 2 0 8 -8 -2 8 -3 -4 8 0 0 -4 0 0 -4 0 0 0 -2 0 0 -4 4 0 0 0 0 4 -8 0 2 0 0 0 0 -4 0 4 2 0 4 4 0 4 0 0 -4 2 0 -1 -2 1 +1 -3 0 -6 0 4 0 0 12 4 0 -4 2 -4 0 4 -4 -4 8 -2 -3 16 0 4 0 0 0 -8 8 -8 2 0 0 0 -4 0 -2 -8 0 4 -4 0 -4 -4 -8 12 0 -16 0 0 -8 4 -2 0 2 8 0 3 -4 -6 0 4 0 0 0 0 -4 -6 -12 12 0 0 4 8 0 0 8 -8 0 4 -12 8 -8 4 -4 8 0 4 0 0 -4 0 0 0 6 -16 -8 16 4 -4 8 4 0 -12 8 -8 0 8 0 8 0 -8 0 0 0 4 -4 0 -4 12 -8 -12 0 6 0 12 0 4 0 0 -4 0 -8 0 8 0 0 4 0 0 0 0 0 4 -8 8 0 0 0 4 0 16 8 -16 -8 0 8 0 -8 0 4 -4 -4 8 0 0 12 0 0 -4 8 0 -8 0 -4 -4 4 4 6 0 -12 0 0 12 -12 0 6 8 -4 -8 0 0 0 0 -4 8 -8 0 0 -4 0 0 4 -2 -12 4 -4 4 -8 8 0 4 -4 0 0 0 -6 8 0 2 12 -16 0 -12 3 0 12 -8 0 -6 0 -8 8 -2 16 -3 -4 0 8 0 0 0 -4 0 -8 -4 0 2 4 -4 8 -8 0 0 0 0 4 0 -8 -2 4 0 0 0 -4 -4 0 2 0 8 4 4 0 4 0 -8 2 0 -1 -2 1 +1 -3 -4 2 0 0 0 -4 -4 4 0 4 2 4 0 8 4 -4 0 -2 1 0 0 -4 -8 -4 4 0 8 0 -2 0 4 -4 -4 8 -2 -8 0 0 0 8 -4 4 -8 4 4 0 0 8 0 -4 2 0 2 0 0 -1 0 -2 0 4 -4 8 0 0 -4 -6 -4 -4 -4 0 -4 8 -8 0 0 8 -8 0 4 -8 -8 0 0 0 0 0 0 0 0 0 -8 0 2 0 0 0 0 -4 0 -4 -8 -4 -8 8 8 8 4 -8 4 0 0 0 4 4 4 0 0 -4 8 4 0 2 0 4 -8 4 -4 0 4 0 8 0 -8 0 8 0 0 0 0 0 0 4 8 -8 4 -8 -8 4 0 0 0 0 0 0 -8 8 8 -8 0 4 0 0 0 -4 -4 0 0 4 -8 8 0 4 -4 0 -4 0 2 0 -4 0 4 4 4 0 2 8 0 8 0 0 0 0 -4 0 8 -4 8 -4 0 0 -4 2 4 -4 0 0 0 0 4 4 4 0 -4 -8 -2 8 0 2 4 0 -4 -4 -1 8 -4 -8 0 -2 -8 -8 -8 -2 0 1 -4 -8 8 8 4 0 -4 -4 0 4 0 -2 0 0 0 0 -4 0 0 4 -4 8 -8 -2 -4 0 4 0 4 0 -4 2 0 0 4 4 4 0 0 0 2 -4 -1 -2 1 +1 -3 -4 2 0 0 0 4 4 -4 0 -4 2 4 0 8 -4 4 0 -2 1 0 0 -4 8 -4 -4 0 -8 0 -2 0 4 4 -4 8 -2 8 0 0 0 -8 -4 4 -8 4 4 0 0 -8 0 -4 2 0 2 0 0 -1 0 -2 0 4 4 -8 0 0 4 -6 4 -4 4 0 -4 -8 -8 0 0 -8 8 0 4 -8 8 0 0 0 0 0 0 0 0 0 8 0 2 0 0 0 0 -4 0 -4 8 -4 8 8 -8 8 -4 8 -4 0 0 0 4 4 4 0 0 -4 -8 4 0 2 0 -4 8 -4 -4 0 4 0 -8 0 8 0 -8 0 0 0 0 0 0 4 -8 8 -4 8 8 -4 0 0 0 0 0 0 8 -8 -8 8 0 4 0 0 0 -4 -4 0 0 4 8 -8 0 4 -4 0 -4 0 2 0 -4 0 -4 -4 4 0 2 8 0 8 0 0 0 0 -4 0 -8 4 -8 4 0 0 -4 2 4 -4 0 0 0 0 4 4 4 0 -4 8 -2 -8 0 2 4 0 4 4 -1 -8 -4 8 0 -2 -8 -8 -8 -2 0 1 -4 8 -8 8 -4 0 4 4 0 -4 0 -2 0 0 0 0 -4 0 0 4 -4 -8 8 -2 4 0 4 0 4 0 4 2 0 0 4 -4 -4 0 0 0 2 -4 -1 -2 1 +1 -3 0 -2 -4 4 0 0 4 0 4 -4 2 -4 8 4 0 0 4 -2 1 0 -8 4 0 4 0 0 0 4 -2 8 -4 0 -4 0 -2 0 0 -4 -4 0 4 -4 0 4 -4 0 -8 0 -4 -4 2 -8 2 0 8 -1 4 -2 -16 -4 0 0 0 0 0 10 0 4 0 0 -4 0 0 -8 -4 0 0 4 4 0 0 0 0 -4 0 -4 0 0 0 0 -8 0 2 0 0 0 0 4 0 4 8 -4 -8 0 8 0 0 0 0 4 0 8 0 -4 4 0 4 -4 8 -4 8 -6 16 0 0 0 0 0 4 -8 -8 0 8 0 -8 0 0 0 16 0 0 -4 -8 0 0 0 8 0 8 0 0 0 0 0 8 -8 8 -8 -4 4 4 -4 0 0 -4 0 0 4 -8 8 4 0 4 0 4 0 2 -8 -4 0 0 0 -4 8 -6 0 0 0 0 -8 0 -16 4 0 0 0 0 0 -8 0 -4 2 4 -4 4 4 -4 -4 -4 -4 -4 0 4 0 -2 0 8 2 4 0 0 0 -1 0 4 0 -8 6 0 0 0 -2 0 1 -4 0 0 0 0 8 0 0 0 0 -8 -2 -4 -4 4 4 4 0 0 -4 4 0 0 -2 0 8 0 0 -4 -4 0 2 4 4 4 0 0 4 -4 -4 2 0 -1 -2 1 +1 -3 0 -6 -4 8 -8 -4 12 -4 4 -4 2 4 8 4 -4 4 0 -2 1 -16 -8 -4 0 4 4 16 8 0 2 -8 4 -4 -4 -8 2 0 8 0 0 0 -4 -4 8 -4 -4 16 -8 -8 0 -4 -2 8 -2 -16 -8 -1 0 -2 8 -4 12 0 8 -8 -12 -6 4 -4 -4 8 -4 0 8 -8 0 8 0 0 -4 8 0 0 0 8 0 8 0 0 0 0 0 -8 2 0 0 0 0 4 0 4 0 4 0 -8 0 -8 -12 -8 4 -8 0 8 8 4 4 0 -8 4 0 4 8 2 -8 -4 8 12 -8 -8 4 8 0 0 0 0 0 0 -8 0 -8 0 0 4 0 -8 4 8 0 12 8 0 0 0 0 -8 0 0 0 0 8 4 -8 8 0 -8 4 0 0 4 0 0 -8 8 4 0 4 0 2 8 4 0 -12 -4 4 8 2 -8 0 -8 0 8 8 8 -4 -16 8 -4 -8 -12 -8 8 -4 -2 -4 -4 0 0 0 0 -4 -4 -4 -8 -4 0 -2 0 -8 -2 -4 16 12 4 -1 0 -4 0 -8 -2 8 8 8 -2 -16 1 -4 0 0 -8 4 -8 4 -4 16 -4 -8 2 0 0 0 0 4 8 8 4 -4 0 0 2 4 8 0 -8 4 -8 -4 2 4 8 4 -4 4 8 -4 -8 2 0 -1 -2 1 +1 -3 -8 2 4 0 8 -4 4 12 -4 -12 2 4 -8 12 -4 -12 8 -2 1 0 8 -4 0 4 4 0 -8 -8 2 8 4 12 -4 -8 2 0 -8 -8 8 0 -4 -4 8 -4 -4 0 8 -8 -8 -4 -2 -8 -2 0 8 -1 8 -2 -8 -4 -4 0 -8 8 4 -6 4 -4 -4 -8 -4 0 8 8 8 8 0 -8 -4 8 0 0 0 0 0 0 0 0 0 0 0 8 2 16 -16 -16 0 4 16 4 0 4 0 -8 0 -8 4 -8 4 0 0 -8 0 4 4 0 0 4 0 4 -8 2 8 -4 8 -4 0 8 4 -8 0 0 0 0 0 0 8 0 8 0 0 4 0 -8 4 8 0 -4 -8 -16 16 16 -16 8 0 0 0 0 0 4 0 0 0 0 4 0 0 4 0 0 0 0 4 0 4 0 2 -8 4 0 4 -4 4 -8 2 -8 0 -8 0 -8 -8 -8 -4 0 8 -4 -8 4 8 -8 -4 -2 -4 -4 8 -8 -8 8 -4 -4 -4 8 -4 0 -2 0 8 -2 -4 0 -4 4 -1 0 -4 0 8 -2 8 8 8 -2 0 1 -4 0 0 -8 4 8 -12 12 0 -4 8 2 -8 8 8 -8 4 -8 -8 4 -4 0 0 2 4 -8 8 8 4 0 -4 2 -4 0 4 12 -12 0 4 0 2 -8 -1 -2 1 +1 -3 -8 2 4 0 8 4 -4 -12 -4 12 2 4 -8 12 4 12 -8 -2 1 0 8 -4 0 4 -4 0 -8 8 2 8 4 -12 -4 -8 2 0 -8 8 -8 0 -4 -4 8 -4 -4 0 8 8 8 -4 -2 -8 -2 0 8 -1 -8 -2 -8 -4 4 0 -8 8 -4 -6 -4 -4 4 -8 -4 0 8 8 -8 -8 0 8 -4 8 0 0 0 0 0 0 0 0 0 0 0 8 2 -16 16 16 0 4 -16 4 0 4 0 -8 0 -8 -4 8 -4 0 0 -8 0 4 4 0 0 4 0 4 -8 2 8 4 -8 4 0 8 4 -8 0 0 0 0 0 0 8 0 8 0 0 4 0 8 -4 -8 0 4 -8 16 -16 -16 16 8 0 0 0 0 0 4 0 0 0 0 4 0 0 4 0 0 0 0 4 0 4 0 2 -8 4 0 -4 4 4 -8 2 -8 0 -8 0 -8 -8 -8 -4 0 -8 4 8 -4 8 -8 -4 -2 -4 -4 -8 8 8 -8 -4 -4 -4 8 -4 0 -2 0 8 -2 -4 0 4 -4 -1 0 -4 0 8 -2 8 8 8 -2 0 1 -4 0 0 -8 -4 8 12 -12 0 4 8 2 8 -8 -8 8 4 -8 -8 4 -4 0 0 2 -4 -8 8 8 4 0 4 2 -4 0 4 -12 12 0 4 0 2 -8 -1 -2 1 +1 -3 -4 -2 0 4 8 0 4 0 0 -4 2 -4 0 8 0 0 -4 -2 1 0 0 4 -8 -4 0 0 0 -4 2 0 -4 0 -4 0 2 8 8 4 4 -8 4 4 0 -4 4 0 0 0 4 -4 -2 0 -2 0 -16 -1 -4 6 -8 4 0 8 8 -8 0 2 0 4 0 -8 -4 -8 0 0 4 0 8 -4 -4 0 -8 0 0 -4 0 -4 0 0 0 0 0 -8 -6 0 0 0 0 -4 0 -4 0 4 0 0 0 0 0 0 0 4 0 0 -4 -4 4 0 4 4 0 -4 0 2 8 0 0 0 4 8 4 16 0 0 0 0 0 0 -8 0 8 0 0 -4 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 -4 4 4 -4 0 4 4 0 0 4 0 0 4 -4 -4 0 -4 0 -6 16 4 0 0 0 -4 0 2 0 0 0 0 0 8 -8 4 0 0 0 0 0 0 -8 -4 -2 -4 -4 -4 -4 4 4 4 4 4 -8 4 8 6 -8 -16 -2 -4 0 0 0 -1 8 4 -8 0 -2 0 0 0 -2 0 1 -4 -8 8 0 0 0 0 0 0 0 0 2 4 4 -4 -4 -4 -8 8 -4 4 -8 8 2 0 0 4 8 -4 -4 0 2 0 4 4 0 0 4 0 -4 2 -4 -1 -2 1 +1 -3 0 -6 -4 8 8 4 12 -4 4 -12 2 -12 8 4 -4 4 16 -2 1 0 -8 12 0 4 -4 0 -8 0 2 -8 4 4 -4 8 2 0 -8 0 -16 0 12 -4 -8 -4 -4 0 -8 8 -16 -4 -2 8 -2 0 24 -1 0 6 24 -4 -12 0 -8 8 -12 -14 4 -4 4 -8 -4 0 -8 -8 0 8 0 16 -4 -8 0 0 0 -8 0 -8 0 0 0 0 16 8 -6 16 16 -16 0 4 -16 4 -16 4 16 8 -16 8 12 -8 -4 8 0 8 -8 -12 4 0 8 4 -16 4 8 10 -24 -4 -8 12 8 8 4 -24 16 0 -16 0 16 0 8 0 -24 0 0 -12 16 -8 -4 -8 -16 12 8 -16 -16 16 16 8 -16 16 -16 16 -8 4 8 -8 0 8 4 0 0 4 16 -16 8 -8 4 0 4 0 -6 -24 4 0 12 -4 4 8 10 8 0 8 0 8 -8 24 12 0 8 4 8 -12 -8 -8 -4 -2 -4 -4 0 16 -16 0 -4 -4 -4 8 -4 0 6 0 24 -2 -4 0 -12 4 -1 0 -4 0 -8 -10 -8 -8 -8 -2 0 1 -4 0 0 8 -4 -8 4 4 0 -4 -8 2 0 -16 16 0 4 -8 -8 4 12 0 0 2 4 8 0 8 -12 -8 4 2 4 8 4 -4 -4 8 -4 -8 2 0 -1 -2 1 +1 -5 8 -6 4 0 -8 4 4 12 4 12 -10 -4 -8 4 4 12 -8 -10 1 16 -8 -4 -16 4 4 16 -24 -8 2 8 4 12 -4 8 2 -16 8 -8 -8 -16 -12 4 8 4 4 16 8 8 -8 4 2 8 2 16 8 1 -8 2 8 4 4 -16 8 8 4 6 4 4 4 -24 -12 -16 8 -24 -8 8 -16 -8 4 8 -16 0 0 -16 0 16 0 0 0 0 0 8 2 0 0 0 0 4 0 4 0 4 0 8 0 8 4 8 4 16 0 -24 0 -12 -12 0 -16 4 0 4 8 2 8 4 8 4 0 -24 4 8 0 0 0 0 0 0 -8 0 -8 0 0 12 0 -8 -4 -8 0 -4 24 0 0 0 0 24 0 0 0 0 -16 -4 16 16 0 0 -4 0 0 12 0 0 -16 0 -4 0 -4 0 -2 -8 -4 0 -4 -4 -4 -8 -2 -8 0 -8 0 -8 -8 -8 12 -16 -8 -4 -8 -4 24 24 -4 -2 -4 12 8 8 8 8 -4 -4 -4 -8 -4 16 -2 16 -8 -2 -4 -16 -4 -4 -1 16 -4 16 -8 -2 -8 -8 -8 10 -16 -1 4 16 16 -8 -4 -8 -12 -12 -16 -4 8 -2 8 8 8 8 -4 8 -8 -4 4 16 16 -2 -4 8 -8 8 4 0 -4 10 -4 0 4 -12 -12 0 -4 0 6 -8 -1 6 -1 +1 -5 12 -4 6 -8 -16 8 16 24 -6 32 -4 -8 -16 -20 -8 -24 -8 4 3 -16 16 8 -16 12 -8 -16 0 -8 6 24 12 -24 8 24 6 -16 24 -8 -8 -16 -8 -8 -16 -8 -12 16 -16 48 8 -8 -6 -24 -6 16 -16 -3 8 -4 -16 -8 24 16 -16 -24 24 -16 24 -8 24 -16 -8 16 -24 -16 8 48 16 8 -8 -16 16 12 4 -8 24 -8 12 48 12 24 -16 16 4 -16 -16 -16 4 8 -16 8 -16 8 -16 16 -16 16 -24 -48 -24 -8 12 16 12 8 8 12 -8 8 -16 8 16 4 16 -24 -48 -24 12 16 8 16 -16 16 -16 48 -16 -12 -16 -24 -16 -48 -16 -8 16 48 24 48 16 24 -16 16 16 16 16 -16 16 16 16 16 8 -8 8 8 -12 -12 -8 -12 -24 -8 16 16 8 -12 -8 -4 -8 -4 -4 -16 -8 -12 24 24 -8 -16 -4 -16 -12 -16 -48 24 16 16 8 -16 -48 -24 -48 -24 16 16 8 6 8 8 -8 -8 -8 -8 12 8 8 24 12 -16 4 -16 16 6 8 -16 -24 -24 3 -16 8 -16 16 4 24 16 16 -4 16 -3 -8 16 16 -24 8 -24 24 24 16 8 -16 -6 8 8 8 8 -12 -16 -24 -12 -8 16 16 -6 -8 16 12 16 8 -8 -8 4 6 -8 8 -24 -24 8 -6 8 -4 -12 1 4 -1 +1 -5 4 2 0 0 -8 4 4 4 0 -4 -2 4 8 0 -4 4 0 -2 1 0 8 4 0 -4 4 0 8 0 -2 0 4 -4 -4 -8 -2 0 0 -8 -8 -16 4 4 8 4 -4 0 -8 -8 0 -4 -2 0 -2 0 8 1 -8 2 -8 4 4 0 8 0 -4 -2 -4 -4 4 -8 12 0 -8 8 0 8 -16 -8 4 8 16 0 0 8 0 0 0 0 0 0 16 8 2 0 0 0 0 4 0 4 0 4 -16 8 -16 8 4 8 4 -8 0 8 -4 4 12 0 0 4 16 -4 -8 -6 -8 -4 -8 -4 4 -8 -4 8 0 0 0 0 0 0 -8 0 8 0 0 -4 0 -8 -4 8 0 4 -8 0 0 0 0 8 0 0 -16 -16 0 4 0 -8 0 -4 -4 0 0 -12 16 16 8 4 -4 0 -4 0 -2 -8 -4 0 -4 4 4 8 6 -8 0 -8 0 0 -8 8 -4 0 -8 -4 8 4 -8 8 4 2 -4 -12 8 8 0 0 4 -4 -4 0 -4 16 -2 0 -8 2 -4 0 -4 4 -1 0 4 -16 8 6 8 -8 -8 2 0 -1 4 0 -16 8 -4 0 -4 4 0 4 -8 2 8 8 0 0 4 8 0 -4 -4 16 0 2 4 -8 -4 8 -4 0 -4 2 0 -8 4 -4 4 0 0 -8 6 -4 -1 6 -1 +1 -5 4 -2 0 4 0 0 4 0 0 4 -2 -4 8 0 0 0 -4 -2 1 0 8 -4 0 -4 0 0 0 -4 2 0 -4 0 -4 0 2 0 -8 -4 -4 0 -4 4 0 -4 -4 0 8 0 -4 -4 2 0 2 0 8 1 -4 2 0 4 0 0 0 -8 0 -2 0 4 0 16 -4 0 0 8 -4 0 0 -4 -4 0 0 0 0 4 0 -4 0 0 0 0 -8 0 2 0 0 0 0 4 0 4 8 -4 8 0 8 0 0 0 0 -4 0 8 4 -4 -4 0 4 -4 -8 4 8 2 0 0 0 0 -4 16 -4 8 8 0 -8 0 -8 0 0 0 0 0 0 4 -8 0 0 0 -8 0 -8 0 0 0 0 -16 8 8 8 8 4 4 -4 -4 0 4 4 0 0 4 -8 -8 4 -4 -4 0 -4 0 -2 -8 4 0 0 0 -4 -8 -2 0 0 0 0 0 0 0 4 0 0 0 0 0 -8 -16 4 -2 4 4 4 4 4 4 4 -4 -4 8 4 0 -2 0 -8 -2 4 0 0 0 -1 0 -4 0 -8 -2 0 0 0 2 0 -1 4 0 0 0 0 0 0 0 0 0 -8 -2 4 4 4 4 4 0 8 4 4 0 0 -2 0 -8 -4 0 4 -4 0 2 0 -4 4 0 0 -4 0 -4 6 -4 -1 6 -1 +1 -5 0 -2 4 4 8 0 4 0 4 4 -2 4 -16 4 0 0 4 -2 1 0 -16 4 -8 4 0 0 0 4 -2 -8 -4 0 4 0 -2 -8 0 4 4 -8 4 -4 0 4 4 0 0 0 4 -4 -2 -8 -2 0 0 1 4 2 8 -4 0 -8 8 0 0 -2 0 4 0 8 4 -8 0 0 4 0 -8 4 4 0 -8 0 0 4 0 -4 0 0 0 0 0 8 2 0 0 0 0 -4 0 -4 0 4 0 0 0 0 0 0 0 -4 0 0 0 4 4 0 4 4 0 4 0 2 8 0 0 0 0 8 -4 0 0 0 0 0 0 0 -8 0 -8 0 0 -4 0 0 0 0 0 0 0 0 0 0 0 -8 0 0 0 0 4 4 -4 -4 0 0 -4 0 0 -4 0 0 4 0 4 0 4 0 -2 0 -4 0 0 0 -4 0 -2 0 0 0 0 8 -8 -8 -4 0 0 0 0 0 0 -8 4 2 -4 -4 -4 -4 -4 -4 -4 4 4 0 4 8 -2 8 0 2 -4 0 0 0 -1 8 -4 8 0 -2 0 0 0 2 0 -1 -4 8 8 0 0 8 0 0 0 0 16 2 -4 -4 -4 -4 -4 -8 0 4 -4 8 8 2 0 16 0 -8 -4 -4 0 2 -4 -4 -4 0 0 -4 -4 -4 6 0 -1 6 -1 +1 -5 4 4 2 -4 0 4 0 8 -2 8 -4 0 0 -4 0 -8 0 4 -1 0 0 0 -8 0 -4 8 0 0 -2 0 0 -4 0 0 2 0 0 -4 -4 -8 0 0 0 -8 0 0 0 -8 0 8 2 0 -2 -8 0 1 4 0 0 0 4 8 0 0 -8 0 0 0 -4 0 0 0 0 0 0 0 8 4 8 0 0 0 0 0 -8 -4 4 0 0 8 8 0 0 0 8 0 0 0 8 0 8 8 0 0 8 0 -4 0 4 0 -4 0 -4 0 0 -4 -4 -8 0 0 0 0 0 0 8 8 -4 0 -8 0 0 0 0 0 8 0 0 -8 0 0 0 0 0 0 -4 -8 -8 -8 0 0 -8 0 -8 0 0 -8 0 -8 4 8 4 0 4 4 8 4 8 0 0 -8 0 4 0 0 0 0 0 0 -8 -4 4 0 0 0 0 0 0 0 0 0 0 0 0 8 0 4 8 8 0 0 -8 -2 -8 0 -4 -4 0 0 0 0 0 0 0 -8 0 0 0 2 8 0 -4 0 -1 -8 0 0 0 0 0 0 0 -4 0 1 0 8 0 0 4 0 8 4 -8 0 0 2 4 4 0 0 0 0 0 0 0 8 0 -2 0 0 4 0 0 -4 -4 4 2 0 0 -8 -4 4 -2 0 -4 -4 1 4 -1 +1 -5 4 -6 0 8 -8 -4 4 -4 0 12 -2 -4 8 8 4 -4 -8 -2 1 0 8 -4 0 -4 -4 0 -24 -8 -2 0 4 4 4 -8 -2 0 0 0 0 16 12 4 8 4 -4 0 8 8 -8 -4 -2 0 -2 0 -8 1 0 -6 8 4 -4 0 -8 0 4 6 4 -4 -4 -8 4 0 -8 8 -8 -8 16 0 4 8 -16 0 0 0 0 -8 0 0 0 0 0 -8 -6 0 0 0 0 4 0 4 -16 4 0 8 0 8 -4 -8 -4 0 0 8 -4 12 4 0 8 4 0 -4 8 2 8 4 8 4 4 -8 -4 -8 -16 0 16 0 16 0 8 0 -8 0 0 -12 16 8 4 -8 16 -4 -8 0 0 0 0 8 -16 -16 0 0 8 4 -8 0 0 -4 -4 0 0 -4 0 0 0 4 -4 0 -4 0 6 8 -4 0 4 -4 4 -8 -2 -8 0 -8 0 0 8 -8 -12 0 8 4 -8 -4 -8 8 4 2 -4 -4 0 0 8 8 4 -4 -4 0 -4 -16 6 0 8 2 -4 0 4 -4 -1 0 4 16 -8 -2 8 -8 -8 2 0 -1 -4 0 16 8 4 0 4 -4 0 -4 -8 2 0 0 8 8 4 8 0 -4 4 -16 0 2 -4 -8 -4 8 4 -8 4 2 0 0 -4 4 -4 -8 0 0 6 -4 -1 6 -1 +1 -5 4 0 2 0 0 0 8 4 -2 8 -4 0 0 -4 -4 -4 -4 4 -1 8 0 0 0 0 0 0 -8 -4 2 0 0 -8 0 0 -2 -8 0 0 0 0 0 0 0 8 0 -8 0 0 4 8 -2 0 2 0 0 1 0 0 0 0 -8 0 0 0 4 0 -4 0 0 0 0 8 0 0 4 -8 0 0 -8 0 8 0 0 -4 8 0 -4 0 0 -8 0 0 0 8 0 8 0 0 0 0 0 -8 8 0 0 0 8 8 0 -4 -4 0 -4 0 0 4 0 8 8 0 0 0 0 4 0 -4 -4 0 -8 0 8 0 8 0 0 0 0 8 0 0 0 0 -8 -8 0 0 0 4 0 -8 0 -8 0 0 -8 0 -8 0 0 8 0 4 4 4 -8 -4 -8 0 -8 0 4 4 0 0 0 0 0 0 8 4 -8 -4 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 -4 0 0 -8 2 8 0 0 0 -4 -4 0 0 0 0 0 0 0 -8 0 -2 -8 8 8 4 -1 0 0 -8 0 0 0 0 0 -4 -8 1 0 0 8 0 0 0 4 8 0 4 0 -2 0 0 4 4 0 0 0 0 0 0 8 2 -4 0 4 0 0 0 0 4 2 -4 0 -4 -8 0 -2 4 -4 -4 1 4 -1 +1 -5 4 4 -2 0 0 0 0 0 2 0 -4 0 16 -4 0 0 0 4 3 0 -16 0 0 -4 0 0 0 0 -2 8 -4 0 0 -8 -2 0 -8 0 0 0 0 -8 0 8 4 0 0 0 0 -8 2 -8 2 0 0 -3 0 4 -16 -8 0 0 -16 8 0 8 0 8 0 0 0 0 8 16 0 0 0 0 8 0 0 -4 4 0 -8 0 -4 16 -4 -8 0 16 -4 0 0 0 4 8 0 8 0 -8 0 0 0 0 0 0 0 0 -4 -16 4 0 0 -4 0 -8 0 -8 0 -4 16 0 0 0 4 0 8 0 0 16 0 16 0 4 -16 8 -16 -16 -16 0 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 -8 0 0 4 -4 8 4 8 0 0 0 0 -4 -8 -4 -8 -4 4 0 8 4 0 0 8 0 4 0 4 0 -16 8 16 16 0 0 0 0 0 0 -16 0 8 -2 -8 0 0 0 0 0 -4 8 8 -8 -4 0 -4 0 0 -2 -8 0 0 0 3 0 -8 0 0 -4 -8 0 0 -4 0 -3 0 0 0 8 0 -8 0 0 0 0 16 2 0 0 0 0 4 0 8 4 0 0 0 2 0 -16 4 0 0 0 0 4 -2 0 0 0 0 0 2 0 -4 -4 1 4 -1 +1 -5 4 4 -2 0 16 0 0 0 2 0 -4 -8 16 -12 0 0 0 4 3 0 -16 8 0 -4 0 0 -16 0 6 -8 -4 0 8 8 6 0 -24 0 0 0 -8 -8 -16 -8 4 0 16 0 0 -8 -6 8 -6 0 16 -3 0 -4 16 -8 0 0 16 24 0 0 0 -8 0 16 -8 0 -8 16 0 0 0 0 -8 -16 0 12 4 0 8 0 -4 16 12 8 0 -16 4 0 0 0 4 8 0 8 0 8 0 16 0 16 0 0 0 0 -4 -16 4 8 8 -4 0 8 0 8 -16 4 -16 0 0 0 4 -16 8 -16 0 -16 0 -16 0 -12 16 -8 16 16 16 -8 0 0 0 0 0 0 16 0 0 0 0 16 0 0 0 0 0 -8 0 0 4 -4 -8 4 -8 -8 0 0 0 -4 -8 -4 -8 -4 -4 16 -8 4 0 0 -8 16 -4 -16 -12 -16 -16 -8 -16 -16 8 0 0 0 0 0 -16 -16 8 6 8 8 0 0 0 0 -4 8 8 -24 -4 0 4 0 -16 6 8 0 0 0 3 0 8 0 -16 4 8 16 16 -4 0 -3 -8 0 0 -8 0 8 0 0 0 0 16 -6 0 0 0 0 4 16 24 4 -8 0 0 -6 0 -16 4 -16 8 0 0 4 -2 0 8 0 0 0 2 0 -4 -4 1 4 -1 +1 -5 0 4 2 0 16 0 0 0 -2 0 -4 0 0 0 0 0 0 4 3 0 0 0 0 -4 0 0 -16 0 2 -8 -12 0 0 0 2 0 0 0 0 0 0 8 0 -8 4 0 -16 0 0 -8 -2 8 -2 0 -16 -3 0 4 0 8 0 0 0 0 0 16 0 8 0 16 0 0 0 0 0 0 0 0 -8 0 0 -4 -4 0 0 0 12 0 -4 0 0 0 -4 0 0 0 -4 -8 0 -8 0 8 0 0 0 0 0 0 0 0 4 0 0 0 0 12 0 8 0 -8 16 -4 0 0 0 0 0 -16 8 16 0 0 0 16 0 4 0 0 0 -16 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 0 0 0 -8 0 0 -4 0 -8 -12 0 0 0 0 0 0 8 4 8 4 4 -16 -8 -12 0 0 8 -16 4 0 4 0 0 -8 0 0 0 0 0 0 0 0 0 -16 8 2 8 0 0 0 0 0 -4 -8 -8 0 -12 0 -4 0 16 2 8 0 0 0 3 0 -8 0 16 -4 0 0 0 -4 0 -3 0 0 0 0 0 8 0 0 0 0 0 -2 0 0 0 0 4 16 0 12 0 0 0 -2 0 0 0 -16 0 0 0 4 2 0 0 0 0 0 -2 0 -4 0 1 4 -1 +1 -5 0 6 0 0 0 4 12 0 0 -12 6 12 0 -12 0 0 12 6 -3 -24 0 12 24 0 4 0 0 -12 6 0 0 -12 -12 0 -6 0 0 0 0 -24 12 12 -24 12 0 -24 0 24 12 12 6 0 -6 0 0 -3 0 6 0 -12 12 24 0 0 0 6 0 -12 -12 0 -12 0 0 0 -12 0 -24 0 -12 24 0 -12 4 -12 0 0 0 0 12 0 -24 0 6 -24 0 24 -4 -12 0 12 -24 12 0 24 24 -24 12 0 -12 12 0 0 0 12 -12 0 0 -12 0 -12 0 6 0 0 24 0 0 0 12 0 0 0 0 0 24 12 0 0 0 0 0 -12 0 0 12 -24 24 0 0 -24 0 24 0 0 0 -24 0 24 0 -12 0 12 0 0 12 0 0 12 0 -24 -12 0 12 -4 -12 4 -6 0 -12 0 -12 0 12 0 -6 24 -12 -24 0 0 0 0 -12 0 0 12 -24 0 0 0 -12 -6 12 12 0 0 -12 12 0 12 -12 0 0 24 -6 0 0 6 -12 24 -12 0 3 -24 12 0 0 -6 0 24 -24 -6 24 3 12 -24 0 0 -4 0 0 12 0 0 0 -6 0 0 -12 12 0 0 0 0 -12 24 0 6 0 0 0 0 -12 0 -4 -6 0 -12 12 0 12 0 0 -12 6 0 -1 6 -1 +1 -5 0 2 0 4 0 0 4 -4 0 4 6 4 0 -4 -4 -4 -8 6 -3 -16 0 4 0 0 0 -8 8 8 2 0 0 0 -4 0 -2 -8 0 4 -4 0 4 -12 8 4 0 -16 0 0 -8 12 2 0 -2 -8 0 -3 4 -2 0 12 0 0 0 0 4 -2 12 4 0 0 -4 -8 0 0 8 8 0 -4 -4 -8 8 4 -4 -8 0 4 0 0 -4 0 0 0 -2 16 -8 -16 4 12 8 -12 0 4 8 -8 0 8 0 8 0 8 0 0 0 4 -4 0 -4 -4 -8 4 0 -2 0 12 0 4 0 0 12 0 -8 0 8 0 0 -4 0 0 0 0 0 -4 8 -8 0 0 0 -4 0 16 -8 -16 8 0 -8 0 8 0 -4 -12 4 8 0 0 4 0 0 4 -8 0 -8 0 -12 4 12 -4 2 0 -4 0 0 -12 -4 0 2 -8 4 8 0 0 0 0 -4 8 -8 0 0 -4 0 0 -12 -2 4 4 -4 4 8 -8 0 -12 12 0 0 0 2 8 0 2 -4 16 0 -12 3 0 -4 -8 0 2 0 -8 8 -6 16 3 4 0 -8 0 0 0 4 0 8 4 0 -2 -4 4 8 -8 0 0 0 0 -4 0 8 2 4 0 0 0 -4 -4 0 -6 0 -8 4 4 0 -4 0 -8 6 0 -1 6 -1 +1 -5 -4 8 2 0 8 0 -8 -4 -2 8 4 8 -8 4 4 4 -4 -4 -1 -8 8 -8 -8 0 0 0 -8 12 2 0 0 -8 0 0 -2 -16 0 8 -8 8 0 -8 0 0 0 8 -8 0 4 0 -2 0 2 0 8 1 -8 -8 8 8 -8 8 -8 0 -4 0 4 8 0 -8 -8 16 0 8 -12 8 -8 8 0 0 0 0 0 4 -8 0 -4 0 0 8 8 8 8 -8 0 -8 0 -8 0 8 -8 0 0 0 8 0 8 -8 0 4 -4 -8 4 0 8 4 0 0 0 -8 8 0 -8 -4 0 4 4 8 0 -8 16 0 16 0 -8 0 -8 -8 8 0 0 0 -16 8 0 0 8 -4 8 8 0 8 0 -8 -16 8 0 -8 0 0 0 -4 4 -4 0 -4 8 -8 0 -8 -4 -4 8 0 -8 0 -8 8 0 4 -8 4 8 -8 0 0 0 0 0 0 8 -8 0 0 -8 0 0 4 -8 8 0 2 0 8 8 -8 -4 12 0 -8 8 0 0 8 8 -16 -8 -2 0 -8 8 -4 -1 -8 -8 0 8 0 0 0 0 4 8 1 0 8 0 0 0 0 -4 8 0 -4 -8 -2 -8 8 4 -12 0 8 0 0 8 -8 16 2 4 8 -4 -8 -8 0 0 -4 2 4 0 4 -8 0 -2 -4 -4 4 1 4 -1 +1 -5 0 -2 0 8 0 -4 4 0 0 4 6 -4 0 4 0 0 4 6 -3 -8 0 -4 -8 0 -4 -16 0 -4 -2 0 0 -4 4 0 2 0 0 -8 8 8 -4 12 8 -4 0 -8 0 8 4 12 -2 0 2 -16 0 -3 -8 -2 0 -12 4 -8 0 0 0 -2 0 4 12 0 4 0 0 0 -4 0 8 8 4 -8 0 4 4 -4 0 8 0 0 -4 0 8 0 -2 -8 16 8 -4 -12 -16 12 8 -4 0 -8 -8 8 4 0 12 4 0 0 0 -4 4 0 -8 4 0 4 0 -2 0 0 8 0 0 0 12 0 0 0 0 0 -8 -4 0 0 0 0 0 4 0 0 -12 -8 -8 0 0 -8 16 8 -16 0 0 8 0 -8 -8 -12 8 4 0 0 -4 0 0 -4 0 8 -4 0 12 -4 -12 4 2 0 4 0 -4 0 -4 0 2 -8 4 8 0 0 0 0 4 16 0 -12 -8 0 0 0 -12 2 -4 -4 8 -8 -4 4 0 12 -12 0 0 -8 2 0 0 -2 4 8 -4 0 3 8 -4 0 0 2 0 -8 8 -6 8 3 -4 8 0 0 4 0 0 4 16 0 0 2 8 -8 -4 4 0 0 0 0 4 -8 0 -2 0 0 0 0 4 -8 4 -6 0 -4 -4 0 4 -8 0 -4 6 0 -1 6 -1 +1 -5 -4 8 2 0 8 0 0 4 -2 -8 4 8 -8 4 -4 -4 12 -4 -1 -8 8 -8 8 0 0 0 -24 -4 2 0 0 8 0 0 -2 0 0 -8 8 -8 0 8 0 0 0 8 -8 0 -12 0 -2 0 2 0 8 1 8 0 8 -8 8 -8 -8 0 4 8 -4 -8 0 -8 -8 0 0 8 4 -8 8 -8 0 0 16 0 0 4 -8 0 -4 0 0 8 -8 8 0 -8 0 -8 0 8 0 -8 8 0 16 0 -8 0 -8 8 0 4 -4 -8 4 0 8 4 0 0 16 8 8 -8 -8 4 0 -4 4 8 0 -8 0 0 0 0 8 0 -8 -8 8 0 0 0 0 -8 0 0 -8 4 8 8 0 8 0 -8 0 -8 -16 8 0 0 0 -4 4 -4 0 -4 8 -8 -16 8 -4 -4 -8 0 8 0 0 8 0 4 8 -4 -8 -8 8 0 0 0 0 0 8 -8 0 0 8 0 0 -4 -8 8 0 2 0 8 -8 8 12 -4 0 8 -8 0 0 -8 0 0 -8 -2 0 -8 -8 4 -1 8 8 -16 8 -8 0 0 0 4 8 1 0 -8 16 0 0 0 4 -8 0 4 -8 -2 8 -8 -12 4 0 8 0 0 8 8 0 2 -4 8 -4 -8 -8 0 0 -4 2 4 0 -4 8 0 -2 -4 -4 4 1 4 -1 +1 -5 0 4 -2 4 0 -4 0 0 2 0 4 0 8 0 0 0 -8 -4 -1 -8 -8 0 -8 0 4 0 0 0 2 0 0 -4 0 0 -2 0 0 -4 4 8 8 0 8 0 0 8 8 -8 8 0 -2 0 2 0 -8 1 4 0 0 0 4 8 0 0 0 0 0 0 4 0 -8 0 0 -8 0 0 -8 -4 0 -8 0 0 0 8 0 -4 4 0 0 0 0 0 0 8 0 8 0 0 0 0 0 0 8 8 0 -8 -4 0 -4 8 4 8 0 -8 8 -4 -4 0 8 0 -8 0 0 0 8 0 0 0 0 8 -8 0 -8 0 0 0 0 0 0 0 0 8 8 0 4 -8 0 0 -8 -8 0 -8 0 0 8 0 -8 0 4 0 4 -8 -4 0 0 4 0 -8 -8 0 -8 0 0 0 0 0 0 -8 0 -4 4 0 0 8 0 8 0 -8 0 0 0 0 -8 0 0 -4 8 0 8 0 0 2 0 8 -4 4 -8 0 0 0 0 0 0 8 0 0 8 -2 0 -8 -4 0 -1 -8 0 0 -8 0 0 -8 8 4 8 1 0 8 0 0 -4 0 0 4 0 0 8 -2 4 -4 8 0 0 0 0 0 0 -8 0 2 0 -8 0 0 0 4 4 -4 -2 0 0 0 -4 -4 2 0 -4 0 1 4 -1 +1 -5 0 8 -2 0 0 0 -8 4 2 0 4 0 8 0 4 -4 -4 -4 -1 0 -8 0 0 0 0 -8 8 4 -2 0 0 0 0 0 2 -8 0 -8 0 0 -8 0 8 0 0 0 -8 0 4 0 2 0 -2 8 8 1 8 0 0 0 0 0 0 0 4 0 4 0 0 0 8 8 0 -8 -4 -8 0 0 0 -8 -8 0 0 -4 0 8 -4 0 0 0 -8 0 0 0 8 0 0 0 8 0 8 0 0 8 -8 -8 0 8 0 -4 4 8 0 8 -8 4 8 0 0 0 8 0 0 -4 0 -4 0 0 0 -8 0 0 0 0 8 0 0 0 0 0 0 -8 0 -8 0 0 -8 4 -8 0 -8 0 -8 0 0 -8 0 8 -8 0 -8 4 -4 0 0 -4 0 8 0 8 4 0 0 0 0 0 0 8 0 4 0 4 0 -8 0 8 0 -8 0 0 0 0 8 -8 8 0 0 -4 8 0 0 -2 0 -8 -8 0 -4 4 0 0 0 0 0 0 0 -8 -8 2 0 0 0 -4 -1 0 0 8 8 0 0 -8 8 4 0 1 0 0 -8 0 0 0 4 0 8 -4 8 2 8 0 4 -4 0 0 0 0 0 0 8 -2 4 -8 0 0 0 0 0 -4 -2 4 0 -4 0 0 2 -4 -4 0 1 4 -1 +1 -5 4 12 -2 -8 -16 8 -16 8 2 0 -4 8 16 4 8 -8 8 4 3 16 -16 -8 -16 -4 -8 -16 32 8 -2 -8 12 8 -8 -24 -2 16 8 -8 -8 -16 8 -8 16 -8 4 -16 -16 -16 -8 -8 2 8 2 16 -16 -3 8 -4 16 -8 -8 16 16 -8 8 -16 -24 -8 24 -16 8 -16 24 16 -8 16 16 8 -8 16 -16 -4 4 8 8 -8 12 16 -4 8 -16 -16 4 16 -16 16 4 8 -16 8 -16 8 16 -16 -16 -16 8 -16 -24 8 -4 -16 4 -8 -8 12 -8 8 16 8 16 4 -16 24 16 -8 4 16 8 16 16 -16 16 -16 -16 4 16 -8 16 16 16 8 -16 16 24 -16 16 8 16 -16 16 -16 16 -16 -16 16 -16 16 8 -8 8 -8 4 -4 -8 -12 -8 8 -16 16 -8 -4 -8 -4 -8 -4 -4 -16 -8 -12 -8 -24 -8 -16 -4 16 4 16 -16 -8 -16 -16 -8 -16 -16 -24 16 -8 -16 16 8 -2 8 -8 -8 -8 8 8 -4 8 8 8 12 -16 4 16 16 -2 8 16 8 24 3 -16 8 16 16 4 -24 -16 -16 -4 -16 -3 8 16 -16 24 8 8 8 -8 16 -8 16 2 8 8 -8 -8 4 -16 -8 -12 8 16 -16 2 8 -16 4 16 -8 -8 -8 4 -2 8 -8 -8 8 8 2 -8 -4 -4 1 4 -1 +1 -5 0 4 2 0 0 0 0 0 -2 0 -4 8 0 8 0 0 0 4 3 0 0 -8 0 -4 0 0 0 0 -6 -8 4 0 -8 0 -6 0 0 0 0 0 8 8 -16 8 4 0 0 0 0 -8 6 8 6 0 0 -3 0 -4 0 8 0 0 0 0 0 -8 0 -8 0 0 8 0 0 0 0 0 0 0 8 -16 0 12 -4 0 0 0 -4 0 12 0 0 0 4 0 0 0 -4 -8 0 -8 0 -8 0 16 0 16 0 0 0 0 4 0 0 -8 -8 -4 0 -8 0 8 0 4 0 0 0 0 0 0 8 0 0 0 0 16 0 -12 0 0 0 -16 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -8 0 0 -4 0 8 4 0 8 0 0 0 0 8 4 8 4 -4 0 8 4 0 0 -8 0 -4 -16 -12 -16 0 -8 0 0 -8 0 0 0 0 0 0 0 8 -6 -8 -8 0 0 0 0 -4 -8 -8 0 4 0 4 0 0 -6 -8 0 0 0 3 0 8 0 0 4 0 16 16 -4 0 -3 8 0 0 0 0 8 0 0 0 0 0 6 0 0 0 0 4 0 0 -4 8 0 0 6 0 0 0 0 -8 0 0 4 2 0 -8 0 0 0 -2 0 -4 0 1 4 -1 +1 -5 4 -4 -2 8 -16 -8 16 -8 2 0 -4 8 16 4 -8 8 -8 4 3 -16 -16 -8 16 -4 8 16 0 -8 -2 -8 12 -8 -8 -24 -2 -16 8 8 8 16 8 -8 16 -8 4 16 -16 16 8 -8 2 8 2 -16 -16 -3 -8 -4 16 -8 8 -16 16 -8 -8 -16 24 -8 -24 -16 8 16 24 16 8 -16 -16 -8 -8 16 16 -4 4 -8 8 8 12 16 -4 8 16 -16 4 -16 16 -16 4 8 16 8 16 8 -16 -16 16 -16 -8 16 24 -8 -4 -16 4 -8 -8 12 8 8 -16 8 16 4 -16 -24 -16 8 4 16 8 16 -16 -16 -16 -16 16 4 16 -8 16 16 16 8 16 -16 -24 16 -16 -8 16 16 -16 16 -16 -16 16 -16 16 -16 -8 -8 -8 8 4 -4 -8 -12 -8 8 16 -16 8 -4 -8 -4 -8 -4 -4 -16 -8 -12 8 24 -8 -16 -4 16 4 16 -16 -8 -16 -16 -8 16 16 24 -16 8 -16 16 8 -2 8 -8 8 8 -8 -8 -4 8 8 8 12 16 4 -16 16 -2 8 -16 -8 -24 3 16 8 -16 16 4 -24 -16 -16 -4 16 -3 8 -16 16 24 -8 8 -8 8 -16 8 16 2 -8 -8 8 8 4 -16 -8 -12 8 -16 16 2 -8 -16 4 16 -8 8 8 4 -2 -8 -8 8 -8 -8 2 8 -4 -4 1 4 -1 +1 -5 -4 4 6 0 16 0 0 0 -6 0 -4 8 -16 12 0 0 0 4 3 0 16 -8 0 12 0 0 -16 0 -2 -8 -4 0 -8 -8 -2 0 -8 0 0 0 8 -8 16 -8 -12 0 16 0 0 -8 2 8 2 0 16 -3 0 -4 -16 -8 0 0 -16 8 0 0 0 -8 0 16 8 0 8 -16 0 0 0 0 -8 16 0 -4 4 0 24 0 -4 -16 -4 24 0 16 4 0 0 0 4 8 0 8 0 8 0 -16 0 -16 0 0 0 0 12 16 -4 -8 -8 -4 0 8 0 8 -16 4 16 0 0 0 -4 -16 8 -16 0 16 0 -16 0 4 -16 -24 -16 16 -16 8 0 0 0 0 0 0 -16 0 0 0 0 16 0 0 0 0 0 -8 0 0 -12 4 -8 4 -24 8 0 0 0 4 -8 -4 -8 -4 -4 16 -8 4 0 0 -8 16 -4 16 4 16 16 -8 16 16 -8 0 0 0 0 0 16 -16 8 -2 8 -8 0 0 0 0 12 8 8 -8 -4 0 4 0 -16 -2 8 0 0 0 3 0 8 0 -16 4 -8 -16 -16 -4 0 -3 8 0 0 8 0 8 0 0 0 0 -16 2 0 0 0 0 -12 16 8 4 8 0 0 2 0 16 -4 -16 -8 0 0 4 6 0 -8 0 0 0 -6 0 -4 4 1 4 -1 +1 -5 -4 4 2 4 8 -4 0 8 -2 -8 4 0 -8 12 0 -8 8 -4 -1 0 8 0 -16 0 4 -8 0 -8 -2 0 0 4 -8 0 2 -8 0 -4 12 0 -8 8 0 0 0 0 8 8 -8 0 2 0 -2 8 -8 1 4 0 -8 -8 -4 16 8 0 -8 -8 0 8 4 -8 0 8 0 8 8 0 0 -12 0 0 -8 0 0 0 8 4 4 0 0 -8 16 -8 0 0 -8 0 0 8 -8 -8 0 0 -8 0 16 0 4 0 -4 0 -4 -8 4 8 0 -4 4 0 -8 -8 -8 8 8 0 -8 8 4 8 0 8 8 0 8 0 0 0 8 8 -8 0 0 -8 -8 0 4 8 0 -8 8 0 8 0 8 -8 -8 0 8 -16 -4 0 -4 0 4 -4 0 4 -8 0 8 -16 0 -4 -8 0 8 0 0 -8 0 -4 -4 0 8 8 -8 0 0 0 0 0 -8 8 8 -8 0 -4 -8 8 -8 8 0 -2 0 0 -4 12 8 -8 0 8 -8 0 0 0 0 -8 8 2 0 0 4 0 -1 -16 -8 8 -8 8 0 0 0 4 0 1 8 16 -8 0 -4 0 8 -4 8 0 -8 2 4 -12 -8 8 0 8 0 0 0 0 8 -2 0 8 -4 -8 0 4 4 -4 2 0 -8 -8 4 -4 -2 0 -4 4 1 4 -1 +1 -5 0 -6 0 12 0 0 4 -12 0 12 6 -12 0 12 4 -12 0 6 -3 0 0 -12 0 0 0 -24 -24 0 -6 0 0 0 12 0 6 24 0 12 -12 0 -12 -12 -24 -12 0 0 0 0 0 12 -6 0 6 -24 0 -3 12 6 0 12 0 0 0 0 12 6 -12 -12 0 0 12 24 0 0 0 24 0 -12 12 24 -24 -12 -4 0 0 12 0 0 12 0 0 0 6 0 -24 0 4 12 24 -12 0 -12 -24 24 0 -24 0 24 0 0 0 0 0 -12 12 0 -12 12 24 -12 0 6 0 -12 0 12 0 0 12 0 24 0 -24 0 0 12 0 0 0 0 0 12 -24 -24 0 0 0 -12 0 0 -24 0 24 0 24 0 -24 0 -12 -12 12 0 0 0 -12 0 0 -12 24 0 0 0 -12 4 12 -4 -6 0 12 0 0 12 12 0 -6 24 -12 -24 0 0 0 0 12 24 -24 0 0 -12 0 0 -12 6 -12 -12 -12 12 0 0 0 -12 12 0 0 0 -6 -24 0 -6 12 0 0 12 3 0 12 24 0 -6 0 24 -24 -6 0 3 -12 0 24 0 0 0 12 0 24 -4 0 6 -12 12 0 0 0 0 0 0 12 0 -24 -6 -4 0 0 0 12 -12 0 -6 0 0 -12 12 0 -12 0 0 6 0 -1 6 -1 +1 -5 -4 4 2 4 8 4 0 -8 -2 0 4 0 -8 12 0 8 -8 -4 -1 0 8 0 0 0 -4 -8 -16 8 -2 0 0 -4 -8 0 2 8 0 12 -4 -16 -8 -8 0 0 0 0 8 -8 8 0 2 0 -2 8 -8 1 -12 8 -8 8 4 0 8 0 8 0 0 -8 -4 -8 0 -8 0 8 -8 0 16 4 0 0 8 0 0 0 8 4 4 0 0 -8 0 -8 -8 0 -8 0 0 -8 -8 8 16 0 8 0 0 0 -4 0 4 0 -4 -8 4 8 0 -4 4 0 8 8 -8 0 8 0 8 -8 4 8 0 8 -8 0 -8 0 16 0 8 8 -8 0 0 -8 8 0 -4 -8 -16 8 8 0 8 0 8 -8 8 -16 -8 0 -4 0 -4 0 4 -4 0 4 -8 0 -8 0 0 -4 8 0 -8 0 8 -8 0 -4 4 0 -8 8 0 0 0 0 0 0 -8 8 8 -8 0 4 8 -8 -8 8 0 -2 0 0 12 -4 -8 8 0 -8 8 0 0 -16 -8 8 8 2 0 0 -4 0 -1 0 8 -8 -8 0 0 0 0 4 0 1 8 0 8 0 4 0 -8 4 8 0 -8 2 -12 4 8 -8 0 8 0 0 0 16 -8 -2 0 8 -4 -8 0 4 -4 -4 2 0 -8 8 -4 -4 -2 0 -4 4 1 4 -1 +1 -5 0 0 -2 8 0 0 8 -4 2 -8 4 -8 8 8 -4 4 4 -4 -1 0 -8 8 0 0 0 -8 -8 -4 -2 0 0 0 -8 0 2 8 0 0 -8 0 0 0 -8 0 0 0 -8 0 -4 0 2 0 -2 8 8 1 0 0 0 0 0 0 0 0 -4 0 -4 0 0 0 0 -8 0 -8 4 8 0 8 0 8 8 0 0 4 0 0 -4 0 0 0 8 0 0 0 8 0 0 0 8 0 -8 0 0 -8 8 8 0 -8 0 4 4 8 0 0 0 4 0 0 0 0 8 0 0 4 0 4 0 0 0 -8 0 0 0 0 -8 0 0 0 0 0 0 0 0 8 0 0 8 -4 -8 0 -8 0 -8 0 0 8 0 -8 0 0 0 -4 -4 0 0 -4 0 0 0 -8 -4 0 0 0 0 0 0 8 0 4 0 -4 0 -8 0 -8 0 8 0 0 0 0 0 -8 -8 0 0 4 8 0 0 -2 0 0 0 -8 4 -4 0 0 0 0 0 0 0 8 -8 2 0 0 0 4 -1 0 0 -8 8 0 0 8 -8 4 0 1 8 0 8 0 0 0 -4 0 8 4 8 2 0 8 -4 4 0 0 0 0 -8 0 -8 -2 -4 -8 0 0 8 8 0 -4 -2 -4 -8 4 0 -8 2 4 -4 0 1 4 -1 +1 -7 8 0 2 8 -16 0 8 0 2 8 -8 -8 0 0 0 0 -8 -8 3 16 0 -8 0 -4 0 16 -16 -8 2 8 4 0 -8 0 2 0 0 -8 -8 0 -8 16 16 0 -4 16 16 0 -8 -16 2 8 2 16 16 3 -8 0 0 16 0 0 0 0 0 4 0 0 0 -16 -8 0 0 0 -8 0 0 -8 0 16 0 -4 -4 8 0 8 -4 -32 -4 0 0 0 0 -16 -16 -16 -4 16 -16 16 0 0 0 16 0 16 0 0 0 8 4 0 8 -8 -8 -4 8 0 0 0 16 0 0 0 0 0 8 -16 -16 16 0 0 0 -16 0 -4 0 0 0 -16 0 -8 0 0 0 0 0 0 0 -16 -16 -16 -16 -16 0 0 0 0 8 -16 8 8 4 8 0 -4 0 -8 0 0 8 8 16 -4 16 -4 0 16 0 -4 0 0 0 16 0 16 -4 16 -32 8 0 0 -8 16 0 0 0 0 0 -16 -16 2 0 -8 -8 -8 -8 -8 -4 16 16 0 4 0 0 0 16 2 0 16 0 0 3 0 0 0 16 0 0 16 16 -8 16 3 -8 0 0 0 0 8 0 0 16 0 0 2 -8 -8 -8 -8 -4 -16 0 4 -8 0 0 2 0 0 8 -16 -8 8 0 -8 2 8 -8 0 0 8 2 8 -8 8 1 -8 1 +1 -7 4 0 6 8 0 0 8 0 6 8 -8 0 -32 4 0 0 8 -8 3 16 -32 0 -16 12 0 16 -16 8 -2 -8 -4 0 0 8 -2 -16 8 8 8 -16 0 -16 0 16 12 16 0 0 8 -16 -2 -8 -2 16 0 3 8 8 32 -16 0 -16 32 8 0 4 0 16 0 0 0 -16 8 -32 8 0 -16 8 16 0 -16 -4 4 8 -24 8 -4 16 -4 -24 -16 32 8 16 16 16 4 -16 16 -16 -16 16 -16 0 -16 0 0 0 0 8 12 -32 4 0 0 -4 8 16 -16 16 0 8 32 0 0 0 4 0 -16 0 -16 -16 -16 -16 -16 -4 32 -24 32 -16 -16 0 -16 0 0 0 -16 0 -32 16 16 16 16 0 -16 -16 -16 -16 8 -16 8 8 12 4 16 -4 -24 0 -16 -16 8 4 -16 4 -16 4 8 0 16 -4 0 0 16 0 8 0 -4 0 16 -8 32 32 0 16 0 0 0 0 -32 0 -16 -2 16 0 8 8 8 8 12 -16 -16 8 -4 -16 8 -16 0 -2 16 16 0 0 3 -16 16 -16 0 8 8 0 0 -8 16 3 0 -16 -16 8 0 -8 0 0 16 0 -32 -2 8 8 8 8 12 0 8 -4 0 -16 -16 -2 0 -32 4 0 0 8 0 -8 6 8 0 0 0 8 6 8 -8 4 1 -8 1 +1 -7 8 6 4 0 -8 4 4 12 -4 12 -10 -4 -8 -12 -4 -12 -8 10 1 16 8 4 -16 4 -4 16 -8 -8 2 8 4 -12 4 8 2 -16 8 -8 -8 -16 -12 4 8 4 -4 -16 8 8 8 4 -2 -8 -2 -16 8 -1 8 2 8 4 4 16 8 -8 4 -2 4 4 4 -24 -12 16 -8 -24 8 8 16 8 4 8 16 0 0 -16 0 16 0 0 0 0 0 -8 -2 0 0 0 0 -4 0 -4 0 -4 0 -8 0 -8 -4 -8 -4 16 0 24 0 12 12 0 -16 -4 0 -4 -8 -2 -8 -4 -8 -4 0 24 -4 -8 0 0 0 0 0 0 -8 0 -8 0 0 12 0 -8 -4 -8 0 -4 24 0 0 0 0 24 0 0 0 0 16 -4 -16 -16 0 0 -4 0 0 12 0 0 16 0 -4 0 -4 0 -2 -8 -4 0 -4 -4 -4 -8 -2 -8 0 -8 0 -8 8 8 -12 -16 8 4 8 4 -24 -24 4 -2 4 -12 8 8 8 8 -4 4 4 -8 -4 16 2 16 8 -2 4 -16 4 4 -1 16 4 16 8 2 -8 8 8 10 16 1 4 -16 -16 8 -4 8 -12 -12 16 -4 8 2 -8 -8 -8 -8 4 8 8 4 4 -16 -16 2 4 -8 -8 -8 -4 0 4 -10 -4 0 -4 12 12 0 4 0 6 8 -1 -6 1 +1 -7 4 4 2 8 -8 0 8 -4 2 0 0 0 -8 -4 -4 -4 4 0 -1 -8 -8 0 8 0 0 0 8 4 2 0 0 -8 -8 0 -2 0 0 0 0 -8 8 0 0 8 0 -8 -8 0 4 8 2 0 -2 0 8 -1 0 4 -8 0 8 8 8 0 -4 -4 4 0 0 8 0 0 0 8 4 8 -8 0 -8 0 16 0 0 -4 8 -8 -4 0 0 -8 8 8 4 -8 0 -8 0 0 0 0 -8 8 0 0 8 0 8 8 0 -4 -4 8 -4 8 0 4 -8 -8 0 0 -8 -4 -8 4 0 -4 -4 8 8 8 -16 0 -16 0 -8 0 8 -8 -8 0 0 8 -16 8 0 0 -8 -4 8 -8 0 -8 0 8 -16 -8 0 8 -8 8 -8 -4 -4 -4 -8 4 8 0 0 8 -4 -4 0 0 0 0 4 8 8 -4 8 4 0 -8 -4 0 0 0 0 0 8 -8 8 0 8 0 0 -4 8 8 8 2 -8 0 0 0 4 4 0 0 0 0 0 -8 4 0 8 -2 8 -8 8 4 -1 8 0 16 -8 -4 0 0 0 0 -8 -1 -8 8 16 0 0 0 -4 -8 0 -4 -8 2 0 0 4 4 0 -8 0 0 0 -8 0 -2 -4 -8 4 -8 0 8 0 0 2 12 -8 -4 -8 8 2 12 -8 4 1 -8 1 +1 -7 4 0 2 12 -8 -4 8 -8 2 8 0 -8 -8 4 0 -8 0 0 -1 0 -8 -8 0 0 -4 -8 -16 0 -2 0 0 -4 0 0 2 8 0 4 4 16 0 0 0 -8 0 0 8 8 0 8 -2 0 2 -8 -8 -1 4 -4 8 0 -4 0 -8 0 8 4 0 0 4 8 8 8 0 8 0 0 16 4 8 0 -8 0 0 -8 -8 -4 4 0 0 8 -16 -8 -4 0 -8 0 0 0 -8 0 0 -8 -8 0 -16 0 -4 0 4 -8 -4 8 -4 0 8 -4 -4 8 -8 0 8 4 8 0 8 8 -4 8 8 -8 8 0 8 0 0 0 -8 8 8 0 0 0 8 0 4 8 0 8 8 0 -8 0 -8 8 8 0 -8 -16 -4 8 -4 -8 -4 -4 8 -4 -8 8 -8 -16 -8 -4 0 0 0 0 -4 -8 -8 4 -4 0 0 8 4 0 0 0 0 0 -8 8 0 -8 0 4 8 8 8 8 8 -2 8 8 4 4 0 0 0 0 0 0 0 16 -4 8 -8 2 -8 0 -4 0 -1 0 0 -8 8 4 0 0 0 0 0 -1 0 0 -8 0 -4 0 -8 -4 -8 0 -8 -2 4 4 0 0 0 -8 0 0 -8 16 8 2 0 -8 4 -8 -8 12 -4 0 2 8 0 -8 -4 12 2 8 -8 4 1 -8 1 +1 -7 4 10 0 4 0 0 -4 0 0 -4 -2 -4 8 -8 0 0 -4 2 1 0 -8 4 0 -4 0 0 0 -4 2 0 -4 0 4 0 2 0 -8 -4 -4 0 -4 4 0 -4 4 0 8 0 4 -4 -2 0 -2 0 8 -1 4 2 0 4 0 0 0 8 0 6 0 4 0 16 -4 0 0 8 4 0 0 4 -4 0 0 0 0 4 0 -4 0 0 0 0 -8 0 -2 0 0 0 0 -4 0 -4 8 4 8 0 8 0 0 0 0 -4 0 -8 4 4 4 0 4 4 -8 -4 -8 -2 0 0 0 0 -4 -16 4 -8 8 0 -8 0 -8 0 0 0 0 0 0 4 8 0 0 0 8 0 -8 0 0 0 0 -16 -8 -8 -8 -8 -4 4 4 4 0 -4 4 0 0 4 8 8 -4 4 -4 0 -4 0 -2 -8 4 0 0 0 -4 -8 -2 0 0 0 0 0 0 0 -4 0 0 0 0 0 8 16 -4 -2 -4 -4 4 4 4 4 4 4 4 8 4 0 2 0 8 -2 -4 0 0 0 -1 0 4 0 8 2 0 0 0 2 0 1 4 0 0 0 0 0 0 0 0 0 -8 2 -4 -4 -4 -4 -4 0 -8 -4 4 0 0 2 0 8 -4 0 -4 -4 0 -2 0 -4 -4 0 0 4 0 4 6 4 -1 -6 1 +1 -7 0 10 4 4 8 0 -4 0 -4 -4 -2 4 -16 4 0 0 4 2 1 0 16 -4 -8 4 0 0 -16 4 -2 -8 -4 0 -4 0 -2 -8 0 4 4 -8 4 -4 0 4 -4 0 0 0 -4 -4 2 8 2 0 0 -1 -4 2 8 -4 0 8 8 0 0 6 0 4 0 8 4 8 0 0 -4 0 8 -4 4 0 8 0 0 4 0 -4 0 0 0 0 0 -8 -2 0 0 0 0 4 0 4 0 -4 0 0 0 0 0 0 0 -4 0 0 0 -4 -4 0 4 -4 0 -4 0 -2 -8 0 0 0 0 -8 4 0 0 0 0 0 0 0 -8 0 -8 0 0 -4 0 0 0 0 0 0 0 0 0 0 0 -8 0 0 0 0 -4 4 4 4 0 0 -4 0 0 -4 0 0 -4 0 4 0 4 0 -2 0 -4 0 0 0 -4 0 -2 0 0 0 0 8 8 8 4 0 0 0 0 0 0 8 -4 2 4 4 -4 -4 -4 -4 -4 -4 -4 0 4 8 2 8 0 2 4 0 0 0 -1 8 4 8 0 2 0 0 0 2 0 1 -4 -8 -8 0 0 -8 0 0 0 0 16 -2 4 4 4 4 4 -8 0 -4 -4 -8 -8 -2 0 -16 0 8 4 -4 0 -2 -4 -4 4 0 0 4 4 4 6 0 -1 -6 1 +1 -7 4 6 0 8 -8 -4 4 -4 0 -4 -2 -4 8 0 -4 4 -8 2 1 0 -8 4 0 -4 4 0 -8 -8 -2 0 4 -4 -4 -8 -2 0 0 0 0 16 12 4 8 4 4 0 8 8 8 -4 2 0 2 0 -8 -1 0 -6 8 4 -4 0 -8 0 4 -2 4 -4 -4 -8 4 0 8 8 8 -8 -16 0 4 8 16 0 0 0 0 -8 0 0 0 0 0 8 6 0 0 0 0 -4 0 -4 -16 -4 0 -8 0 -8 4 8 4 0 0 -8 -4 -12 -4 0 8 -4 0 4 -8 -2 -8 -4 -8 -4 4 8 4 8 -16 0 16 0 16 0 8 0 -8 0 0 -12 -16 8 4 -8 -16 -4 -8 0 0 0 0 8 16 16 0 0 -8 4 8 0 0 4 -4 0 0 -4 0 0 0 -4 -4 0 -4 0 6 8 -4 0 4 -4 4 -8 -2 -8 0 -8 0 0 -8 8 12 0 -8 -4 8 4 8 -8 -4 2 4 4 0 0 8 8 4 4 4 0 -4 -16 -6 0 -8 2 4 0 -4 4 -1 0 -4 16 8 2 8 8 8 2 0 1 -4 0 -16 -8 4 0 4 -4 0 -4 -8 -2 0 0 -8 -8 -4 8 0 4 4 16 0 -2 4 8 -4 -8 -4 -8 -4 -2 0 0 4 -4 4 8 0 0 6 4 -1 -6 1 +1 -7 0 10 0 8 0 -4 -4 0 0 -12 6 -4 0 4 0 0 4 -6 -3 -8 0 4 -8 0 4 -16 0 -4 -2 0 0 4 -4 0 2 0 0 -8 8 8 -4 12 8 -4 0 8 0 8 -4 12 2 0 -2 16 0 3 8 -2 0 -12 4 8 0 0 0 -2 0 4 12 0 4 0 0 0 4 0 -8 -8 4 -8 0 4 4 -4 0 8 0 0 -4 0 8 0 2 -8 16 8 -4 12 -16 -12 8 4 0 8 -8 -8 -4 0 -12 4 0 0 0 4 -4 0 -8 -4 0 -4 0 2 0 0 -8 0 0 0 -12 0 0 0 0 0 -8 4 0 0 0 0 0 4 0 0 -12 -8 8 0 0 8 -16 -8 16 0 0 -8 0 8 8 -12 -8 -4 0 0 -4 0 0 -4 0 -8 4 0 12 4 -12 -4 2 0 4 0 -4 0 -4 0 2 -8 -4 8 0 0 0 0 -4 16 0 12 8 0 0 0 12 2 4 4 8 -8 -4 4 0 -12 12 0 0 -8 -2 0 0 -2 -4 8 4 0 3 8 4 0 0 -2 0 8 -8 -6 -8 -3 -4 -8 0 0 4 0 0 4 -16 0 0 -2 -8 8 4 -4 0 0 0 0 4 8 0 2 0 0 0 0 -4 -8 -4 6 0 -4 4 0 -4 8 0 4 6 0 -1 -6 1 +1 -7 0 6 0 12 0 0 4 -12 0 -12 6 -12 0 12 -4 12 0 -6 -3 0 0 12 0 0 0 -24 -24 0 -6 0 0 0 -12 0 6 24 0 12 -12 0 -12 -12 -24 -12 0 0 0 0 0 12 6 0 -6 24 0 3 -12 6 0 12 0 0 0 0 12 6 -12 -12 0 0 12 -24 0 0 0 24 0 12 12 24 24 -12 -4 0 0 12 0 0 12 0 0 0 -6 0 -24 0 4 -12 24 12 0 12 -24 -24 0 24 0 -24 0 0 0 0 0 12 -12 0 -12 -12 24 12 0 -6 0 12 0 -12 0 0 -12 0 24 0 -24 0 0 -12 0 0 0 0 0 12 24 -24 0 0 0 -12 0 0 24 0 -24 0 -24 0 24 0 12 -12 -12 0 0 0 -12 0 0 -12 -24 0 0 0 -12 -4 12 4 -6 0 12 0 0 12 12 0 -6 24 12 -24 0 0 0 0 -12 24 24 0 0 12 0 0 12 6 12 12 -12 12 0 0 0 12 -12 0 0 0 6 -24 0 -6 -12 0 0 -12 3 0 -12 24 0 6 0 -24 24 -6 0 -3 -12 0 -24 0 0 0 12 0 -24 -4 0 -6 12 -12 0 0 0 0 0 0 12 0 24 6 4 0 0 0 -12 -12 0 6 0 0 12 -12 0 12 0 0 6 0 -1 -6 1 +1 -9 8 6 4 16 -24 -4 12 -12 4 4 -6 -12 -24 -4 -4 -12 8 -6 1 16 -24 -12 16 4 -4 16 -8 8 2 8 4 -12 -12 8 2 16 8 8 8 16 -4 -4 -8 -4 4 16 -8 -8 8 -4 2 8 2 16 -8 1 8 -2 -8 -4 -4 16 -8 8 -4 2 -4 -4 -4 -8 -4 16 8 -8 8 -8 16 8 -4 -8 16 0 0 0 0 0 0 0 0 0 0 -8 -2 0 0 0 0 -4 0 -4 0 -4 0 -8 0 -8 -4 -8 -4 0 0 -8 0 -4 -4 0 0 -4 0 -4 -8 -2 -8 -4 -8 -4 0 -8 -4 -8 0 0 0 0 0 0 8 0 8 0 0 4 0 8 4 8 0 4 8 0 0 0 0 8 0 0 0 0 0 4 0 0 0 0 4 0 0 4 0 0 0 0 4 0 4 0 2 8 4 0 4 4 4 8 2 8 0 8 0 -8 8 8 4 -16 8 4 8 4 8 8 4 -2 4 4 -8 -8 -8 -8 -4 4 4 -8 -4 -16 2 -16 8 -2 4 -16 4 4 -1 -16 4 -16 8 2 -8 8 8 6 -16 -1 12 -16 -16 -8 4 -8 12 12 -16 4 24 -2 -8 -8 -8 -8 -4 24 -8 -4 12 -16 -16 -2 4 24 -8 24 12 -16 4 6 -4 -16 12 12 12 -16 -4 -16 10 -8 -1 10 -1 +1 -9 8 16 2 8 -16 0 -8 0 -2 -8 -8 -8 0 -16 0 0 -8 8 3 16 0 8 0 -4 0 16 16 -8 2 8 4 0 8 0 2 0 0 -8 -8 0 -8 16 16 0 4 -16 16 0 8 -16 -2 -8 -2 -16 16 -3 8 0 0 16 0 0 0 0 0 -4 0 0 0 -16 -8 0 0 0 8 0 0 8 0 16 0 -4 -4 8 0 8 -4 -32 -4 0 0 0 0 -16 -16 -16 -4 -16 -16 -16 0 0 0 -16 0 -16 0 0 0 8 4 0 8 8 8 -4 8 0 0 0 -16 0 0 0 0 0 8 16 16 -16 0 0 0 -16 0 4 0 0 0 16 0 -8 0 0 0 0 0 0 0 16 16 16 16 -16 0 0 0 0 -8 -16 -8 -8 -4 -8 0 4 0 -8 0 0 -8 -8 16 4 16 4 0 16 0 4 0 0 0 16 0 16 4 16 32 8 0 0 8 16 0 0 0 0 0 16 16 2 0 8 -8 -8 -8 -8 -4 -16 -16 0 4 0 0 0 -16 2 0 16 0 0 3 0 0 0 -16 0 0 -16 -16 -8 -16 -3 -8 0 0 0 0 -8 0 0 -16 0 0 -2 8 8 8 8 4 -16 0 -4 -8 0 0 -2 0 0 8 16 8 8 0 8 2 8 8 0 0 -8 -2 -8 -8 -8 1 8 -1 +1 -9 4 16 6 8 0 0 -8 0 -6 -8 -8 0 -32 -4 0 0 8 8 3 16 32 0 -16 12 0 16 -16 8 -2 -8 -4 0 0 8 -2 -16 8 8 8 -16 0 -16 0 16 -12 -16 0 0 -8 -16 2 8 2 -16 0 -3 -8 8 32 -16 0 16 32 -8 0 12 0 16 0 0 0 16 -8 -32 -8 0 16 -8 16 0 16 -4 4 8 -24 8 -4 16 -4 -24 -16 -32 -8 16 16 16 4 16 16 16 -16 -16 -16 0 -16 0 0 0 0 8 12 32 4 0 0 -4 8 -16 -16 -16 0 -8 -32 0 0 0 4 0 16 0 -16 -16 -16 -16 -16 4 32 24 32 16 16 0 16 0 0 0 16 0 -32 -16 -16 -16 -16 0 16 16 16 16 -8 -16 -8 -8 -12 -4 16 4 24 0 16 16 -8 -4 -16 -4 -16 -4 8 0 16 4 0 0 16 0 8 0 4 0 -16 -8 -32 -32 0 16 0 0 0 0 32 0 16 -2 -16 0 8 8 8 8 12 16 16 8 -4 -16 -8 -16 0 -2 -16 16 0 0 3 -16 -16 -16 0 -8 8 0 0 -8 -16 -3 0 16 16 -8 0 8 0 0 -16 0 -32 2 -8 -8 -8 -8 -12 0 -8 4 0 16 16 2 0 32 4 0 0 8 0 8 6 8 0 0 0 -8 -6 -8 -8 -4 1 8 -1 +1 -9 4 16 2 12 -8 -4 -8 -8 -2 -16 0 -8 -8 -4 0 8 0 0 -1 0 8 8 0 0 4 -8 0 0 -2 0 0 4 0 0 2 8 0 4 4 16 0 0 0 -8 0 0 8 8 0 8 2 0 -2 8 -8 1 -4 -4 8 0 -4 0 -8 0 8 4 0 0 4 8 8 -8 0 8 0 0 -16 -4 8 0 8 0 0 -8 -8 -4 4 0 0 8 -16 8 4 0 -8 0 0 0 -8 0 0 8 -8 0 -16 0 4 0 -4 -8 -4 -8 -4 0 -8 -4 -4 -8 -8 0 -8 -4 -8 0 -8 -8 -4 -8 -8 8 8 0 8 0 0 0 -8 -8 8 0 0 0 -8 0 4 8 0 8 8 0 8 0 8 8 -8 0 8 16 4 8 4 8 4 4 8 4 8 8 8 16 8 4 0 0 0 0 -4 -8 -8 -4 -4 0 0 8 4 0 0 0 0 0 8 -8 0 -8 0 -4 -8 -8 -8 -8 -8 -2 -8 -8 4 4 0 0 0 0 0 0 0 16 4 8 8 2 8 0 4 0 -1 0 0 -8 -8 -4 0 0 0 0 0 1 0 0 8 0 -4 0 -8 -4 8 0 -8 2 -4 -4 0 0 0 -8 0 0 -8 -16 -8 -2 0 8 4 8 8 12 4 0 2 8 0 8 4 -12 -2 -8 -8 -4 1 8 -1 +1 -11 12 12 6 24 -48 -8 16 -24 6 0 -12 -24 -48 -12 -8 -24 24 -12 3 48 -48 -24 48 12 -8 48 0 24 6 24 12 -24 -24 24 6 48 24 24 24 48 -24 -24 -48 -24 12 48 -48 -48 24 -24 6 24 6 48 -48 3 24 -12 -48 -24 -24 48 -48 24 -24 0 -24 -24 -24 -48 -24 48 24 -48 24 -48 48 24 -24 -48 48 12 4 24 24 24 12 48 12 24 48 -48 -12 48 48 48 4 -24 48 -24 48 -24 48 -48 48 -48 -24 -48 -24 24 12 -48 12 -24 -24 12 24 -24 48 -24 -48 -12 -48 -24 -48 -24 12 -48 -24 -48 48 16 48 48 48 12 -48 24 -48 48 16 -24 48 -48 -24 -48 48 -24 -48 48 48 48 48 -48 48 48 48 48 24 -24 24 24 12 12 -24 12 24 -24 48 48 24 12 -24 4 -24 4 -12 -48 -24 12 -24 -24 -24 -48 -12 -48 12 -48 48 24 -48 -48 -24 48 -48 -24 -48 -24 -48 -48 -24 6 -24 -24 24 24 24 24 12 -24 -24 24 12 48 -12 48 -48 6 -24 48 -24 -24 3 48 -24 48 -48 -12 24 -48 -48 -12 48 3 -24 48 48 24 -8 24 -24 -24 48 -8 -48 6 24 24 24 24 12 -48 24 12 -24 48 48 6 -8 -48 12 -48 -24 24 -8 -12 6 24 -24 -24 -24 24 6 24 -12 12 1 -12 1 +end diff --git a/demos/ppl_lcdd/examples/mit31-20.ine b/demos/ppl_lcdd/examples/mit31-20.ine new file mode 100644 index 000000000..d38798a7d --- /dev/null +++ b/demos/ppl_lcdd/examples/mit31-20.ine @@ -0,0 +1,34 @@ +begin +31 20 integer +1 -6 12 3 0 0 0 -12 -8 0 0 12 3 0 0 0 -6 0 1 0 +1 2 -1 2 -2 0 -4 4 -4 -2 0 2 0 1 -2 2 0 0 0 1 +1 0 -3 0 0 2 0 0 -2 0 4 0 0 -1 0 -2 0 2 0 -1 +1 0 1 -2 -2 0 0 0 0 2 0 2 0 1 -2 0 0 0 0 -1 +1 0 -3 2 -2 0 0 0 0 2 0 -2 0 1 2 0 0 0 0 -1 +1 -2 -1 0 0 2 0 0 2 0 0 0 0 -1 0 0 0 -2 0 1 +1 -2 -5 2 2 -4 4 4 0 2 -8 2 0 1 2 2 0 -4 0 1 +1 -2 3 -2 -2 0 4 4 -4 -2 0 -2 0 1 2 -2 0 0 0 1 +1 -2 -1 2 -2 0 4 -4 4 -2 0 2 0 1 -2 -2 0 0 0 1 +1 -4 1 2 2 -4 0 0 4 -2 0 -2 0 1 -2 0 0 4 0 -1 +1 -4 5 0 0 2 0 0 -2 0 -4 0 0 -1 0 2 0 2 0 -1 +1 -6 11 2 2 -4 -4 -4 -8 2 8 2 0 1 2 -2 0 -4 0 1 +1 6 12 3 0 0 0 12 8 0 0 12 3 0 0 0 6 0 1 0 +1 4 4 1 0 0 0 0 0 0 0 -4 -1 0 0 0 -4 0 -1 0 +1 2 0 -1 0 0 0 -4 0 0 0 0 -1 0 0 0 2 0 1 0 +1 2 -4 3 0 0 0 4 -8 0 0 -4 3 0 0 0 2 0 1 0 +1 0 -4 1 0 0 0 0 0 0 0 4 -1 0 0 0 0 0 -1 0 +1 0 0 -3 0 0 0 0 0 0 0 0 3 0 0 0 0 0 -1 0 +1 -2 -4 3 0 0 0 -4 8 0 0 -4 3 0 0 0 -2 0 1 0 +1 -2 0 -1 0 0 0 4 0 0 0 0 -1 0 0 0 -2 0 1 0 +1 -4 4 1 0 0 0 0 0 0 0 -4 -1 0 0 0 4 0 -1 0 +1 6 11 2 2 4 4 4 8 2 8 2 0 1 2 2 0 4 0 1 +1 4 5 0 0 -2 0 0 2 0 -4 0 0 -1 0 -2 0 -2 0 -1 +1 4 1 2 2 4 0 0 -4 -2 0 -2 0 1 -2 0 0 -4 0 -1 +1 2 3 -2 -2 0 -4 -4 4 -2 0 -2 0 1 2 2 0 0 0 1 +1 2 -1 0 0 -2 0 0 -2 0 0 0 0 -1 0 0 0 2 0 1 +1 2 -1 -2 2 0 4 -4 -4 2 0 -2 0 1 -2 2 0 0 0 1 +1 2 -5 2 2 4 -4 -4 0 2 -8 2 0 1 2 -2 0 4 0 1 +1 0 -3 -2 2 0 0 0 0 -2 0 2 0 1 2 0 0 0 0 -1 +1 0 -3 0 0 -2 0 0 2 0 4 0 0 -1 0 2 0 -2 0 -1 +1 -2 -1 -2 2 0 -4 4 4 2 0 -2 0 1 -2 -2 0 0 0 1 +end diff --git a/demos/ppl_lcdd/examples/mit41-16.ine b/demos/ppl_lcdd/examples/mit41-16.ine new file mode 100644 index 000000000..bb2679807 --- /dev/null +++ b/demos/ppl_lcdd/examples/mit41-16.ine @@ -0,0 +1,44 @@ +begin +41 16 rational +1 -1 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 +1 -3 2 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 0 0 0 +1 -1 0 -1 0 0 0 0 1 0 0 0 0 0 0 0 +1 -1 -2 1 0 0 0 0 1 0 0 0 0 0 0 0 +1 -3 2 1 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 +1 1 -1 -1 1 0 0 0 0 -1 0 0 0 0 0 0 +1 1 1 -1 -1 0 0 0 0 -1 0 0 0 0 0 0 +1 -1 1 -1 -1 0 0 0 0 1 0 0 0 0 0 0 +1 -1 -1 -1 1 0 0 0 0 1 0 0 0 0 0 0 +1 -1 -1 1 -1 0 0 0 0 1 0 0 0 0 0 0 +1 -3 1 1 1 0 0 0 0 -1 0 0 0 0 0 0 +1 1 -1 0 0 0 0 0 0 0 -1 0 0 0 0 0 +1 1 1 0 -2 0 0 0 0 0 -1 0 0 0 0 0 +1 -1 -1 0 0 0 0 0 0 0 1 0 0 0 0 0 +1 -1 1 0 -2 0 0 0 0 0 1 0 0 0 0 0 +1 -3 1 0 2 0 0 0 0 0 -1 0 0 0 0 0 +1 0 0 0 -2 0 0 0 0 0 0 0 1 0 0 0 +1 -2 0 0 0 2 0 0 0 0 0 0 -1 0 0 0 +1 -4 0 0 6 -4 0 0 0 0 0 0 1 0 0 0 +1 0 0 -3 0 0 0 0 0 0 0 0 0 3 0 -1 +1 -2 0 3 -4 8 0 -4 0 0 0 -4 0 3 -2 1 +1 -2 0 -1 0 0 0 4 0 0 0 0 0 -1 -2 1 +1 -4 0 1 4 0 0 0 0 0 0 -4 0 -1 4 -1 +1 -6 0 3 12 -8 0 -12 0 0 0 12 0 3 -6 1 +1 3 2 0 1 0 1 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 +1 1 -2 0 1 0 -1 0 0 0 0 0 0 0 0 0 +1 -1 -2 0 1 0 1 0 0 0 0 0 0 0 0 0 +1 3 2 1 0 0 0 0 1 0 0 0 0 0 0 0 +1 1 -2 1 0 0 0 0 -1 0 0 0 0 0 0 0 +1 3 1 1 1 0 0 0 0 1 0 0 0 0 0 0 +1 3 1 0 2 0 0 0 0 0 1 0 0 0 0 0 +1 4 0 0 6 4 0 0 0 0 0 0 1 0 0 0 +1 2 0 0 0 -2 0 0 0 0 0 0 -1 0 0 0 +1 6 0 3 12 8 0 12 0 0 0 12 0 3 6 1 +1 4 0 1 4 0 0 0 0 0 0 -4 0 -1 -4 -1 +1 2 0 -1 0 0 0 -4 0 0 0 0 0 -1 2 1 +1 2 0 3 -4 -8 0 4 0 0 0 -4 0 3 2 1 +1 0 0 1 -4 0 0 0 0 0 0 4 0 -1 0 -1 +end diff --git a/demos/ppl_lcdd/examples/mit708-9.ine b/demos/ppl_lcdd/examples/mit708-9.ine new file mode 100644 index 000000000..a30a09538 --- /dev/null +++ b/demos/ppl_lcdd/examples/mit708-9.ine @@ -0,0 +1,711 @@ +begin +708 9 rational +72 0 0 -4 -4 -2 0 0 0 +216 -2 -2 -10 -12 -6 0 0 0 +192 -4 -2 -8 -8 -8 0 0 0 +288 -12 6 8 -16 -8 0 0 0 +96 -4 2 0 -4 -4 0 0 0 +144 -5 1 -4 -6 -6 0 0 0 +288 -8 -2 -10 -12 -12 0 0 0 +96 -4 2 -4 -2 -4 0 0 0 +240 -7 -1 -10 -8 -10 0 0 0 +288 -8 -2 -12 -8 -12 0 0 0 +288 -8 -2 -8 -16 -8 0 0 0 +96 -4 2 -8 0 0 0 0 0 +0 0 6 -8 4 8 0 0 0 +0 4 6 -8 0 8 0 0 0 +24 2 2 -4 -2 2 0 0 0 +864 -24 -6 -40 -16 -32 0 0 0 +24 0 0 -2 -2 2 0 0 0 +0 4 10 -16 0 24 0 0 0 +0 1 1 -4 0 12 0 0 0 +0 0 6 -16 8 40 0 0 0 +96 -4 2 -16 16 32 0 0 0 +288 -8 -2 -16 0 0 0 0 0 +96 -4 2 8 -8 8 0 0 0 +288 -8 -2 8 -24 24 0 0 0 +0 0 2 -8 8 24 0 0 0 +96 -1 -1 -4 -8 8 0 0 0 +576 -12 -6 -16 -40 16 0 0 0 +192 -4 -2 0 -16 16 0 0 0 +576 -8 -6 -24 -32 -16 0 0 0 +576 -12 -6 -20 -32 -16 0 0 0 +960 -16 -10 -40 -56 -16 0 0 0 +160 0 0 -7 -7 -6 -1 0 -1 +480 -4 -4 -21 -21 -18 -1 0 -3 +192 -4 -4 -12 -4 -8 4 2 -4 +640 -16 -8 -28 -28 -24 4 2 -4 +640 -8 -6 -28 -28 -24 0 0 -4 +192 -8 0 -8 -8 -8 4 2 0 +384 -12 -4 -16 -16 -16 4 2 0 +960 -20 -12 -42 -42 -36 4 2 -6 +240 -9 -1 -11 -9 -10 3 2 -1 +0 2 2 4 0 0 -4 -2 0 +640 -22 -4 -24 -28 -24 8 4 -4 +1920 -60 -20 -76 -84 -72 20 10 -12 +1920 -32 -22 -84 -84 -72 4 2 -12 +960 -28 -10 -44 -36 -40 8 4 -4 +1152 -36 -12 -52 -44 -48 12 6 -4 +720 -23 -7 -33 -27 -30 7 4 -3 +1920 -48 -24 -88 -72 -80 12 6 -8 +3456 -96 -40 -160 -128 -144 28 14 -16 +576 -15 -7 -26 -20 -24 4 2 -4 +384 -12 -4 -20 -12 -16 4 2 0 +336 -11 -3 -17 -11 -14 3 2 -1 +192 -8 0 -12 -4 -8 4 2 0 +0 0 0 -4 4 0 4 2 0 +0 0 2 -8 8 0 8 4 -2 +192 -12 12 -28 12 -8 20 10 -4 +192 -12 12 -20 4 -8 12 6 -2 +1920 -48 -24 -92 -60 -80 12 6 -4 +576 -15 -7 -28 -18 -24 4 2 -2 +1536 -42 -18 -76 -40 -64 12 6 -8 +384 -12 -4 -20 4 -16 4 2 -4 +1920 -60 -20 -102 18 -76 14 10 -18 +1920 -60 -20 -102 -46 -76 14 10 -2 +672 -22 -6 -37 -17 -26 5 4 -1 +640 -22 -4 -36 -16 -24 4 4 0 +960 -40 0 -64 -16 -32 8 10 0 +64 -4 4 -8 0 0 0 2 0 +0 0 8 -6 2 4 -2 2 0 +0 8 18 -8 0 8 -8 2 0 +64 36 60 -28 -4 24 -28 6 -4 +192 28 36 -20 -12 8 -20 2 -4 +96 4 4 -5 -5 -2 -3 0 -1 +64 4 6 -4 -4 0 -4 0 0 +96 0 0 -5 -5 -2 -1 0 -1 +192 -6 0 -8 12 -8 0 0 -4 +960 -30 -8 -48 -20 -40 8 4 -4 +960 -32 -8 -52 -20 -40 12 6 -4 +960 -32 -8 -52 44 -40 12 6 -20 +960 -30 -8 -48 12 -40 8 4 -12 +576 -16 -6 -28 -12 -24 4 2 -4 +208 -8 0 -8 -8 -8 4 2 -2 +160 -7 1 -5 -7 -6 3 2 -1 +192 -12 12 0 -8 -8 8 6 0 +160 -9 7 -1 -7 -6 5 4 -1 +640 -20 -4 -20 -28 -24 4 2 -4 +96 -5 3 -2 -4 -4 2 2 0 +480 -18 -2 -17 -21 -18 7 4 -3 +528 -19 -3 -20 -22 -20 8 4 -4 +1152 -36 -4 -32 -40 -48 0 2 -8 +1152 -36 -12 -48 -40 -48 8 6 -8 +192 -8 0 -4 -4 -8 4 2 -4 +192 -6 0 0 -4 -8 0 0 -4 +384 -12 -4 -8 -8 -16 4 2 -8 +1920 -48 -24 -48 -40 -80 12 6 -40 +384 -16 2 -20 -12 -16 4 4 0 +576 -24 0 -32 -16 -24 8 6 0 +432 -17 -1 -23 -13 -18 5 4 -1 +576 -28 12 -36 -12 -24 12 10 -4 +960 -52 36 -92 12 -40 52 26 -12 +0 0 4 -14 10 4 6 6 -2 +2688 -72 -32 -120 -104 -112 16 10 -8 +0 0 8 -20 12 56 -12 2 -4 +64 -4 4 -16 8 24 -4 2 0 +192 -8 0 -16 0 0 0 2 0 +64 8 16 -20 -4 24 -12 2 -4 +0 2 4 -4 0 8 -4 0 0 +288 -13 3 -12 -10 -12 6 4 -2 +336 -14 2 -15 -11 -14 7 4 -3 +96 3 1 -8 -6 4 0 0 -2 +192 12 0 -20 -12 8 4 2 -4 +0 4 8 -6 2 4 -2 2 -2 +192 -12 12 -28 28 -8 20 10 -12 +0 0 0 -4 16 0 4 2 -6 +0 0 0 -4 40 0 4 2 -12 +192 -8 0 -12 44 -8 4 2 -12 +0 0 2 0 32 0 0 0 -8 +192 -12 12 -20 300 -8 12 6 -76 +960 -40 0 -64 208 -32 8 10 -56 +2112 -72 -16 -120 120 -80 16 14 -48 +512 -16 -4 -26 6 -20 2 2 -6 +512 -16 -4 -26 -10 -20 2 2 -2 +448 -16 0 -24 -8 -16 0 2 0 +448 24 8 -68 -20 56 12 6 -20 +192 8 2 -24 -8 16 4 2 -8 +192 16 0 -36 -4 24 12 6 -12 +448 -13 -5 -23 -13 -18 3 2 -1 +0 2 -2 -4 4 0 4 2 -2 +0 0 0 -22 22 4 14 10 0 +0 0 0 -22 82 4 14 10 -30 +0 0 4 -14 34 4 6 6 -14 +480 -21 3 -20 -18 -20 8 6 -2 +480 -19 1 -16 -18 -20 4 4 -2 +1344 -52 0 -44 -52 -56 12 10 -4 +576 -22 0 -12 -24 -24 4 4 0 +768 -28 -4 -24 -32 -32 8 6 0 +768 -28 -4 40 -32 -32 -8 6 0 +576 -22 0 20 -24 -24 -4 4 0 +320 -12 0 10 -14 -12 -2 2 -2 +160 -7 1 3 -7 -6 1 2 -1 +0 2 2 -12 8 16 4 2 -4 +0 22 14 -52 16 80 12 6 -16 +192 32 16 -68 -4 88 12 6 -20 +128 18 10 -36 -8 48 4 2 -8 +64 8 8 -20 -4 24 -4 2 -4 +0 4 2 -4 4 8 0 0 -4 +0 4 8 -14 2 20 -4 2 -2 +0 1 7 -11 3 14 -3 2 -1 +0 0 8 -12 4 16 -4 2 0 +0 4 12 -20 4 32 -8 2 0 +0 0 24 -44 20 64 -16 6 0 +0 0 4 -10 6 12 -2 2 -2 +0 14 22 -44 8 64 -12 6 -8 +0 6 10 -18 2 28 -6 2 -2 +192 28 36 -52 -12 72 -36 2 -12 +96 3 3 -8 -6 4 -4 0 -2 +0 0 12 -10 6 12 -6 2 -2 +48 0 0 -3 -3 2 -1 0 -1 +192 16 24 -44 -12 72 -28 2 -12 +0 4 12 -14 2 20 -8 2 -2 +0 1 9 -11 3 14 -5 2 -1 +192 32 40 -68 -4 88 -36 6 -20 +16 1 1 -3 -1 6 -1 0 -1 +64 4 6 -12 -4 24 -8 0 -4 +0 4 12 -20 4 40 -12 2 -4 +0 0 10 -16 8 24 -8 2 0 +192 -12 12 -40 16 32 -8 6 0 +0 0 24 -34 14 44 -14 6 -2 +64 -4 4 -16 8 16 0 2 0 +0 0 4 -14 10 20 2 2 -2 +0 0 2 -2 2 4 -2 0 0 +0 0 24 -44 20 72 -20 6 -4 +0 6 10 -16 4 24 -8 2 -4 +0 1 1 -1 1 2 -1 0 -1 +0 6 18 -16 4 24 -12 2 -4 +384 0 -2 -20 -20 -8 0 0 -4 +384 -12 -4 -12 -20 -8 4 2 -4 +640 -16 -8 -20 -36 -8 4 2 -4 +1280 -6 -14 -60 -80 0 -4 2 0 +1024 -2 -10 -52 -64 0 -4 2 0 +1024 -12 -12 -48 -56 -16 0 2 -8 +384 8 -4 -24 -24 0 0 2 0 +256 4 -4 -16 -16 0 2 2 0 +1024 0 -16 -56 -56 -16 8 6 -8 +960 0 -16 -52 -52 -16 12 6 -8 +6400 -96 -72 -280 -280 -240 8 6 -40 +960 -16 -12 -42 -42 -36 2 2 -6 +3840 -48 -40 -168 -168 -144 0 2 -24 +4032 -72 -48 -178 -178 -148 10 6 -26 +1152 -20 -14 -52 -52 -40 4 2 -8 +0 2 -2 0 0 0 2 2 0 +192 -6 0 12 -8 -8 -4 0 0 +192 -4 -4 -8 -8 -8 4 2 0 +6912 -176 -88 -288 -288 -288 40 26 0 +1920 -48 -24 -80 -80 -80 10 6 0 +576 -12 -10 -24 -24 -24 6 4 0 +5760 -168 -64 -264 -216 -240 48 26 -24 +960 -48 24 -36 -36 -40 20 18 -4 +960 -44 12 -28 -36 -40 12 14 -4 +192 -12 12 4 -4 -8 4 6 -4 +960 -56 48 -20 -36 -40 28 26 -4 +640 -20 0 -4 -28 -24 -2 0 -4 +576 -24 0 -28 -12 -24 4 6 -4 +0 0 0 4 8 0 -2 0 -4 +192 -6 0 -4 12 -8 -4 0 -6 +960 -30 0 -32 -12 -40 -8 0 -6 +960 -32 0 -36 -20 -40 -4 2 -4 +640 -20 0 -28 -4 -24 -4 0 -2 +0 0 20 -4 12 8 -12 0 -2 +16 0 0 -1 -1 6 -1 0 -1 +1536 -62 0 -80 -44 -64 16 14 0 +1344 -42 -12 -64 -44 -56 12 6 -4 +2880 -90 -28 -128 -108 -120 28 14 -12 +960 -30 0 -12 -32 -40 -6 0 -8 +768 -30 0 -24 -28 -32 6 6 -4 +576 -24 0 -20 -20 -24 8 6 -4 +576 -24 0 -15 -23 -22 9 6 -5 +192 -8 0 12 -4 -8 -4 2 -4 +0 0 0 -8 8 8 4 2 0 +192 -12 12 -76 76 88 20 10 -12 +0 0 6 -28 28 40 8 4 -6 +576 -15 -7 -29 -15 -22 3 2 -1 +448 -13 -5 -25 -7 -14 3 2 -1 +512 -14 -6 -26 -14 -20 4 2 -2 +448 -13 -5 -23 -5 -18 3 2 -3 +384 -6 -4 -16 -20 -8 0 0 -4 +0 8 8 -24 8 48 0 2 -8 +96 -1 -1 0 -6 36 -4 0 -6 +192 -4 -4 12 -12 72 -4 2 -12 +0 0 0 -6 6 4 2 2 0 +384 -12 -4 -22 -6 -12 2 2 0 +1216 -31 -15 -59 -37 -50 7 4 -3 +960 -20 -16 -42 -42 -36 10 6 -6 +2304 -72 -20 -112 -64 -96 16 10 -8 +1344 -42 -12 -64 -36 -56 8 6 -6 +1152 -36 -12 -56 -32 -48 8 6 -4 +384 -12 -4 -16 -8 -16 0 2 0 +192 -6 0 -4 0 -8 -4 0 0 +912 -26 -10 -43 -31 -38 5 4 -1 +960 -27 -11 -46 -32 -40 6 4 -2 +1344 -39 -15 -66 -44 -56 10 6 -4 +4224 -120 -48 -200 -152 -176 32 18 -16 +4992 -132 -60 -240 -168 -208 32 18 -16 +3456 -96 -40 -168 -104 -144 24 14 -16 +2688 -76 -28 -128 -72 -112 16 10 -16 +960 -29 -9 -46 -28 -40 6 4 -4 +0 2 -2 12 0 0 -4 2 0 +960 -20 -20 134 -42 -36 -38 10 -6 +1920 -60 -20 148 -84 -72 -36 10 -12 +1920 -68 -12 100 -84 -72 -20 14 -12 +320 -12 0 -6 -14 -12 2 2 -2 +960 -40 0 -26 -42 -36 18 10 -6 +576 -12 -8 -22 -30 -12 2 2 -6 +576 -12 -10 -8 -24 -24 -2 4 0 +2304 -56 -32 -80 -96 -96 8 10 0 +960 -20 -20 -38 -42 -36 20 10 -6 +192 -6 0 -4 -4 -8 -2 0 -2 +0 0 0 1 1 2 -1 0 -1 +192 -8 0 -4 28 -8 -4 2 -12 +192 -8 0 -4 60 -8 -4 2 -20 +0 0 2 -4 4 16 -4 0 0 +1792 -28 -20 -80 -88 -48 0 2 -16 +384 -3 -3 -18 -20 -8 -2 0 -4 +8064 -204 -100 -384 -264 -336 48 26 -24 +1920 -48 -24 -88 -56 -80 8 6 -8 +384 -12 -4 -16 8 -16 0 2 -8 +192 -12 12 -12 -4 -8 4 6 0 +192 -12 12 -12 12 -8 4 6 -8 +192 -12 12 4 60 -8 -12 6 -28 +0 0 0 -8 8 16 0 2 0 +192 -4 -2 -4 -4 -8 0 0 -4 +192 -4 -4 16 -12 0 -4 2 0 +768 -20 -12 40 -48 0 -8 6 0 +512 -14 -6 20 -32 0 -4 2 0 +1344 -60 12 -68 -44 -56 20 18 -4 +2112 -92 12 -116 -60 -88 28 26 -4 +960 -44 12 -52 -28 -40 12 14 0 +1920 -48 -24 -72 -56 -80 8 6 -24 +96 -5 3 -4 -2 -4 0 2 0 +0 0 2 -8 24 0 8 4 -10 +0 4 4 -16 8 112 -16 2 -8 +384 -12 -4 -24 0 0 0 2 0 +0 2 -2 -4 16 0 4 2 -8 +64 -4 4 -20 20 24 4 2 -2 +128 -6 2 -20 16 16 4 2 -2 +192 -8 0 -20 12 8 4 2 0 +96 -4 0 -14 10 8 4 2 -2 +448 -20 4 -76 60 56 20 10 -12 +192 -4 -2 -4 -12 8 0 0 -4 +384 -12 -4 0 -24 16 4 2 -8 +192 -8 0 4 -12 8 4 2 -4 +192 12 20 -20 -12 8 -12 2 -4 +192 12 4 -20 -12 8 -4 2 -4 +192 76 20 -84 -12 72 -4 18 -12 +64 20 12 -28 -4 24 -4 6 -4 +64 20 44 -28 -4 24 -20 6 -4 +0 12 36 -22 2 20 -14 6 -2 +0 4 10 -8 0 8 -4 2 0 +0 4 6 -8 0 8 -2 2 0 +0 4 0 -6 2 4 2 2 -2 +0 0 4 -6 2 4 0 2 0 +192 4 2 -12 -12 0 -4 0 0 +0 8 8 -16 0 24 -4 2 0 +64 20 4 -28 -4 24 4 6 -4 +0 20 4 -24 0 24 4 6 0 +0 8 0 -8 0 8 4 2 0 +0 5 -1 -6 2 4 4 2 -2 +64 24 0 -28 -4 24 12 6 -4 +96 46 -10 -42 -6 36 18 14 -6 +32 18 -6 -14 -2 12 10 6 -2 +192 112 -40 -84 -12 72 76 38 -12 +0 6 -2 -4 0 4 4 2 0 +0 0 0 0 16 0 0 2 -8 +192 -12 12 4 28 -8 4 6 -20 +960 -40 0 38 -42 -36 2 10 -6 +960 -40 8 -20 -36 -40 4 10 -4 +192 -8 2 0 -8 -8 0 2 0 +384 -18 6 -4 -16 -16 4 6 0 +192 -8 0 8 -8 -8 0 2 0 +320 -20 20 10 -14 -12 14 10 -2 +576 -8 -6 -20 -36 24 -4 0 -12 +96 -1 -1 -4 -6 4 0 0 -2 +192 16 -8 -20 -12 8 12 6 -4 +960 12 -20 -60 -52 -8 20 10 -12 +576 -12 -8 -26 -26 -20 4 2 -4 +1920 -48 -24 -68 -100 -40 12 6 -20 +640 -16 -8 -32 -16 -24 4 2 0 +384 -12 -4 -24 0 -8 4 2 0 +192 -8 0 -36 44 24 12 6 -12 +192 -8 0 -36 76 24 12 6 -20 +128 -6 2 -20 40 16 4 2 -8 +64 -4 4 -20 60 24 4 2 -12 +0 0 2 -4 20 8 0 0 -4 +624 -21 -5 -34 -16 -24 4 4 0 +400 -12 -4 -20 -12 -16 2 2 0 +192 1 -1 -10 -12 0 -2 0 0 +640 -16 -8 -8 -40 48 0 2 -16 +1920 -48 -24 -24 -120 80 8 6 -40 +96 8 8 -22 -6 36 -10 2 -6 +0 8 8 -16 0 32 -8 2 0 +2112 -72 -16 -120 -40 -80 16 14 -8 +3456 -100 -36 -160 -120 -144 24 14 -16 +1152 -36 -12 -59 -27 -46 7 6 -3 +1920 -48 -24 -96 -32 -64 8 6 0 +640 -16 -8 -32 0 0 0 2 0 +240 -2 -2 -11 -15 10 -3 0 -5 +960 -20 -12 -32 -56 16 0 2 -16 +1920 -48 -24 216 -80 -80 -64 6 0 +384 -12 -4 32 -16 -16 -8 2 0 +320 -10 0 18 -14 -12 -6 0 -2 +192 -6 0 20 -4 -8 -8 0 -4 +320 -10 0 -14 18 -12 -2 0 -6 +32 -1 1 -4 6 20 -4 0 -2 +192 -8 0 -16 32 0 0 2 -8 +192 -8 0 -20 28 8 4 2 -4 +0 0 0 -8 28 8 4 2 -8 +0 0 0 -6 34 4 2 2 -10 +384 -12 -4 -22 2 -12 2 2 -2 +192 -12 12 28 -12 8 12 6 -4 +576 -24 0 -8 -24 -16 8 6 -8 +192 -8 0 -2 -10 -4 4 2 -2 +768 0 -8 -40 -40 -16 0 2 -8 +3840 0 -56 -200 -200 -80 24 18 -40 +384 0 -6 -20 -20 -8 4 2 -4 +768 -12 -10 -36 -36 -24 4 2 -6 +192 -8 0 -20 28 88 -12 2 -4 +64 -4 4 -20 52 200 -28 2 -12 +0 0 8 -24 72 336 -48 2 -24 +0 1 1 -2 4 40 -6 0 -4 +0 0 2 -4 12 48 -8 0 -4 +1792 -4 -20 -88 -112 0 -8 6 0 +768 4 -12 -40 -48 0 0 6 0 +192 0 -4 -10 -10 -4 2 2 -2 +96 -5 3 1 -5 -2 3 2 -1 +96 6 -2 -10 -6 4 2 2 -2 +528 9 -11 -35 -29 -2 9 6 -7 +480 38 -18 -50 -30 20 22 14 -10 +640 12 -12 -40 -40 0 8 6 0 +48 -3 3 -14 8 24 -4 2 0 +384 2 -6 -20 -24 144 4 2 -24 +192 -4 -2 -6 -10 -4 0 0 -2 +1344 -24 -16 -56 -72 -16 0 2 -16 +2880 -60 -36 -112 -152 -56 12 6 -28 +1344 -24 -16 -56 -72 -24 4 2 -12 +384 -6 -6 -12 -24 0 0 2 0 +64 -4 4 4 -4 0 4 2 0 +384 -12 -4 48 -8 -16 -16 2 -8 +192 -6 0 12 -4 -8 -6 0 -4 +576 -18 0 -23 -3 -22 -5 0 -3 +0 0 0 -22 194 4 14 10 -58 +64 -4 4 -8 96 0 0 2 -24 +0 0 10 -2 154 4 -6 0 -38 +384 -12 -4 16 -24 80 0 2 -16 +64 -2 0 8 -4 24 0 0 -4 +384 -12 -4 48 -24 144 0 2 -24 +192 -8 0 4 -12 0 4 2 0 +384 -12 -4 16 -24 16 0 2 -8 +0 0 6 1 9 2 -5 0 -3 +0 0 2 4 16 0 -4 0 -6 +1344 -56 8 -60 -44 -56 12 14 -4 +192 -4 -2 32 -4 -8 -12 0 -4 +1920 -48 -24 296 -40 -80 -104 6 -40 +192 -4 -2 24 -8 -8 -8 0 0 +960 -20 -10 114 -42 -36 -38 0 -6 +640 -16 -8 68 -28 -24 -20 2 -4 +0 10 2 -12 0 160 -20 2 0 +0 3 -1 -6 4 40 -2 2 -4 +0 8 -8 -24 24 80 8 10 -8 +0 116 -36 -80 0 80 64 38 0 +0 136 -56 -120 40 80 104 58 -40 +0 14 -6 -12 4 8 12 6 -4 +0 10 -6 -12 8 16 12 6 -8 +192 8 -8 -20 -4 88 12 6 -20 +960 0 -16 -52 -52 248 12 6 -52 +0 0 2 -4 20 80 -12 0 -4 +64 -2 0 -4 8 24 -4 0 0 +1920 -40 -20 -68 -84 -72 -2 0 -12 +576 -12 -6 -19 -23 -22 -1 0 -5 +1920 -48 -24 -72 -72 -80 4 6 -8 +192 -4 -4 4 -4 -8 -4 2 -4 +1920 -68 -12 -60 -84 -72 20 14 -12 +0 1 1 -2 4 24 -4 0 -4 +0 0 2 -4 12 32 -6 0 -4 +64 -4 4 -20 52 72 -12 2 -12 +192 -8 0 -20 28 24 -4 2 -4 +448 -16 0 -36 28 56 -12 2 -4 +288 -8 -4 -2 -18 12 2 2 -6 +192 -4 -4 12 -12 8 -4 2 -4 +192 -12 12 14 -10 -4 10 6 -2 +192 -8 0 36 -12 72 4 2 -12 +1344 -24 -16 -36 -84 120 -12 2 -36 +960 -20 -12 -20 -60 72 -4 2 -24 +640 -16 -8 -20 -36 0 4 2 -8 +576 -12 -8 -18 -34 -4 2 2 -2 +192 -4 -4 -4 -12 0 4 2 0 +192 -4 -4 -6 -10 -4 4 2 -2 +192 -4 -4 36 -4 -8 -12 2 -4 +192 -4 -4 28 -8 -8 -8 2 0 +192 -4 -4 4 -8 -8 -2 2 0 +960 -20 -20 22 -42 -36 -10 10 -6 +384 -12 -4 16 -8 -16 -8 2 -8 +576 -12 -6 0 -16 -24 -10 0 -8 +1920 -48 -24 -24 -56 -80 -16 6 -24 +1920 -48 -24 72 -40 -80 -48 6 -40 +192 -4 -2 8 -4 -8 -6 0 -4 +576 -12 -6 -15 -23 -22 -3 0 -5 +0 0 0 -8 24 80 -8 2 -8 +64 -4 4 -20 20 72 -12 2 -4 +192 -8 0 -20 12 24 -4 2 0 +192 -6 0 -12 8 8 -4 0 0 +0 0 0 -8 24 16 0 2 -8 +0 0 2 -4 20 16 -4 0 -4 +0 0 2 -4 12 24 -4 0 -4 +96 -4 0 -14 10 20 -2 2 -2 +64 -4 4 -20 52 40 -4 2 -12 +192 -12 12 -60 188 152 -28 6 -36 +0 0 14 -18 6 20 -6 4 0 +576 -8 -8 -20 -36 24 -4 2 -12 +640 -16 -8 24 -40 48 -8 2 -16 +192 -6 0 8 -12 8 0 0 -4 +640 -20 -4 16 -40 48 0 2 -16 +960 -20 -12 -4 -60 168 -12 2 -36 +640 -16 -8 24 -40 176 -8 2 -32 +640 -16 -8 56 -40 240 -8 2 -40 +960 -20 -12 28 -60 296 -20 2 -52 +192 -4 -2 12 -12 72 -4 0 -12 +1920 -48 -24 156 -100 -40 -44 6 -20 +384 -12 -4 20 -20 -8 -4 2 -4 +192 -8 0 6 -10 -4 2 2 -2 +0 0 0 8 4 0 -4 0 -2 +192 -12 12 4 12 -8 -12 6 -4 +192 -8 0 -4 4 -8 -4 2 0 +192 -6 0 -4 20 -8 -4 0 -8 +0 3 11 -9 1 10 -5 2 -1 +576 -12 -6 -16 -16 -24 -2 0 -8 +1920 -48 -24 -48 -112 32 8 6 -32 +640 -16 -8 -8 -40 16 0 2 -8 +1152 -12 -12 -52 -60 -24 -4 2 -12 +2880 -60 -36 -112 -152 -48 8 6 -32 +0 8 16 -36 12 120 -28 2 -12 +0 2 4 -8 4 40 -8 0 -4 +0 0 4 -16 16 48 -8 2 -4 +0 4 4 -16 8 48 -8 2 -8 +128 -6 2 -2 -6 -4 2 2 0 +160 -7 1 1 -9 -2 3 2 -1 +288 -8 -4 -2 -18 0 2 2 0 +768 -20 -12 8 -48 0 0 6 0 +0 8 0 0 0 96 -16 2 0 +192 4 -4 12 -12 72 -20 2 -12 +0 6 -2 12 0 48 -12 2 0 +0 12 -4 -8 0 96 -8 6 0 +192 16 -16 -12 -12 72 4 14 -12 +0 14 -10 -4 0 48 4 10 0 +640 -16 -8 32 -40 0 -8 2 0 +1920 -48 -24 104 -120 80 -24 6 -40 +1920 -48 -24 116 -108 8 -36 6 -28 +640 -16 -8 24 -40 16 -8 2 -8 +192 -4 -2 12 -12 8 -4 0 -4 +192 -4 -2 13 -11 2 -5 0 -3 +576 -12 -6 28 -36 16 -12 0 -8 +192 -4 -2 12 -12 0 -4 0 0 +192 -4 -2 18 -10 -4 -6 0 -2 +384 -12 -4 16 -24 0 0 2 0 +384 -12 -4 0 -24 0 4 2 0 +1920 -48 -24 -56 -56 -80 -8 6 -8 +0 20 4 -24 0 288 -40 6 0 +0 2 0 4 0 8 -4 0 0 +0 10 -6 -4 0 16 4 6 0 +0 14 -6 -8 0 8 8 6 0 +0 20 -4 -16 0 16 8 6 0 +0 8 2 -8 0 8 0 2 0 +0 32 0 -32 0 32 8 10 0 +48 19 -1 -21 -3 18 5 6 -3 +1152 -18 -14 -50 -62 -20 2 2 -10 +0 2 -2 -2 2 4 2 2 -2 +192 -4 -2 4 -12 40 -4 0 -8 +192 -4 -2 4 -12 24 -4 0 -6 +128 -3 -1 2 -8 16 -2 0 -4 +64 -4 4 -20 20 40 -4 2 -4 +192 -12 12 -52 36 104 -20 6 -4 +0 0 6 -12 20 40 -8 0 -4 +384 -12 -4 -24 32 64 -8 2 0 +0 0 0 -6 18 4 2 2 -6 +0 0 0 -8 20 8 4 2 -6 +0 0 8 -24 40 208 -32 2 -16 +0 0 8 -24 40 144 -24 2 -16 +0 0 8 -24 40 112 -16 2 -16 +192 -8 0 -20 60 152 -20 2 -4 +64 -4 4 -20 84 264 -36 2 -12 +960 -16 -12 -26 -42 -36 -6 2 -6 +960 -20 -12 -34 -42 -36 0 2 -6 +960 -20 -16 -18 -42 -36 -2 6 -6 +576 -8 -8 -20 -36 88 -4 2 -20 +192 132 -60 -84 -12 72 76 58 -12 +192 20 -12 -20 -12 8 12 10 -4 +96 3 -3 -6 -6 0 2 2 0 +768 16 -16 -48 -48 0 8 10 0 +96 -1 -1 0 -6 20 -4 0 -4 +0 3 5 -10 8 72 -14 0 -8 +0 4 12 -32 24 176 -32 2 -16 +192 -12 12 -60 60 152 -28 6 -4 +192 -12 12 -76 76 184 -28 10 -12 +0 0 0 0 48 0 0 2 -16 +576 -12 -8 -12 -36 24 0 2 -12 +192 -4 -4 -4 -12 8 4 2 -4 +0 0 12 -32 32 96 -16 2 -8 +0 24 -8 -24 8 16 16 10 -8 +0 52 -28 -64 40 80 48 30 -40 +192 -12 12 20 156 -8 -28 6 -60 +192 -12 12 20 380 -8 -28 6 -116 +0 0 2 4 40 0 -4 0 -12 +0 0 6 8 24 0 -8 0 -10 +0 0 8 -36 28 152 -20 6 -4 +32 -2 2 -12 8 32 -4 2 0 +0 0 2 4 4 0 -4 0 0 +0 0 6 8 8 0 -8 0 -2 +0 0 6 1 5 2 -5 0 -1 +1024 -16 -12 -48 -48 -32 4 2 -8 +1248 -23 -15 -55 -57 -42 3 2 -9 +1344 -24 -16 -58 -66 -36 2 2 -12 +1056 -21 -13 -45 -51 -30 3 2 -9 +960 -20 -12 -40 -48 -24 4 2 -8 +0 0 8 -24 24 112 -20 2 -8 +0 4 12 -32 24 144 -24 2 -16 +0 0 8 -24 24 80 -12 2 -8 +0 8 0 -8 24 80 -8 2 -24 +0 6 -2 -4 16 48 4 2 -16 +0 14 -10 -20 16 48 20 10 -16 +0 20 -12 -32 24 80 16 14 -24 +0 14 -2 -20 8 16 12 6 -8 +0 12 -4 -16 8 16 8 6 -8 +0 2 0 0 4 8 0 0 -4 +192 4 -4 -12 -4 88 4 2 -20 +96 1 -3 -4 -6 36 0 2 -6 +192 4 -12 -4 -12 72 12 10 -12 +192 -4 -4 22 -10 -4 -6 2 -2 +1344 -28 -16 -54 -62 -44 2 2 -10 +2688 -36 -28 -120 -144 -32 -8 2 -32 +640 -8 -6 -28 -36 0 -4 0 -8 +112 -1 -1 -5 -7 2 -1 0 -1 +48 2 2 -7 -3 18 -5 0 -3 +0 1 1 -2 0 8 -2 0 0 +0 12 20 -48 24 240 -48 2 -24 +4864 -80 -56 -216 -216 -176 8 6 -32 +2304 -32 -24 -104 -104 -80 0 2 -16 +1152 -24 -14 -44 -60 -24 4 2 -12 +384 -6 -4 -12 -24 24 -4 0 -8 +1728 -28 -20 -64 -104 48 -8 2 -32 +1344 -24 -16 -36 -84 88 -12 2 -28 +192 8 -8 -12 -12 8 4 6 -4 +192 48 -32 -28 -12 72 20 30 -12 +1920 -48 -24 -44 -108 8 4 6 -28 +960 -20 -12 -20 -60 40 -4 2 -16 +1344 -28 -16 -28 -84 40 -4 2 -20 +768 -14 -8 -20 -48 24 -4 0 -12 +2112 -32 -24 -68 -132 152 -20 2 -52 +192 -4 -2 -3 -11 2 -1 0 -3 +576 -12 -6 -4 -36 16 -4 0 -8 +192 -4 -2 4 -12 16 -4 0 -4 +1728 -36 -18 -59 -75 -62 -3 0 -13 +192 4 -4 -12 -12 0 4 2 0 +96 -1 -1 -3 -5 -2 -1 0 -1 +192 0 -2 -4 -12 0 -4 0 0 +960 -12 -12 -36 -60 8 -4 2 -4 +1920 -18 -26 -76 -120 0 -4 6 0 +2688 -42 -34 -116 -144 -48 4 6 -24 +864 -17 -11 -37 -43 -22 3 2 -7 +2880 -60 -36 -118 -142 -76 10 6 -26 +192 -6 0 -10 10 -4 -2 0 -2 +192 -6 0 -10 2 -4 -2 0 0 +0 0 2 -2 26 4 -2 0 -6 +192 -12 12 -40 240 32 -8 6 -56 +480 -7 -5 -12 -30 52 -8 0 -14 +0 0 4 -16 16 80 -12 2 -4 +0 4 6 -12 4 48 -12 0 -4 +1152 -36 -12 -60 -20 -40 4 6 -4 +0 2 8 -16 12 56 -12 0 -4 +0 10 16 -32 12 120 -28 0 -12 +96 9 -1 16 -6 36 -20 0 -6 +96 1 -1 0 -6 4 -4 0 -2 +416 -10 -6 -12 -24 16 4 2 -8 +192 -4 -4 6 -10 -4 -2 2 -2 +192 -4 -4 8 -12 0 -2 2 0 +0 4 -2 -3 1 2 3 2 -1 +960 -12 -12 -44 -52 -16 4 2 -8 +576 -8 -8 -28 -28 -16 4 2 -4 +0 3 5 -9 1 10 -1 2 -1 +0 3 7 -9 1 10 -3 2 -1 +1792 -16 -24 -88 -88 -48 8 6 -16 +864 -15 -11 -39 -41 -26 3 2 -7 +672 -11 -9 -31 -33 -18 3 2 -5 +960 -16 -12 -42 -50 -20 2 2 -8 +3200 -80 -40 -154 -90 -132 18 10 -6 +1920 -48 -24 -94 -46 -76 10 6 -2 +1056 -12 -12 -50 -58 -4 -2 2 -14 +960 -12 -12 -44 -52 -8 4 2 -12 +0 0 6 -20 20 56 -8 2 -6 +192 8 8 -24 -8 16 -8 2 -8 +0 3 1 -2 4 8 -2 0 -4 +0 11 1 -2 20 40 -6 0 -20 +0 0 18 -3 13 10 -13 0 -3 +400 -6 -4 -16 -20 -8 -2 0 -4 +3648 -64 -40 -144 -176 -96 -8 2 -32 +624 -8 -6 -26 -34 -4 -4 0 -8 +576 0 -6 -28 -36 0 -4 2 0 +4608 -60 -52 -200 -240 -96 -8 6 -48 +1152 -18 -14 -48 -60 -24 0 2 -12 +1920 -34 -22 -80 -92 -56 0 2 -16 +1728 -36 -22 -74 -82 -52 8 4 -14 +1344 -28 -20 -40 -80 96 8 6 -32 +576 -12 -8 -12 -36 56 0 2 -16 +528 -13 -7 -16 -30 4 4 2 -8 +192 -12 12 -48 40 80 -16 6 -8 +192 -12 12 -48 200 80 -16 6 -48 +0 0 6 -12 52 40 -8 0 -12 +0 0 2 -3 21 10 -3 0 -5 +256 -8 0 -12 12 -8 -2 0 -4 +192 -6 0 -7 13 -6 -3 0 -5 +512 -16 0 -24 0 -16 -4 0 -2 +512 -14 -6 -4 -32 0 2 2 0 +640 -16 -8 -8 -40 0 2 2 0 +960 -20 -14 -20 -60 0 2 4 0 +960 -20 -12 -4 -60 72 -12 2 -20 +960 -20 -12 -4 -60 104 -12 2 -28 +192 -12 12 20 36 -8 -28 6 0 +0 0 2 -3 5 10 -3 0 -1 +192 28 -4 -44 -4 24 20 10 -12 +64 8 0 -12 -4 8 4 2 -2 +256 14 6 -36 -16 32 4 2 -8 +48 4 6 -10 -2 20 -8 0 -4 +16 2 4 -4 0 8 -4 0 -2 +0 12 36 -28 12 56 -28 2 -12 +0 4 4 -8 0 8 0 2 0 +64 4 8 -12 -4 8 -4 2 0 +448 12 12 -36 -28 8 -12 2 -4 +1536 -22 -16 -52 -96 56 -12 0 -28 +1792 -16 -16 -88 -88 -48 0 2 -16 +384 6 -10 -20 -24 0 4 6 0 +2304 -12 -28 -104 -144 0 -8 6 0 +3840 -48 -40 -168 -200 -80 -8 2 -40 +0 0 8 -6 10 4 -2 2 -4 +0 4 8 -6 18 4 -2 2 -10 +768 -16 -10 -16 -48 24 -2 2 -12 +2304 -56 -32 -32 -144 96 8 10 -48 +1792 -48 -24 -16 -112 0 8 10 0 +2304 -56 -32 -32 -144 0 8 10 0 +192 -6 0 -7 5 -6 -3 0 -3 +448 -14 0 -19 1 -14 -5 0 -3 +576 -18 0 -24 4 -16 -8 0 -4 +192 -6 0 10 -10 -4 -2 0 -2 +256 -8 0 12 -12 -8 -4 0 -2 +512 -16 0 0 -24 -16 -2 0 -4 +192 -6 0 2 -10 -4 0 0 -2 +576 -18 0 4 -24 -16 -4 0 -8 +448 -14 0 1 -19 -14 -3 0 -5 +576 -18 0 -3 -23 -22 -3 0 -5 +192 -6 0 5 -7 -6 -3 0 -3 +192 -6 0 13 -7 -6 -5 0 -3 +64 -4 4 20 -4 24 4 2 -4 +2304 -56 -32 -96 -96 -96 16 10 0 +768 -30 0 -32 -28 -32 8 6 0 +0 1 0 0 0 0 0 0 0 +0 0 1 0 0 0 0 0 0 +0 0 0 1 0 0 0 0 0 +0 0 0 0 1 0 0 0 0 +0 0 0 0 0 1 0 0 0 +0 0 0 0 0 0 1 0 0 +0 0 0 0 0 0 0 1 0 +0 0 0 0 0 0 0 0 1 +end diff --git a/demos/ppl_lcdd/examples/mit71-61.ine b/demos/ppl_lcdd/examples/mit71-61.ine new file mode 100644 index 000000000..dcc420d33 --- /dev/null +++ b/demos/ppl_lcdd/examples/mit71-61.ine @@ -0,0 +1,74 @@ +begin +71 61 rational +64 -384 0 192 0 0 768 0 0 -512 0 0 0 -768 0 0 0 0 0 768 0 0 0 0 0 0 0 0 0 0 0 0 0 192 0 0 0 0 0 -384 0 0 0 0 0 0 0 0 0 0 0 64 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 2 -6 6 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 6 -6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 2 -2 -2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 2 2 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 2 2 -2 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 2 6 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2 -6 -6 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 4 -8 4 -8 16 -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 -8 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 4 0 -4 -8 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 -4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 4 8 4 -8 -16 -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 8 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 8 -8 0 0 0 -24 24 0 24 -24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 8 8 0 0 0 -24 -24 0 24 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -8 -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +16 -64 0 0 0 0 96 0 0 -64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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 -6 12 3 -12 -8 3 12 -6 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 0 0 0 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 -4 4 1 0 0 -1 -4 4 -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 0 0 0 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 -2 0 -1 4 0 -1 0 -2 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 0 0 0 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 -2 -4 3 -4 8 3 -4 -2 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 0 0 0 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 -4 1 0 0 -1 4 0 -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 0 0 0 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 -3 0 0 3 0 0 -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 0 0 0 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 2 -4 3 4 -8 3 -4 2 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 0 0 0 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 2 0 -1 -4 0 -1 0 2 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 0 0 0 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 4 4 1 0 0 -1 -4 -4 -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 0 0 0 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 6 12 3 12 8 3 12 6 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 -8 -2 8 4 8 -4 -8 -8 8 2 -2 -2 10 -16 -4 12 8 -2 -8 2 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 -4 -2 4 0 0 0 0 4 -4 -2 2 -2 6 -4 0 -4 0 2 4 -2 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 -8 2 -8 4 8 4 8 -8 -8 2 2 -2 6 0 -4 4 -8 -2 8 -2 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 -4 2 -4 0 0 0 0 4 4 -2 -2 -2 2 4 0 -4 0 2 -4 2 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 -2 0 4 -8 -4 8 0 0 2 -2 -2 2 8 -4 4 -8 -2 0 2 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 -2 0 -4 0 4 0 0 0 2 -2 -2 2 0 4 -4 0 -2 0 2 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 4 -8 4 -8 0 0 2 2 -2 -2 8 -4 -4 8 -2 0 -2 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 2 0 -4 0 -4 0 0 0 2 2 -2 -2 0 4 4 0 -2 0 -2 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 -2 -4 0 0 0 0 -4 4 -2 2 -2 -2 4 0 4 0 2 -4 -2 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 4 2 4 0 0 0 0 -4 -4 -2 -2 -2 -6 -4 0 4 0 2 4 2 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 8 -2 -8 4 8 -4 -8 8 -8 2 -2 -2 -6 0 -4 -4 8 -2 8 2 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 8 2 8 4 8 4 8 8 8 2 2 -2 -10 -16 -4 -12 -8 -2 -8 -2 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 -8 -8 4 16 4 -8 -8 4 0 0 0 0 0 0 0 0 0 0 0 -8 24 8 -24 -8 -16 8 16 8 -8 0 0 4 -16 20 4 -8 -8 0 4 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 -8 -4 0 4 8 0 -4 0 0 0 0 0 0 0 0 0 0 0 -8 16 0 8 -8 0 0 -16 0 8 0 0 4 -8 -4 4 0 8 0 -4 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 -8 0 4 0 -4 0 8 -4 0 0 0 0 0 0 0 0 0 0 0 -8 8 8 -8 8 0 -8 0 -8 8 0 0 4 -8 4 -4 8 0 0 -4 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 8 -8 4 -16 4 -8 8 4 0 0 0 0 0 0 0 0 0 0 0 -8 8 -8 8 -8 16 -8 16 -8 -8 0 0 4 0 -12 4 8 -8 0 4 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 -4 0 -4 0 0 4 0 0 0 0 0 0 0 0 0 0 0 -8 0 0 8 8 0 0 0 0 -8 0 0 4 0 -4 -4 0 0 0 4 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 -8 8 4 -16 4 8 -8 4 0 0 0 0 0 0 0 0 0 0 0 -8 -8 8 8 -8 16 8 -16 8 -8 0 0 4 0 -12 4 -8 8 0 4 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 8 0 4 0 -4 0 -8 -4 0 0 0 0 0 0 0 0 0 0 0 -8 -8 -8 -8 8 0 8 0 8 8 0 0 4 8 4 -4 -8 0 0 -4 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 8 -4 0 4 -8 0 -4 0 0 0 0 0 0 0 0 0 0 0 -8 -16 0 8 -8 0 0 16 0 8 0 0 4 8 -4 4 0 -8 0 -4 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 8 8 4 16 4 8 8 4 0 0 0 0 0 0 0 0 0 0 0 -8 -24 -8 -24 -8 -16 -8 -16 -8 -8 0 0 4 16 20 4 8 8 0 4 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 -16 8 16 -16 4 -8 32 0 0 -16 -32 0 0 32 0 -8 0 4 -16 16 8 -16 0 4 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 -8 0 0 8 -4 -8 16 0 0 0 0 0 0 -16 0 8 0 4 -8 0 0 8 0 -4 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 8 -16 0 4 -8 0 0 0 -16 32 0 0 0 0 -8 0 4 0 -16 8 0 0 4 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 -8 0 0 4 -8 0 0 0 16 0 0 0 0 0 -8 0 4 0 0 -8 0 0 4 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 8 0 0 -8 -4 -8 -16 0 0 0 0 0 0 16 0 8 0 4 8 0 0 -8 0 -4 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 16 8 16 16 4 -8 -32 0 0 -16 -32 0 0 -32 0 -8 0 4 16 16 8 16 0 4 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 8 -8 -16 16 8 -8 -16 16 32 0 -32 -16 0 16 0 0 0 0 0 0 -8 24 -8 -16 8 0 24 -64 -8 16 24 32 -8 0 -16 0 0 0 -8 24 -16 -8 8 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 8 8 -16 -16 8 8 -16 -16 32 0 32 -16 0 -16 0 0 0 0 0 0 -8 8 -8 16 -8 0 24 -32 8 -16 24 -32 8 0 16 0 0 0 -8 8 16 -8 -8 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 8 -8 0 0 -8 8 -16 16 0 0 0 16 0 -16 0 0 0 0 0 0 -8 8 8 0 -8 0 24 -16 -8 0 -24 0 8 0 16 0 0 0 -8 8 0 8 -8 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 8 8 0 0 -8 -8 -16 -16 0 0 0 16 0 16 0 0 0 0 0 0 -8 -8 8 0 8 0 24 16 8 0 -24 0 -8 0 -16 0 0 0 -8 -8 0 8 8 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 8 -8 16 -16 8 -8 -16 16 -32 0 32 -16 0 16 0 0 0 0 0 0 -8 -8 -8 16 8 0 24 32 -8 -16 24 -32 -8 0 -16 0 0 0 -8 -8 16 -8 8 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 8 8 16 16 8 8 -16 -16 -32 0 -32 -16 0 -16 0 0 0 0 0 0 -8 -24 -8 -16 -8 0 24 64 8 16 24 32 8 0 16 0 0 0 -8 -24 -16 -8 -8 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 8 -24 24 -8 0 0 0 0 0 0 -24 48 24 -24 -48 0 24 0 0 0 0 0 0 0 0 0 0 0 0 0 24 -48 -24 48 0 24 0 -24 0 0 0 0 -8 24 -24 0 0 8 0 0 0 0 +0 0 0 0 0 0 0 0 0 8 -8 -8 8 0 0 0 0 0 0 -24 16 8 8 16 0 -24 0 0 0 0 0 0 0 0 0 0 0 0 0 24 -16 -8 -16 0 -8 0 24 0 0 0 0 -8 8 8 0 0 -8 0 0 0 0 +0 0 0 0 0 0 0 0 0 8 8 -8 -8 0 0 0 0 0 0 -24 -16 -8 8 16 0 24 0 0 0 0 0 0 0 0 0 0 0 0 0 24 16 8 -16 0 -8 0 -24 0 0 0 0 -8 -8 8 0 0 8 0 0 0 0 +0 0 0 0 0 0 0 0 0 8 24 24 8 0 0 0 0 0 0 -24 -48 -24 -24 -48 0 -24 0 0 0 0 0 0 0 0 0 0 0 0 0 24 48 24 48 0 24 0 24 0 0 0 0 -8 -24 -24 0 0 -8 0 0 0 0 +0 0 0 16 -32 16 0 0 0 0 0 0 0 -64 0 128 0 -64 0 64 0 -128 0 0 64 0 0 0 0 0 0 0 0 32 -64 32 0 0 0 -64 128 0 0 -64 0 0 0 0 0 0 0 16 -32 0 16 0 0 0 0 0 0 +0 0 0 16 0 -16 0 0 0 0 0 0 0 -64 0 0 0 64 0 64 0 0 0 0 -64 0 0 0 0 0 0 0 0 32 0 -32 0 0 0 -64 0 0 0 64 0 0 0 0 0 0 0 16 0 0 -16 0 0 0 0 0 0 +0 0 0 16 32 16 0 0 0 0 0 0 0 -64 0 -128 0 -64 0 64 0 128 0 0 64 0 0 0 0 0 0 0 0 32 64 32 0 0 0 -64 -128 0 0 -64 0 0 0 0 0 0 0 16 32 0 16 0 0 0 0 0 0 +0 0 0 0 0 0 16 -32 16 -32 64 -32 0 -32 32 32 -32 0 0 80 -96 -64 16 64 0 0 0 0 0 0 0 0 0 16 -32 0 16 0 0 -64 96 32 -32 0 -32 0 0 0 0 0 0 16 -32 16 0 0 0 0 0 0 0 +0 0 0 0 0 0 16 0 -16 -32 0 32 0 -32 0 0 32 0 0 80 0 0 -16 -64 0 0 0 0 0 0 0 0 0 16 0 0 -16 0 0 -64 0 0 32 0 32 0 0 0 0 0 0 16 0 -16 0 0 0 0 0 0 0 +0 0 0 0 0 0 16 32 16 -32 -64 -32 0 -32 -32 -32 -32 0 0 80 96 64 16 64 0 0 0 0 0 0 0 0 0 16 32 0 16 0 0 -64 -96 -32 -32 0 -32 0 0 0 0 0 0 16 32 16 0 0 0 0 0 0 0 +0 32 -32 -32 32 0 -128 128 0 128 -128 0 0 192 -64 -128 0 0 0 -256 128 128 0 0 0 0 0 0 0 0 0 0 0 -64 64 0 0 0 0 160 -128 -32 0 0 0 0 0 0 0 0 0 -32 32 0 0 0 0 0 0 0 0 +0 32 32 -32 -32 0 -128 -128 0 128 128 0 0 192 64 128 0 0 0 -256 -128 -128 0 0 0 0 0 0 0 0 0 0 0 -64 -64 0 0 0 0 160 128 32 0 0 0 0 0 0 0 0 0 -32 -32 0 0 0 0 0 0 0 0 +0 0 0 0 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 -4 6 -4 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 0 0 0 0 +0 0 0 0 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 -2 0 2 -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 0 0 0 0 +0 0 0 0 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 -2 0 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 0 0 0 0 +0 0 0 0 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 2 0 -2 -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 0 0 0 0 +0 0 0 0 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 4 6 4 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 0 0 0 0 +end diff --git a/demos/ppl_lcdd/examples/mit90-86.ine b/demos/ppl_lcdd/examples/mit90-86.ine new file mode 100644 index 000000000..5bee93378 --- /dev/null +++ b/demos/ppl_lcdd/examples/mit90-86.ine @@ -0,0 +1,93 @@ +begin +90 86 rational +1 -4 6 0 -3 0 0 12 0 0 0 0 0 0 -4 0 -4 0 4 0 -12 0 0 12 1 0 0 3 -6 0 -12 0 0 0 0 -12 0 12 0 0 0 0 -12 0 0 0 12 0 -12 12 12 0 0 0 12 0 0 4 -12 6 0 0 -1 -3 -4 0 0 -4 4 -12 0 0 0 4 0 0 0 0 3 0 0 -6 0 4 0 -1 +1 -4 6 0 -3 0 0 12 0 0 0 0 0 0 -4 0 4 0 -4 0 -12 0 0 -12 1 0 0 3 -6 0 12 0 0 0 0 12 0 12 0 0 0 0 -12 0 0 0 -12 0 12 -12 12 0 0 0 -12 0 0 -4 12 6 0 0 -1 -3 4 0 0 4 -4 -12 0 0 0 4 0 0 0 0 3 0 0 -6 0 4 0 -1 +1 -6 6 4 -1 4 0 4 -2 -8 0 4 0 -2 -4 0 0 0 0 0 -4 0 -8 0 1 4 4 -1 -2 0 0 -8 -2 4 0 0 8 4 0 0 0 -2 4 0 8 0 0 4 0 0 -4 0 -8 0 0 0 -8 0 0 -2 4 0 1 -1 0 0 4 0 0 4 -8 0 0 -4 -2 -2 0 4 -1 4 0 6 4 -4 -2 1 +1 -8 6 8 1 12 -4 -4 -4 -16 -4 0 -8 -4 -4 4 0 8 0 8 4 -4 0 0 1 8 8 -1 2 4 0 0 -4 0 4 0 0 -4 -4 -8 -4 4 4 8 0 4 0 0 0 0 -4 -8 0 -4 0 -4 0 0 0 -2 -8 -8 -1 1 0 4 -8 0 0 4 16 8 4 4 4 4 4 0 -1 -8 -4 -6 -8 4 4 -1 +1 -10 6 12 3 24 -12 -12 -6 -24 -20 -12 -24 -6 -4 12 4 24 4 24 12 12 24 12 1 12 12 3 6 12 12 24 -6 -12 -12 -12 -24 -12 -12 -24 -12 -6 -12 -24 -24 -12 -12 -12 -12 -12 12 24 24 12 12 12 24 4 12 6 12 24 1 3 4 12 12 -4 -4 -12 -24 -24 -12 -4 -6 -6 -12 -12 3 12 12 6 12 -4 -6 1 +1 10 6 12 3 24 12 12 6 24 20 12 24 6 4 12 4 24 4 24 12 12 24 12 1 12 12 3 6 12 12 24 6 12 12 12 24 12 12 24 12 6 12 24 24 12 12 12 12 12 12 24 24 12 12 12 24 4 12 6 12 24 1 3 4 12 12 4 4 12 24 24 12 4 6 6 12 12 3 12 12 6 12 4 6 1 +1 8 6 8 1 12 4 4 4 16 4 0 8 4 4 4 0 8 0 8 4 -4 0 0 1 8 8 -1 2 4 0 0 4 0 -4 0 0 4 4 8 4 -4 -4 -8 0 -4 0 0 0 0 -4 -8 0 -4 0 -4 0 0 0 -2 -8 -8 -1 1 0 4 -8 0 0 -4 -16 -8 -4 -4 -4 -4 -4 0 -1 -8 -4 -6 -8 -4 -4 -1 +1 8 0 6 3 18 6 6 0 0 14 12 12 0 -2 0 2 0 2 0 0 12 12 6 -1 -6 -6 3 0 0 6 12 -6 0 6 0 0 -6 -6 -12 -6 6 6 12 0 6 0 0 0 0 0 0 -12 0 -6 0 -12 -2 -6 0 6 0 1 -3 -2 -12 6 -4 -4 -6 0 -12 -6 2 0 0 -6 -12 -3 -6 -12 0 -6 -2 -6 -1 +1 6 0 2 1 10 -2 2 2 0 6 0 4 -2 -2 0 2 8 -2 -8 0 -4 4 2 -1 -6 -2 -1 0 0 -2 -4 -4 -4 -6 -4 0 -2 -6 -4 2 -4 -2 -4 0 2 -4 4 4 4 0 -8 -4 0 -2 0 4 2 2 0 -2 8 -1 -1 -2 -4 -6 0 0 2 0 4 6 -2 -2 2 -2 0 1 2 4 0 6 2 4 1 +1 6 6 4 -1 4 0 -4 2 8 0 -4 0 2 4 0 0 0 0 0 -4 0 -8 0 1 4 4 -1 -2 0 0 -8 2 -4 0 0 -8 -4 0 0 0 2 -4 0 -8 0 0 -4 0 0 -4 0 -8 0 0 0 -8 0 0 -2 4 0 1 -1 0 0 4 0 0 -4 8 0 0 4 2 2 0 -4 -1 4 0 6 4 4 2 1 +1 6 0 6 1 6 6 2 -2 0 -2 0 4 2 -2 0 -2 -8 2 8 0 -4 -4 -2 -1 -2 -6 -1 0 0 2 4 -4 4 2 4 0 -2 2 -4 -6 -4 -2 -4 0 -6 4 -4 -4 -4 0 8 4 0 2 0 -4 -2 -2 0 -6 -8 -1 -1 2 -4 -2 0 0 2 0 4 -2 -2 2 -2 6 0 1 6 4 0 2 2 4 1 +1 6 6 4 3 0 -4 12 2 8 -12 4 -8 2 4 -4 -4 -8 -4 -8 12 -4 8 -12 1 4 4 3 6 -4 -12 8 2 4 -4 -12 8 12 -4 -8 -4 2 12 -8 8 -4 -12 4 -12 -12 12 -8 8 -4 -12 -4 8 -4 -12 6 4 -8 1 3 -4 -4 4 -4 -4 12 8 -8 -4 4 2 2 -4 4 3 4 -4 6 4 4 2 1 +1 6 -2 0 3 12 0 0 -2 -8 8 12 0 -2 0 -4 0 -8 0 -8 -4 12 0 0 1 0 0 3 -2 -4 0 0 6 -4 0 -4 -8 0 0 0 0 6 0 0 -8 0 -4 -4 -4 -4 -4 -8 0 -4 0 -4 0 0 0 -2 0 -8 1 3 0 12 0 4 4 0 -8 0 0 0 -2 -2 0 12 3 0 12 -2 0 0 6 1 +1 4 -2 -4 1 8 -8 0 -4 0 8 0 0 -4 0 4 4 -8 -4 -8 4 -4 8 4 1 4 -4 -1 -6 4 -4 -8 4 0 -8 0 -16 0 8 0 -8 -4 0 0 16 8 0 0 0 0 -4 8 8 -4 4 -4 -8 -4 -4 6 4 8 -1 1 4 4 -4 0 0 0 0 0 -8 0 4 4 8 0 -1 4 -4 2 -4 0 -4 -1 +1 4 0 -2 -1 6 -6 -2 4 0 2 -4 4 -4 -2 -4 -2 8 -2 -8 0 0 -4 2 -1 -6 2 -1 0 4 2 -4 -2 0 2 -4 0 2 -2 -4 6 2 -2 4 0 -6 4 0 4 -4 0 8 4 -4 -2 4 4 2 -2 0 -2 -8 1 1 2 0 6 0 0 2 0 -4 -2 2 4 -4 6 4 1 2 0 0 -6 -2 -2 -1 +1 4 0 2 -1 2 2 -2 0 0 2 -4 -4 0 -2 4 2 0 2 0 0 0 -4 -2 -1 -2 -2 -1 0 -4 -2 -4 -2 0 2 4 0 2 -2 4 -2 2 -2 -4 0 2 -4 0 -4 4 0 0 4 4 2 -4 4 -2 2 0 2 0 1 1 -2 0 2 0 0 2 0 4 -2 2 0 0 -2 4 1 -2 0 0 -2 -2 -2 -1 +1 4 -2 0 1 4 0 0 0 -8 0 0 0 0 0 -4 0 0 0 0 -4 -4 0 0 1 0 0 -1 2 -4 0 0 4 0 0 0 8 0 0 0 0 -4 0 0 -8 0 0 0 0 0 4 0 0 4 0 4 0 0 0 -2 0 0 -1 1 0 4 0 0 0 0 8 0 0 0 0 0 0 0 -1 0 -4 2 0 0 -4 -1 +1 4 0 2 3 -2 -2 6 0 0 -10 4 -4 0 -2 0 -2 0 -2 0 0 -4 4 -6 -1 -2 -2 3 0 0 -6 4 -2 0 -2 0 0 -6 2 4 2 2 6 -4 0 -2 0 0 0 0 0 0 -4 0 6 0 -4 2 6 0 2 0 1 -3 2 4 2 4 4 -6 0 4 2 2 0 0 2 -4 -3 -2 4 0 -2 -2 -2 -1 +1 4 6 0 -3 0 0 -12 0 0 0 0 0 0 4 0 4 0 -4 0 -12 0 0 -12 1 0 0 3 -6 0 12 0 0 0 0 -12 0 -12 0 0 0 0 12 0 0 0 12 0 -12 12 12 0 0 0 -12 0 0 -4 12 6 0 0 -1 -3 4 0 0 -4 4 12 0 0 0 -4 0 0 0 0 3 0 0 -6 0 -4 0 -1 +1 4 6 0 -3 0 0 -12 0 0 0 0 0 0 4 0 -4 0 4 0 -12 0 0 12 1 0 0 3 -6 0 -12 0 0 0 0 12 0 -12 0 0 0 0 12 0 0 0 -12 0 12 -12 12 0 0 0 12 0 0 4 -12 6 0 0 -1 -3 -4 0 0 4 -4 12 0 0 0 -4 0 0 0 0 3 0 0 -6 0 -4 0 -1 +1 4 6 0 1 -4 -4 4 0 0 -4 0 -8 0 4 -4 0 -8 0 -8 4 4 0 0 1 0 0 -1 2 -4 0 0 0 0 4 0 0 4 -4 -8 -4 0 -4 8 0 4 0 0 0 0 -4 8 0 4 0 4 0 0 0 -2 0 8 -1 1 0 -4 0 0 0 -4 0 8 4 -4 0 0 4 0 -1 0 4 -6 0 -4 0 -1 +1 4 0 6 -1 -2 2 -2 -4 0 -6 -4 4 4 -2 -4 -2 -8 -2 8 0 0 -4 2 -1 2 -6 -1 0 4 2 -4 -2 0 -6 -4 0 2 6 -4 -2 2 -2 4 0 2 4 0 4 -4 0 -8 4 -4 -2 4 4 2 -2 0 6 8 1 1 2 0 -2 0 0 2 0 -4 6 2 -4 4 -2 4 1 -6 0 0 2 -2 -2 -1 +1 4 -2 4 1 0 8 0 -4 0 -8 0 0 -4 0 4 -4 -8 4 -8 4 -4 -8 -4 1 -4 4 -1 -6 4 4 8 4 0 8 0 -16 0 -8 0 8 -4 0 0 16 -8 0 0 0 0 -4 8 -8 -4 -4 -4 8 4 4 6 -4 8 -1 1 -4 4 4 0 0 0 0 0 8 0 4 4 -8 0 -1 -4 -4 2 4 0 -4 -1 +1 4 0 -6 3 6 -6 -6 0 0 2 12 -12 0 2 0 -2 0 -2 0 0 12 -12 -6 -1 6 6 3 0 0 -6 -12 -6 0 -6 0 0 6 6 12 6 6 -6 -12 0 -6 0 0 0 0 0 0 12 0 6 0 12 2 6 0 -6 0 1 -3 2 -12 -6 -4 -4 6 0 12 6 -2 0 0 6 -12 -3 6 -12 0 6 2 -6 -1 +1 2 -2 -4 -1 4 -4 0 -2 0 4 -4 0 -2 0 0 0 0 0 0 4 0 0 0 1 4 -4 -1 -2 0 0 0 2 4 4 0 0 0 4 0 -4 2 0 0 0 -4 0 4 0 0 4 0 0 0 0 0 0 0 0 -2 -4 0 1 -1 0 0 4 0 0 0 0 0 4 0 -2 -2 -4 -4 -1 -4 0 -2 4 0 2 1 +1 2 0 -6 1 2 -6 -2 -2 0 2 0 -4 2 2 0 2 -8 -2 8 0 -4 4 2 -1 2 6 -1 0 0 -2 -4 -4 4 -2 4 0 2 -2 4 6 -4 2 4 0 6 4 -4 -4 -4 0 8 -4 0 -2 0 4 2 2 0 6 -8 -1 -1 -2 -4 2 0 0 -2 0 -4 2 2 2 -2 -6 0 1 -6 4 0 -2 -2 4 1 +1 2 -2 0 3 -4 0 0 -6 8 -8 4 0 -6 0 12 0 -8 0 -8 -4 -4 0 0 1 0 0 3 -2 12 0 0 2 -12 0 4 8 0 0 0 0 2 0 0 8 0 4 -12 4 4 -4 -8 0 12 0 12 0 0 0 -2 0 -8 1 3 0 -4 0 -4 -4 0 8 0 0 0 -6 -6 0 4 3 0 -4 -2 0 0 2 1 +1 2 0 -2 -3 2 2 -6 2 0 2 0 -4 -2 -2 4 2 0 -2 0 0 0 -4 -6 -1 -2 2 3 0 -4 6 4 0 4 -2 0 0 6 -2 4 -2 0 6 4 0 -2 0 -4 0 0 0 0 4 -4 6 4 -4 2 -6 0 2 0 -1 3 -2 0 -2 4 -4 -6 0 -4 2 -2 -2 2 2 0 -3 -2 0 0 2 2 0 1 +1 2 0 -6 -3 6 -6 -6 6 0 -6 0 12 -6 -2 -12 -2 0 2 0 0 0 -12 6 -1 -6 6 3 0 12 -6 12 0 12 6 0 0 6 6 -12 6 0 6 -12 0 6 0 -12 0 0 0 0 12 12 -6 -12 -12 -2 6 0 6 0 -1 3 2 0 -6 -4 4 -6 0 12 -6 -2 -6 6 -6 0 -3 -6 0 0 6 2 0 1 +1 2 0 -2 1 -2 -2 2 2 0 -2 0 -4 -2 -2 0 -2 0 2 0 0 4 4 -2 -1 -2 2 -1 0 0 2 -4 0 -4 2 4 0 -2 2 4 2 0 -2 4 0 2 4 4 -4 -4 0 0 -4 0 2 0 4 -2 -2 0 2 0 -1 -1 2 4 -2 0 0 2 0 -4 -2 -2 -2 2 -2 0 1 -2 -4 0 2 2 0 1 +1 2 -2 0 -1 0 -4 0 2 -8 -4 -4 8 2 0 0 -4 0 -4 0 -4 0 0 4 1 0 0 -1 6 0 4 0 2 -4 -4 0 8 0 -4 8 -4 2 0 8 8 -4 0 -4 0 0 -4 0 0 0 4 0 0 -4 4 6 0 0 1 -1 -4 0 0 0 0 0 -8 8 -4 0 2 2 -4 -4 -1 0 0 -2 0 0 2 1 +1 2 0 2 -3 -2 2 -6 -2 0 2 0 -4 2 -2 4 -2 0 2 0 0 0 4 6 -1 2 -2 3 0 -4 -6 -4 0 -4 -2 0 0 6 -2 4 -2 0 6 4 0 -2 0 4 0 0 0 0 -4 -4 -6 4 4 -2 6 0 -2 0 -1 3 2 0 2 -4 4 -6 0 -4 2 -2 2 -2 2 0 -3 2 0 0 -2 2 0 1 +1 2 -2 0 -1 0 4 0 2 -8 4 -4 -8 2 0 0 4 0 4 0 -4 0 0 -4 1 0 0 -1 6 0 -4 0 2 -4 4 0 8 0 4 -8 4 2 0 -8 8 4 0 -4 0 0 -4 0 0 0 -4 0 0 4 -4 6 0 0 1 -1 4 0 0 0 0 0 -8 -8 4 0 2 2 4 -4 -1 0 0 -2 0 0 2 1 +1 2 0 2 1 -6 -2 2 -2 0 -2 0 -4 2 -2 0 2 0 -2 0 0 4 -4 2 -1 2 -2 -1 0 0 -2 4 0 4 2 -4 0 -2 2 4 2 0 -2 4 0 2 -4 -4 4 4 0 0 4 0 -2 0 -4 2 2 0 -2 0 -1 -1 -2 4 2 0 0 2 0 -4 -2 -2 2 -2 -2 0 1 2 -4 0 -2 2 0 1 +1 2 -2 4 -1 -4 4 0 -2 0 -4 -4 0 -2 0 0 0 0 0 0 4 0 0 0 1 -4 4 -1 -2 0 0 0 2 4 -4 0 0 0 -4 0 4 2 0 0 0 4 0 4 0 0 4 0 0 0 0 0 0 0 0 -2 4 0 1 -1 0 0 -4 0 0 0 0 0 -4 0 -2 -2 4 -4 -1 4 0 -2 -4 0 2 1 +1 2 -2 0 3 -4 0 0 2 -8 -8 4 0 2 0 -4 0 8 0 8 -4 -4 0 0 1 0 0 3 -2 -4 0 0 2 4 0 4 -8 0 0 0 0 2 0 0 -8 0 4 4 4 4 -4 8 0 -4 0 -4 0 0 0 -2 0 8 1 3 0 -4 0 -4 -4 0 -8 0 0 0 2 2 0 4 3 0 -4 -2 0 0 2 1 +1 2 0 -2 1 -2 2 -2 2 0 -6 0 -4 -2 2 0 -2 8 2 -8 0 -4 -4 -2 -1 6 2 -1 0 0 2 4 -4 -4 6 -4 0 2 6 4 -2 -4 2 4 0 -2 -4 4 4 4 0 -8 4 0 2 0 -4 -2 -2 0 2 8 -1 -1 2 -4 6 0 0 -2 0 -4 -6 2 -2 2 2 0 1 -2 4 0 -6 -2 4 1 +1 2 6 -4 -1 -4 0 -4 -2 -8 0 4 0 -2 4 0 0 0 0 0 -4 0 8 0 1 -4 -4 -1 -2 0 0 8 -2 4 0 0 8 -4 0 0 0 -2 -4 0 8 0 0 4 0 0 -4 0 8 0 0 0 8 0 0 -2 -4 0 1 -1 0 0 -4 0 0 -4 -8 0 0 4 -2 -2 0 4 -1 -4 0 6 -4 4 -2 1 +1 2 0 6 -3 -6 -6 -6 -6 0 -6 0 12 6 -2 -12 2 0 -2 0 0 0 12 -6 -1 6 -6 3 0 12 6 -12 0 -12 6 0 0 6 6 -12 6 0 6 -12 0 6 0 12 0 0 0 0 -12 12 6 -12 12 2 -6 0 -6 0 -1 3 -2 0 6 4 -4 -6 0 12 -6 -2 6 -6 -6 0 -3 6 0 0 -6 2 0 1 +1 2 6 -4 3 -8 -4 12 -2 -8 4 -4 -8 -2 4 -4 4 -8 4 -8 12 -4 -8 12 1 -4 -4 3 6 -4 12 -8 -2 -4 -4 12 -8 12 -4 -8 -4 -2 12 -8 -8 -4 12 -4 12 12 12 -8 -8 -4 12 -4 -8 4 12 6 -4 -8 1 3 4 -4 -4 4 4 12 -8 -8 -4 4 -2 -2 -4 -4 3 -4 -4 6 -4 4 -2 1 +1 2 6 -12 3 0 -12 -12 6 24 -4 12 -24 6 -4 12 -4 24 -4 24 12 12 -24 -12 1 -12 -12 3 6 12 -12 -24 6 12 -12 12 24 -12 -12 -24 -12 6 -12 -24 24 -12 12 12 12 12 12 24 -24 12 -12 12 -24 -4 -12 6 -12 24 1 3 -4 12 -12 4 4 -12 24 -24 -12 -4 6 6 -12 12 3 -12 12 6 -12 -4 6 1 +1 0 -2 -4 -3 4 4 0 0 0 4 0 -8 0 0 0 0 0 0 0 4 0 -8 0 1 4 -4 3 2 0 0 8 0 0 -4 4 0 0 4 -8 4 0 0 8 0 -4 -4 0 4 -4 -4 0 -8 0 0 0 8 0 0 -2 4 0 -1 -3 0 0 -4 -4 4 0 0 8 -4 0 0 0 -4 0 3 4 0 2 -4 0 0 -1 +1 0 -2 -4 -3 4 -4 0 0 0 -4 0 8 0 0 0 0 0 0 0 4 0 -8 0 1 4 -4 3 2 0 0 8 0 0 4 -4 0 0 -4 8 -4 0 0 -8 0 4 4 0 -4 4 -4 0 -8 0 0 0 8 0 0 -2 4 0 -1 -3 0 0 -4 4 -4 0 0 -8 4 0 0 0 4 0 3 4 0 2 -4 0 0 -1 +1 0 -2 -4 1 0 0 0 0 0 0 0 0 0 0 -4 -4 8 4 8 4 4 8 -4 1 4 -4 -1 -6 -4 4 -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 -8 8 4 -4 4 -8 4 4 6 4 -8 -1 1 -4 -4 -4 0 0 0 0 0 0 0 0 0 0 0 -1 4 4 2 -4 0 0 -1 +1 0 0 -6 -1 2 -2 2 -4 0 6 -4 -4 4 2 -4 2 -8 2 8 0 0 4 -2 -1 -2 6 -1 0 4 -2 4 -2 0 6 -4 0 -2 -6 4 2 2 2 -4 0 -2 4 0 4 -4 0 -8 -4 -4 2 4 -4 -2 2 0 -6 8 1 1 -2 0 2 0 0 -2 0 4 -6 -2 -4 4 2 4 1 6 0 0 -2 2 -2 -1 +1 0 -2 0 1 -4 0 0 -4 8 0 0 0 -4 0 4 0 0 0 0 -4 4 0 0 1 0 0 -1 2 4 0 0 0 0 0 0 8 0 0 0 0 0 0 0 -8 0 0 0 0 0 4 0 0 -4 0 -4 0 0 0 -2 0 0 -1 1 0 -4 0 0 0 0 -8 0 0 0 4 4 0 0 -1 0 4 2 0 0 0 -1 +1 0 0 -2 -1 -2 -2 2 0 0 -2 -4 4 0 2 4 -2 0 -2 0 0 0 4 2 -1 2 2 -1 0 -4 2 4 -2 0 -2 4 0 -2 2 -4 2 2 2 4 0 -2 -4 0 -4 4 0 0 -4 4 -2 -4 -4 2 -2 0 -2 0 1 1 2 0 -2 0 0 -2 0 -4 2 -2 0 0 2 4 1 2 0 0 2 2 -2 -1 +1 0 0 -2 3 -6 2 -6 0 0 -6 4 4 0 2 0 2 0 2 0 0 -4 -4 6 -1 2 2 3 0 0 6 -4 -2 0 2 0 0 6 -2 -4 -2 2 -6 4 0 2 0 0 0 0 0 0 4 0 -6 0 4 -2 -6 0 -2 0 1 -3 -2 4 -2 4 4 6 0 -4 -2 -2 0 0 -2 -4 -3 2 4 0 2 2 -2 -1 +1 0 6 -8 1 -4 -4 -4 4 16 -4 0 -8 4 -4 4 0 8 0 8 4 -4 0 0 1 -8 -8 -1 2 4 0 0 4 0 4 0 0 -4 -4 -8 -4 -4 4 8 0 4 0 0 0 0 -4 -8 0 -4 0 -4 0 0 0 -2 8 -8 -1 1 0 4 8 0 0 4 -16 8 4 4 -4 -4 4 0 -1 8 -4 -6 8 4 -4 -1 +1 0 0 -6 -1 2 2 -2 4 0 -6 4 4 -4 -2 -4 2 -8 2 8 0 0 4 -2 -1 -2 6 -1 0 4 -2 4 2 0 -6 4 0 2 6 -4 -2 -2 -2 4 0 2 -4 0 -4 4 0 -8 -4 -4 2 4 -4 -2 2 0 -6 8 1 1 -2 0 2 0 0 2 0 -4 6 2 4 -4 -2 -4 1 6 0 0 -2 -2 2 -1 +1 0 0 -2 -1 -2 2 -2 0 0 2 4 -4 0 -2 4 -2 0 -2 0 0 0 4 2 -1 2 2 -1 0 -4 2 4 2 0 2 -4 0 2 -2 4 -2 -2 -2 -4 0 2 4 0 4 -4 0 0 -4 4 -2 -4 -4 2 -2 0 -2 0 1 1 2 0 -2 0 0 2 0 4 -2 2 0 0 -2 -4 1 2 0 0 2 -2 2 -1 +1 0 -2 4 -3 -4 -4 0 0 0 -4 0 8 0 0 0 0 0 0 0 4 0 8 0 1 -4 4 3 2 0 0 -8 0 0 4 4 0 0 -4 8 -4 0 0 -8 0 4 -4 0 4 -4 -4 0 8 0 0 0 -8 0 0 -2 -4 0 -1 -3 0 0 4 -4 4 0 0 -8 4 0 0 0 4 0 3 -4 0 2 4 0 0 -1 +1 0 0 -2 3 -6 -2 6 0 0 6 -4 -4 0 -2 0 2 0 2 0 0 -4 -4 6 -1 2 2 3 0 0 6 -4 2 0 -2 0 0 -6 2 4 2 -2 6 -4 0 -2 0 0 0 0 0 0 4 0 -6 0 4 -2 -6 0 -2 0 1 -3 -2 4 -2 -4 -4 -6 0 4 2 2 0 0 2 4 -3 2 4 0 2 -2 2 -1 +1 0 -2 0 1 -4 0 0 4 -8 0 0 0 4 0 4 0 0 0 0 -4 4 0 0 1 0 0 -1 2 4 0 0 0 0 0 0 -8 0 0 0 0 0 0 0 8 0 0 0 0 0 4 0 0 -4 0 -4 0 0 0 -2 0 0 -1 1 0 -4 0 0 0 0 8 0 0 0 -4 -4 0 0 -1 0 4 2 0 0 0 -1 +1 0 -2 4 -3 -4 4 0 0 0 4 0 -8 0 0 0 0 0 0 0 4 0 8 0 1 -4 4 3 2 0 0 -8 0 0 -4 -4 0 0 4 -8 4 0 0 8 0 -4 4 0 -4 4 -4 0 8 0 0 0 -8 0 0 -2 -4 0 -1 -3 0 0 4 4 -4 0 0 8 -4 0 0 0 -4 0 3 -4 0 2 4 0 0 -1 +1 0 0 2 -1 -6 -6 -2 -4 0 2 4 4 4 -2 -4 2 8 2 -8 0 0 4 -2 -1 6 -2 -1 0 4 -2 4 2 0 2 4 0 2 -2 -4 6 -2 -2 4 0 -6 -4 0 -4 4 0 8 -4 -4 2 4 -4 -2 2 0 2 -8 1 1 -2 0 -6 0 0 2 0 -4 -2 2 -4 4 6 -4 1 -2 0 0 6 -2 2 -1 +1 0 0 2 -1 -6 6 2 4 0 -2 -4 -4 -4 2 -4 2 8 2 -8 0 0 4 -2 -1 6 -2 -1 0 4 -2 4 -2 0 -2 -4 0 -2 2 4 -6 2 2 -4 0 6 4 0 4 -4 0 8 -4 -4 2 4 -4 -2 2 0 2 -8 1 1 -2 0 -6 0 0 -2 0 4 2 -2 4 -4 -6 4 1 -2 0 0 6 2 -2 -1 +1 0 -2 4 1 -8 0 0 0 0 0 0 0 0 0 -4 4 8 -4 8 4 4 -8 4 1 -4 4 -1 -6 -4 -4 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -4 -8 -8 4 4 4 8 -4 -4 6 -4 -8 -1 1 4 -4 4 0 0 0 0 0 0 0 0 0 0 0 -1 -4 4 2 4 0 0 -1 +1 0 6 -8 1 -4 4 4 -4 -16 4 0 8 -4 4 4 0 8 0 8 4 -4 0 0 1 -8 -8 -1 2 4 0 0 -4 0 -4 0 0 4 4 8 4 4 -4 -8 0 -4 0 0 0 0 -4 -8 0 -4 0 -4 0 0 0 -2 8 -8 -1 1 0 4 8 0 0 -4 16 -8 -4 -4 4 4 -4 0 -1 8 -4 -6 8 -4 4 -1 +1 -2 -2 -4 -1 4 4 0 2 0 -4 4 0 2 0 0 0 0 0 0 4 0 0 0 1 4 -4 -1 -2 0 0 0 -2 -4 -4 0 0 0 -4 0 4 -2 0 0 0 4 0 -4 0 0 4 0 0 0 0 0 0 0 0 -2 -4 0 1 -1 0 0 4 0 0 0 0 0 -4 0 2 2 4 4 -1 -4 0 -2 4 0 -2 1 +1 -2 0 -6 -3 6 6 6 -6 0 6 0 -12 6 2 -12 -2 0 2 0 0 0 -12 6 -1 -6 6 3 0 12 -6 12 0 -12 -6 0 0 -6 -6 12 -6 0 -6 12 0 -6 0 12 0 0 0 0 12 12 -6 -12 -12 -2 6 0 6 0 -1 3 2 0 -6 4 -4 6 0 -12 6 2 6 -6 6 0 -3 -6 0 0 6 -2 0 1 +1 -2 -2 0 -1 0 4 0 -2 8 4 4 -8 -2 0 0 -4 0 -4 0 -4 0 0 4 1 0 0 -1 6 0 4 0 -2 4 4 0 -8 0 4 -8 4 -2 0 -8 -8 4 0 4 0 0 -4 0 0 0 4 0 0 -4 4 6 0 0 1 -1 -4 0 0 0 0 0 8 -8 4 0 -2 -2 4 4 -1 0 0 -2 0 0 -2 1 +1 -2 0 2 -3 -2 -2 6 2 0 -2 0 4 -2 2 4 -2 0 2 0 0 0 4 6 -1 2 -2 3 0 -4 -6 -4 0 4 2 0 0 -6 2 -4 2 0 -6 -4 0 2 0 -4 0 0 0 0 -4 -4 -6 4 4 -2 6 0 -2 0 -1 3 2 0 2 4 -4 6 0 4 -2 2 -2 2 -2 0 -3 2 0 0 -2 -2 0 1 +1 -2 0 -2 -3 2 -2 6 -2 0 -2 0 4 2 2 4 2 0 -2 0 0 0 -4 -6 -1 -2 2 3 0 -4 6 4 0 -4 2 0 0 -6 2 -4 2 0 -6 -4 0 2 0 4 0 0 0 0 4 -4 6 4 -4 2 -6 0 2 0 -1 3 -2 0 -2 -4 4 6 0 4 -2 2 2 -2 -2 0 -3 -2 0 0 2 -2 0 1 +1 -2 -2 0 -1 0 -4 0 -2 8 -4 4 8 -2 0 0 4 0 4 0 -4 0 0 -4 1 0 0 -1 6 0 -4 0 -2 4 -4 0 -8 0 -4 8 -4 -2 0 8 -8 -4 0 4 0 0 -4 0 0 0 -4 0 0 4 -4 6 0 0 1 -1 4 0 0 0 0 0 8 8 -4 0 -2 -2 -4 4 -1 0 0 -2 0 0 -2 1 +1 -2 0 -2 1 -2 2 -2 -2 0 2 0 4 2 2 0 -2 0 2 0 0 4 4 -2 -1 -2 2 -1 0 0 2 -4 0 4 -2 -4 0 2 -2 -4 -2 0 2 -4 0 -2 -4 -4 4 4 0 0 -4 0 2 0 4 -2 -2 0 2 0 -1 -1 2 4 -2 0 0 -2 0 4 2 2 2 -2 2 0 1 -2 -4 0 2 -2 0 1 +1 -2 -2 0 3 -4 0 0 -2 8 8 -4 0 -2 0 -4 0 8 0 8 -4 -4 0 0 1 0 0 3 -2 -4 0 0 -2 -4 0 -4 8 0 0 0 0 -2 0 0 8 0 -4 -4 -4 -4 -4 8 0 -4 0 -4 0 0 0 -2 0 8 1 3 0 -4 0 4 4 0 8 0 0 0 -2 -2 0 -4 3 0 -4 -2 0 0 -2 1 +1 -2 6 -4 -1 -4 0 4 2 8 0 -4 0 2 -4 0 0 0 0 0 -4 0 8 0 1 -4 -4 -1 -2 0 0 8 2 -4 0 0 -8 4 0 0 0 2 4 0 -8 0 0 -4 0 0 -4 0 8 0 0 0 8 0 0 -2 -4 0 1 -1 0 0 -4 0 0 4 8 0 0 -4 2 2 0 -4 -1 -4 0 6 -4 -4 2 1 +1 -2 0 2 1 -6 2 -2 2 0 2 0 4 -2 2 0 2 0 -2 0 0 4 -4 2 -1 2 -2 -1 0 0 -2 4 0 -4 -2 4 0 2 -2 -4 -2 0 2 -4 0 -2 4 4 -4 -4 0 0 4 0 -2 0 -4 2 2 0 -2 0 -1 -1 -2 4 2 0 0 -2 0 4 2 2 -2 2 2 0 1 2 -4 0 -2 -2 0 1 +1 -2 6 -4 3 -8 4 -12 2 8 -4 4 8 2 -4 -4 4 -8 4 -8 12 -4 -8 12 1 -4 -4 3 6 -4 12 -8 2 4 4 -12 8 -12 4 8 4 2 -12 8 8 4 -12 4 -12 -12 12 -8 -8 -4 12 -4 -8 4 12 6 -4 -8 1 3 4 -4 -4 -4 -4 -12 8 8 4 -4 2 2 4 4 3 -4 -4 6 -4 -4 2 1 +1 -2 0 -6 1 2 6 2 2 0 -2 0 4 -2 -2 0 2 -8 -2 8 0 -4 4 2 -1 2 6 -1 0 0 -2 -4 4 -4 2 -4 0 -2 2 -4 -6 4 -2 -4 0 -6 -4 4 4 4 0 8 -4 0 -2 0 4 2 2 0 6 -8 -1 -1 -2 -4 2 0 0 2 0 4 -2 -2 -2 2 6 0 1 -6 4 0 -2 2 -4 1 +1 -2 0 -2 1 -2 -2 2 -2 0 6 0 4 2 -2 0 -2 8 2 -8 0 -4 -4 -2 -1 6 2 -1 0 0 2 4 4 4 -6 4 0 -2 -6 -4 2 4 -2 -4 0 2 4 -4 -4 -4 0 -8 4 0 2 0 -4 -2 -2 0 2 8 -1 -1 2 -4 6 0 0 2 0 4 6 -2 2 -2 -2 0 1 -2 4 0 -6 2 -4 1 +1 -2 -2 4 -1 -4 -4 0 2 0 4 4 0 2 0 0 0 0 0 0 4 0 0 0 1 -4 4 -1 -2 0 0 0 -2 -4 4 0 0 0 4 0 -4 -2 0 0 0 -4 0 -4 0 0 4 0 0 0 0 0 0 0 0 -2 4 0 1 -1 0 0 -4 0 0 0 0 0 4 0 2 2 -4 4 -1 4 0 -2 -4 0 -2 1 +1 -2 -2 0 3 -4 0 0 6 -8 8 -4 0 6 0 12 0 -8 0 -8 -4 -4 0 0 1 0 0 3 -2 12 0 0 -2 12 0 -4 -8 0 0 0 0 -2 0 0 -8 0 -4 12 -4 -4 -4 -8 0 12 0 12 0 0 0 -2 0 -8 1 3 0 -4 0 4 4 0 -8 0 0 0 6 6 0 -4 3 0 -4 -2 0 0 -2 1 +1 -2 0 6 -3 -6 6 6 6 0 6 0 -12 -6 2 -12 2 0 -2 0 0 0 12 -6 -1 6 -6 3 0 12 6 -12 0 12 -6 0 0 -6 -6 12 -6 0 -6 12 0 -6 0 -12 0 0 0 0 -12 12 6 -12 12 2 -6 0 -6 0 -1 3 -2 0 6 -4 4 6 0 -12 6 2 -6 6 6 0 -3 6 0 0 -6 -2 0 1 +1 -2 6 -12 3 0 12 12 -6 -24 4 -12 24 -6 4 12 -4 24 -4 24 12 12 -24 -12 1 -12 -12 3 6 12 -12 -24 -6 -12 12 -12 -24 12 12 24 12 -6 12 24 -24 12 -12 -12 -12 -12 12 24 -24 12 -12 12 -24 -4 -12 6 -12 24 1 3 -4 12 -12 -4 -4 12 -24 24 12 4 -6 -6 12 -12 3 -12 12 6 -12 4 -6 1 +1 -4 -2 -4 1 8 8 0 4 0 -8 0 0 4 0 4 4 -8 -4 -8 4 -4 8 4 1 4 -4 -1 -6 4 -4 -8 -4 0 8 0 16 0 -8 0 8 4 0 0 -16 -8 0 0 0 0 -4 8 8 -4 4 -4 -8 -4 -4 6 4 8 -1 1 4 4 -4 0 0 0 0 0 8 0 -4 -4 -8 0 -1 4 -4 2 -4 0 4 -1 +1 -4 0 -2 -1 6 6 2 -4 0 -2 4 -4 4 2 -4 -2 8 -2 -8 0 0 -4 2 -1 -6 2 -1 0 4 2 -4 2 0 -2 4 0 -2 2 4 -6 -2 2 -4 0 6 -4 0 -4 4 0 8 4 -4 -2 4 4 2 -2 0 -2 -8 1 1 2 0 6 0 0 -2 0 4 2 -2 -4 4 -6 -4 1 2 0 0 -6 2 2 -1 +1 -4 -2 0 1 4 0 0 0 8 0 0 0 0 0 -4 0 0 0 0 -4 -4 0 0 1 0 0 -1 2 -4 0 0 -4 0 0 0 -8 0 0 0 0 4 0 0 8 0 0 0 0 0 4 0 0 4 0 4 0 0 0 -2 0 0 -1 1 0 4 0 0 0 0 -8 0 0 0 0 0 0 0 -1 0 -4 2 0 0 4 -1 +1 -4 0 2 -1 2 -2 2 0 0 -2 4 4 0 2 4 2 0 2 0 0 0 -4 -2 -1 -2 -2 -1 0 -4 -2 -4 2 0 -2 -4 0 -2 2 -4 2 -2 2 4 0 -2 4 0 4 -4 0 0 4 4 2 -4 4 -2 2 0 2 0 1 1 -2 0 2 0 0 -2 0 -4 2 -2 0 0 2 -4 1 -2 0 0 -2 2 2 -1 +1 -4 0 6 -1 -2 -2 2 4 0 6 4 -4 -4 2 -4 -2 -8 -2 8 0 0 -4 2 -1 2 -6 -1 0 4 2 -4 2 0 6 4 0 -2 -6 4 2 -2 2 -4 0 -2 -4 0 -4 4 0 -8 4 -4 -2 4 4 2 -2 0 6 8 1 1 2 0 -2 0 0 -2 0 4 -6 -2 4 -4 2 -4 1 -6 0 0 2 2 2 -1 +1 -4 0 2 3 -2 2 -6 0 0 10 -4 4 0 2 0 -2 0 -2 0 0 -4 4 -6 -1 -2 -2 3 0 0 -6 4 2 0 2 0 0 6 -2 -4 -2 -2 -6 4 0 2 0 0 0 0 0 0 -4 0 6 0 -4 2 6 0 2 0 1 -3 2 4 2 -4 -4 6 0 -4 -2 -2 0 0 -2 4 -3 -2 4 0 -2 2 2 -1 +1 -4 6 0 1 -4 4 -4 0 0 4 0 8 0 -4 -4 0 -8 0 -8 4 4 0 0 1 0 0 -1 2 -4 0 0 0 0 -4 0 0 -4 4 8 4 0 4 -8 0 -4 0 0 0 0 -4 8 0 4 0 4 0 0 0 -2 0 8 -1 1 0 -4 0 0 0 4 0 -8 -4 4 0 0 -4 0 -1 0 4 -6 0 4 0 -1 +1 -4 0 -6 3 6 6 6 0 0 -2 -12 12 0 -2 0 -2 0 -2 0 0 12 -12 -6 -1 6 6 3 0 0 -6 -12 6 0 6 0 0 -6 -6 -12 -6 -6 6 12 0 6 0 0 0 0 0 0 12 0 6 0 12 2 6 0 -6 0 1 -3 2 -12 -6 4 4 -6 0 -12 -6 2 0 0 -6 12 -3 6 -12 0 6 -2 6 -1 +1 -4 -2 4 1 0 -8 0 4 0 8 0 0 4 0 4 -4 -8 4 -8 4 -4 -8 -4 1 -4 4 -1 -6 4 4 8 -4 0 -8 0 16 0 8 0 -8 4 0 0 -16 8 0 0 0 0 -4 8 -8 -4 -4 -4 8 4 4 6 -4 8 -1 1 -4 4 4 0 0 0 0 0 -8 0 -4 -4 8 0 -1 -4 -4 2 4 0 4 -1 +1 -6 0 2 1 10 2 -2 -2 0 -6 0 -4 2 2 0 2 8 -2 -8 0 -4 4 2 -1 -6 -2 -1 0 0 -2 -4 4 4 6 4 0 2 6 4 -2 4 2 4 0 -2 4 -4 -4 -4 0 -8 -4 0 -2 0 4 2 2 0 -2 8 -1 -1 -2 -4 -6 0 0 -2 0 -4 -6 2 2 -2 2 0 1 2 4 0 6 -2 -4 1 +1 -6 -2 0 3 12 0 0 2 8 -8 -12 0 2 0 -4 0 -8 0 -8 -4 12 0 0 1 0 0 3 -2 -4 0 0 -6 4 0 4 8 0 0 0 0 -6 0 0 8 0 4 4 4 4 -4 -8 0 -4 0 -4 0 0 0 -2 0 -8 1 3 0 12 0 -4 -4 0 8 0 0 0 2 2 0 -12 3 0 12 -2 0 0 -6 1 +1 -6 0 6 1 6 -6 -2 2 0 2 0 -4 -2 2 0 -2 -8 2 8 0 -4 -4 -2 -1 -2 -6 -1 0 0 2 4 4 -4 -2 -4 0 2 -2 4 6 4 2 4 0 6 -4 4 4 4 0 8 4 0 2 0 -4 -2 -2 0 -6 -8 -1 -1 2 -4 -2 0 0 -2 0 -4 2 2 -2 2 -6 0 1 6 4 0 2 -2 -4 1 +1 -6 6 4 3 0 4 -12 -2 -8 12 -4 8 -2 -4 -4 -4 -8 -4 -8 12 -4 8 -12 1 4 4 3 6 -4 -12 8 -2 -4 4 12 -8 -12 4 8 4 -2 -12 8 -8 4 12 -4 12 12 12 -8 8 -4 -12 -4 8 -4 -12 6 4 -8 1 3 -4 -4 4 4 4 -12 -8 8 4 -4 -2 -2 4 -4 3 4 -4 6 4 -4 -2 1 +1 -8 0 6 3 18 -6 -6 0 0 -14 -12 -12 0 2 0 2 0 2 0 0 12 12 6 -1 -6 -6 3 0 0 6 12 6 0 -6 0 0 6 6 12 6 -6 -6 -12 0 -6 0 0 0 0 0 0 -12 0 -6 0 -12 -2 -6 0 6 0 1 -3 -2 -12 6 4 4 6 0 12 6 -2 0 0 6 12 -3 -6 -12 0 -6 2 6 -1 +end diff --git a/demos/ppl_lcdd/examples/mp5.ext b/demos/ppl_lcdd/examples/mp5.ext new file mode 100644 index 000000000..dff1bf72b --- /dev/null +++ b/demos/ppl_lcdd/examples/mp5.ext @@ -0,0 +1,36 @@ +V-representation +begin +32 11 rational + 1 1 1 1 1 0 0 0 0 0 0 + 1 0 0 1 1 0 1 1 1 1 0 + 1 2/3 2/3 2/3 2/3 2/3 2/3 2/3 2/3 2/3 2/3 + 1 1 0 1 1 1 0 0 1 1 0 + 1 0 1 1 1 1 1 1 0 0 0 + 1 2/3 2/3 1/3 1/3 2/3 1/3 1/3 1/3 1/3 2/3 + 1 0 1 0 1 1 0 1 1 0 1 + 1 1 1 0 1 0 1 0 1 0 1 + 1 1/3 2/3 2/3 2/3 1/3 1/3 1/3 2/3 2/3 2/3 + 1 0 1 1 0 1 1 0 0 1 1 + 1 1 1 1 0 0 0 1 0 1 1 + 1 1/3 1/3 2/3 2/3 2/3 1/3 1/3 1/3 1/3 2/3 + 1 0 0 0 1 0 0 1 0 1 1 + 1 1 0 0 1 1 1 0 0 1 1 + 1 2/3 1/3 2/3 2/3 1/3 2/3 2/3 1/3 1/3 2/3 + 1 1/3 2/3 1/3 1/3 1/3 2/3 2/3 1/3 1/3 2/3 + 1 2/3 1/3 1/3 1/3 1/3 1/3 1/3 2/3 2/3 2/3 + 1 0 0 1 0 0 1 0 1 0 1 + 1 2/3 2/3 2/3 1/3 2/3 2/3 1/3 2/3 1/3 1/3 + 1 1 0 1 0 1 0 1 1 0 1 + 1 2/3 1/3 1/3 2/3 1/3 1/3 2/3 2/3 1/3 1/3 + 1 1/3 1/3 1/3 2/3 2/3 2/3 1/3 2/3 1/3 1/3 + 1 1/3 1/3 1/3 1/3 2/3 2/3 2/3 2/3 2/3 2/3 + 1 0 1 0 0 1 0 0 1 1 0 + 1 2/3 1/3 2/3 1/3 1/3 2/3 1/3 1/3 2/3 1/3 + 1 1/3 2/3 1/3 2/3 1/3 2/3 1/3 1/3 2/3 1/3 + 1 1/3 1/3 2/3 1/3 2/3 1/3 2/3 1/3 2/3 1/3 + 1 1 1 0 0 0 1 1 1 1 0 + 1 1/3 2/3 2/3 1/3 1/3 1/3 2/3 2/3 1/3 1/3 + 1 1 0 0 0 1 1 1 0 0 0 + 1 2/3 2/3 1/3 2/3 2/3 1/3 2/3 1/3 2/3 1/3 + 1 0 0 0 0 0 0 0 0 0 0 +end diff --git a/demos/ppl_lcdd/examples/mp5.ine b/demos/ppl_lcdd/examples/mp5.ine new file mode 100644 index 000000000..b9010246a --- /dev/null +++ b/demos/ppl_lcdd/examples/mp5.ine @@ -0,0 +1,45 @@ +* metric polytope on 5 points +H-representation +begin +40 11 integer +2 -1 -1 0 0 -1 0 0 0 0 0 +0 1 1 0 0 -1 0 0 0 0 0 +0 -1 0 1 0 0 1 0 0 0 0 +0 1 0 1 0 0 -1 0 0 0 0 +0 -1 0 0 1 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 1 0 0 +0 0 1 -1 0 0 0 0 1 0 0 +0 0 1 1 0 0 0 0 -1 0 0 +0 0 -1 0 1 0 0 0 0 1 0 +0 0 1 0 -1 0 0 0 0 1 0 +0 0 1 0 1 0 0 0 0 -1 0 +0 0 0 1 1 0 0 0 0 0 -1 +0 0 0 1 -1 0 0 0 0 0 1 +0 0 0 -1 1 0 0 0 0 0 1 +2 0 0 0 0 -1 -1 0 -1 0 0 +0 0 0 0 0 1 1 0 -1 0 0 +0 0 0 0 0 -1 1 0 1 0 0 +0 0 0 0 0 1 -1 0 1 0 0 +2 0 0 0 0 -1 0 -1 0 -1 0 +0 0 0 0 0 1 0 1 0 -1 0 +0 0 0 0 0 -1 0 1 0 1 0 +0 0 0 0 0 1 0 -1 0 1 0 +2 0 0 0 0 0 -1 -1 0 0 -1 +0 0 0 0 0 0 -1 1 0 0 1 +0 0 0 0 0 0 1 -1 0 0 1 +0 0 0 0 0 0 1 1 0 0 -1 +2 0 0 0 0 0 0 0 -1 -1 -1 +0 0 0 0 0 0 0 0 1 -1 1 +0 0 0 0 0 0 0 0 -1 1 1 +0 0 0 0 0 0 0 0 1 1 -1 +0 -1 1 0 0 1 0 0 0 0 0 +0 1 -1 0 0 1 0 0 0 0 0 +2 -1 0 -1 0 0 -1 0 0 0 0 +0 1 0 -1 0 0 1 0 0 0 0 +2 -1 0 0 -1 0 0 -1 0 0 0 +0 1 0 0 -1 0 0 1 0 0 0 +2 0 -1 -1 0 0 0 0 -1 0 0 +2 0 -1 0 -1 0 0 0 0 -1 0 +2 0 0 -1 -1 0 0 0 0 0 -1 +end diff --git a/demos/ppl_lcdd/examples/mp5a.ine b/demos/ppl_lcdd/examples/mp5a.ine new file mode 100644 index 000000000..6e18548ed --- /dev/null +++ b/demos/ppl_lcdd/examples/mp5a.ine @@ -0,0 +1,44 @@ +* metric polytope on 5 points +begin +40 11 integer +2 -1 -1 0 0 -1 0 0 0 0 0 +0 1 1 0 0 -1 0 0 0 0 0 +0 -1 0 1 0 0 1 0 0 0 0 +0 1 0 1 0 0 -1 0 0 0 0 +0 -1 0 0 1 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 1 0 0 +0 0 1 -1 0 0 0 0 1 0 0 +0 0 1 1 0 0 0 0 -1 0 0 +0 0 -1 0 1 0 0 0 0 1 0 +0 0 1 0 -1 0 0 0 0 1 0 +0 0 1 0 1 0 0 0 0 -1 0 +0 0 0 1 1 0 0 0 0 0 -1 +0 0 0 1 -1 0 0 0 0 0 1 +0 0 0 -1 1 0 0 0 0 0 1 +2 0 0 0 0 -1 -1 0 -1 0 0 +0 0 0 0 0 1 1 0 -1 0 0 +0 0 0 0 0 -1 1 0 1 0 0 +0 0 0 0 0 1 -1 0 1 0 0 +2 0 0 0 0 -1 0 -1 0 -1 0 +0 0 0 0 0 1 0 1 0 -1 0 +0 0 0 0 0 -1 0 1 0 1 0 +0 0 0 0 0 1 0 -1 0 1 0 +2 0 0 0 0 0 -1 -1 0 0 -1 +0 0 0 0 0 0 -1 1 0 0 1 +0 0 0 0 0 0 1 -1 0 0 1 +0 0 0 0 0 0 1 1 0 0 -1 +2 0 0 0 0 0 0 0 -1 -1 -1 +0 0 0 0 0 0 0 0 1 -1 1 +0 0 0 0 0 0 0 0 -1 1 1 +0 0 0 0 0 0 0 0 1 1 -1 +0 -1 1 0 0 1 0 0 0 0 0 +0 1 -1 0 0 1 0 0 0 0 0 +2 -1 0 -1 0 0 -1 0 0 0 0 +0 1 0 -1 0 0 1 0 0 0 0 +2 -1 0 0 -1 0 0 -1 0 0 0 +0 1 0 0 -1 0 0 1 0 0 0 +2 0 -1 -1 0 0 0 0 -1 0 0 +2 0 -1 0 -1 0 0 0 0 -1 0 +2 0 0 -1 -1 0 0 0 0 0 -1 +end diff --git a/demos/ppl_lcdd/examples/mp6.ine b/demos/ppl_lcdd/examples/mp6.ine new file mode 100644 index 000000000..735978121 --- /dev/null +++ b/demos/ppl_lcdd/examples/mp6.ine @@ -0,0 +1,84 @@ +* metric polytope on 6 points +begin +80 16 integer +0 1 1 0 0 0 -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 0 +0 1 0 1 0 0 0 -1 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 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 0 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 1 0 0 0 0 0 +0 0 1 -1 0 0 0 0 0 0 1 0 0 0 0 0 +0 0 1 1 0 0 0 0 0 0 -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 0 -1 0 0 0 0 0 0 1 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 1 0 0 0 0 0 0 1 0 0 0 +0 0 1 0 0 -1 0 0 0 0 0 0 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 0 0 0 0 0 0 0 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 0 0 0 0 0 0 0 1 0 0 +0 0 0 1 0 1 0 0 0 0 0 0 0 0 -1 0 +0 0 0 1 0 -1 0 0 0 0 0 0 0 0 1 0 +0 0 0 -1 0 1 0 0 0 0 0 0 0 0 1 0 +0 0 0 0 1 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 1 +0 0 0 0 1 -1 0 0 0 0 0 0 0 0 0 1 +2 0 0 0 0 0 -1 -1 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 0 0 0 -1 1 0 0 1 0 0 0 0 0 +0 0 0 0 0 0 1 -1 0 0 1 0 0 0 0 0 +2 0 0 0 0 0 -1 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 0 0 0 0 0 -1 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 +2 0 0 0 0 0 -1 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 0 0 0 0 1 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 +2 0 0 0 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 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 1 1 0 0 0 0 -1 0 0 +2 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 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 1 0 0 0 0 -1 0 +2 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 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 1 0 0 0 0 0 -1 +2 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 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 0 0 0 0 0 0 0 -1 1 0 1 0 0 +2 0 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 1 0 -1 0 +0 0 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 1 0 1 0 +2 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 1 1 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 0 0 0 -1 1 0 0 1 +2 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 1 1 -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 0 0 0 0 0 -1 1 1 +2 -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 0 0 0 0 0 0 +0 1 -1 0 0 0 1 0 0 0 0 0 0 0 0 0 +2 -1 0 -1 0 0 0 -1 0 0 0 0 0 0 0 0 +0 1 0 -1 0 0 0 1 0 0 0 0 0 0 0 0 +2 -1 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 0 0 0 +2 -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 0 0 0 0 0 0 +2 0 -1 -1 0 0 0 0 0 0 -1 0 0 0 0 0 +2 0 -1 0 -1 0 0 0 0 0 0 -1 0 0 0 0 +2 0 -1 0 0 -1 0 0 0 0 0 0 -1 0 0 0 +2 0 0 -1 -1 0 0 0 0 0 0 0 0 -1 0 0 +2 0 0 -1 0 -1 0 0 0 0 0 0 0 0 -1 0 +2 0 0 0 -1 -1 0 0 0 0 0 0 0 0 0 -1 +end diff --git a/demos/ppl_lcdd/examples/nonfull.ine b/demos/ppl_lcdd/examples/nonfull.ine new file mode 100644 index 000000000..b662f47ec --- /dev/null +++ b/demos/ppl_lcdd/examples/nonfull.ine @@ -0,0 +1,11 @@ +* 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/demos/ppl_lcdd/examples/origin.ine b/demos/ppl_lcdd/examples/origin.ine new file mode 100644 index 000000000..a755533c3 --- /dev/null +++ b/demos/ppl_lcdd/examples/origin.ine @@ -0,0 +1,14 @@ +* 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/demos/ppl_lcdd/examples/prodst62.ext b/demos/ppl_lcdd/examples/prodst62.ext new file mode 100644 index 000000000..6fcd39ec1 --- /dev/null +++ b/demos/ppl_lcdd/examples/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/demos/ppl_lcdd/examples/project1_m.ine b/demos/ppl_lcdd/examples/project1_m.ine new file mode 100644 index 000000000..af7e01459 --- /dev/null +++ b/demos/ppl_lcdd/examples/project1_m.ine @@ -0,0 +1,24 @@ +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 diff --git a/demos/ppl_lcdd/examples/project1res.ine b/demos/ppl_lcdd/examples/project1res.ine new file mode 100644 index 000000000..d89603ee8 --- /dev/null +++ b/demos/ppl_lcdd/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/demos/ppl_lcdd/examples/project2_m.ine b/demos/ppl_lcdd/examples/project2_m.ine new file mode 100644 index 000000000..a71cbff55 --- /dev/null +++ b/demos/ppl_lcdd/examples/project2_m.ine @@ -0,0 +1,66 @@ +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 diff --git a/demos/ppl_lcdd/examples/project2res.ine b/demos/ppl_lcdd/examples/project2res.ine new file mode 100644 index 000000000..740f2aae2 --- /dev/null +++ b/demos/ppl_lcdd/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/demos/ppl_lcdd/examples/rcubocta.ine b/demos/ppl_lcdd/examples/rcubocta.ine new file mode 100644 index 000000000..909db7245 --- /dev/null +++ b/demos/ppl_lcdd/examples/rcubocta.ine @@ -0,0 +1,31 @@ +* 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/demos/ppl_lcdd/examples/redcheck.ext b/demos/ppl_lcdd/examples/redcheck.ext new file mode 100644 index 000000000..e970c4298 --- /dev/null +++ b/demos/ppl_lcdd/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/demos/ppl_lcdd/examples/reg24-5.ext b/demos/ppl_lcdd/examples/reg24-5.ext new file mode 100644 index 000000000..b755b677e --- /dev/null +++ b/demos/ppl_lcdd/examples/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/demos/ppl_lcdd/examples/reg24-5.ine b/demos/ppl_lcdd/examples/reg24-5.ine new file mode 100644 index 000000000..d984817de --- /dev/null +++ b/demos/ppl_lcdd/examples/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/demos/ppl_lcdd/examples/reg600-5_m.ext b/demos/ppl_lcdd/examples/reg600-5_m.ext new file mode 100644 index 000000000..4147d7fd0 --- /dev/null +++ b/demos/ppl_lcdd/examples/reg600-5_m.ext @@ -0,0 +1,606 @@ +* The vertices of a 4-dim regular polytope with 600 vertices. +* Hull computation for finding all 120 facets. +V-representation +begin +600 5 rational +1 -47162307589214776/18014398509481984 -18014398509481984/18014398509481984 0 -6880887944635499/18014398509481984 +1 -47162307589214776/18014398509481984 -18014398509481984/18014398509481984 0 6880887944635499/18014398509481984 +1 -47162307589214776/18014398509481984 -6880887944635499/18014398509481984 -18014398509481984/18014398509481984 0 +1 -47162307589214776/18014398509481984 -6880887944635499/18014398509481984 18014398509481984/18014398509481984 0 +1 -47162307589214776/18014398509481984 0 -6880887944635499/18014398509481984 -18014398509481984/18014398509481984 +1 -47162307589214776/18014398509481984 0 -6880887944635499/18014398509481984 18014398509481984/18014398509481984 +1 -47162307589214776/18014398509481984 0 6880887944635499/18014398509481984 -18014398509481984/18014398509481984 +1 -47162307589214776/18014398509481984 0 6880887944635499/18014398509481984 18014398509481984/18014398509481984 +1 -47162307589214776/18014398509481984 6880887944635499/18014398509481984 -18014398509481984/18014398509481984 0 +1 -47162307589214776/18014398509481984 6880887944635499/18014398509481984 18014398509481984/18014398509481984 0 +1 -47162307589214776/18014398509481984 18014398509481984/18014398509481984 0 -6880887944635499/18014398509481984 +1 -47162307589214776/18014398509481984 18014398509481984/18014398509481984 0 6880887944635499/18014398509481984 +1 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 -6880887944635499/18014398509481984 +1 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 6880887944635499/18014398509481984 +1 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 -6880887944635499/18014398509481984 -29147909079732788/18014398509481984 +1 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 -6880887944635499/18014398509481984 29147909079732788/18014398509481984 +1 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 6880887944635499/18014398509481984 -29147909079732788/18014398509481984 +1 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 6880887944635499/18014398509481984 29147909079732788/18014398509481984 +1 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 -6880887944635499/18014398509481984 +1 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 6880887944635499/18014398509481984 +1 -29147909079732788/18014398509481984 -6880887944635499/18014398509481984 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 +1 -29147909079732788/18014398509481984 -6880887944635499/18014398509481984 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 +1 -29147909079732788/18014398509481984 -6880887944635499/18014398509481984 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 +1 -29147909079732788/18014398509481984 -6880887944635499/18014398509481984 29147909079732788/18014398509481984 29147909079732788/18014398509481984 +1 -29147909079732788/18014398509481984 6880887944635499/18014398509481984 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 +1 -29147909079732788/18014398509481984 6880887944635499/18014398509481984 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 +1 -29147909079732788/18014398509481984 6880887944635499/18014398509481984 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 +1 -29147909079732788/18014398509481984 6880887944635499/18014398509481984 29147909079732788/18014398509481984 29147909079732788/18014398509481984 +1 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 -6880887944635499/18014398509481984 +1 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 6880887944635499/18014398509481984 +1 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 -6880887944635499/18014398509481984 -29147909079732788/18014398509481984 +1 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 -6880887944635499/18014398509481984 29147909079732788/18014398509481984 +1 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 6880887944635499/18014398509481984 -29147909079732788/18014398509481984 +1 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 6880887944635499/18014398509481984 29147909079732788/18014398509481984 +1 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 29147909079732788/18014398509481984 -6880887944635499/18014398509481984 +1 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 29147909079732788/18014398509481984 6880887944635499/18014398509481984 +1 -23581153794607388/9007199254740992 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 +1 -23581153794607388/9007199254740992 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 +1 -23581153794607388/9007199254740992 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 +1 -23581153794607388/9007199254740992 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 5566755282423243/9007199254740992 +1 -23581153794607388/9007199254740992 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 +1 -23581153794607388/9007199254740992 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 +1 -23581153794607388/9007199254740992 5566755282423243/9007199254740992 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 +1 -23581153794607388/9007199254740992 5566755282423243/9007199254740992 5566755282423243/9007199254740992 5566755282423243/9007199254740992 +1 -20140709815984596/9007199254740992 -14573954539866394/9007199254740992 0 -5566755282423243/9007199254740992 +1 -20140709815984596/9007199254740992 -14573954539866394/9007199254740992 0 5566755282423243/9007199254740992 +1 -20140709815984596/9007199254740992 -5566755282423243/9007199254740992 -14573954539866394/9007199254740992 0 +1 -20140709815984596/9007199254740992 -5566755282423243/9007199254740992 14573954539866394/9007199254740992 0 +1 -20140709815984596/9007199254740992 0 -5566755282423243/9007199254740992 -14573954539866394/9007199254740992 +1 -20140709815984596/9007199254740992 0 -5566755282423243/9007199254740992 14573954539866394/9007199254740992 +1 -20140709815984596/9007199254740992 0 5566755282423243/9007199254740992 -14573954539866394/9007199254740992 +1 -20140709815984596/9007199254740992 0 5566755282423243/9007199254740992 14573954539866394/9007199254740992 +1 -20140709815984596/9007199254740992 5566755282423243/9007199254740992 -14573954539866394/9007199254740992 0 +1 -20140709815984596/9007199254740992 5566755282423243/9007199254740992 14573954539866394/9007199254740992 0 +1 -20140709815984596/9007199254740992 14573954539866394/9007199254740992 0 -5566755282423243/9007199254740992 +1 -20140709815984596/9007199254740992 14573954539866394/9007199254740992 0 5566755282423243/9007199254740992 +1 -18014398509481984/18014398509481984 -47162307589214776/18014398509481984 -6880887944635499/18014398509481984 0 +1 -18014398509481984/18014398509481984 -47162307589214776/18014398509481984 6880887944635499/18014398509481984 0 +1 -18014398509481984/9007199254740992 -14573954539866394/9007199254740992 -5566755282423243/9007199254740992 -9007199254740992/9007199254740992 +1 -18014398509481984/9007199254740992 -14573954539866394/9007199254740992 -5566755282423243/9007199254740992 9007199254740992/9007199254740992 +1 -18014398509481984/9007199254740992 -14573954539866394/9007199254740992 5566755282423243/9007199254740992 -9007199254740992/9007199254740992 +1 -18014398509481984/9007199254740992 -14573954539866394/9007199254740992 5566755282423243/9007199254740992 9007199254740992/9007199254740992 +1 -18014398509481984/9007199254740992 -9007199254740992/9007199254740992 -14573954539866394/9007199254740992 -5566755282423243/9007199254740992 +1 -18014398509481984/9007199254740992 -9007199254740992/9007199254740992 -14573954539866394/9007199254740992 5566755282423243/9007199254740992 +1 -18014398509481984/9007199254740992 -9007199254740992/9007199254740992 14573954539866394/9007199254740992 -5566755282423243/9007199254740992 +1 -18014398509481984/9007199254740992 -9007199254740992/9007199254740992 14573954539866394/9007199254740992 5566755282423243/9007199254740992 +1 -18014398509481984/18014398509481984 -6880887944635499/18014398509481984 0 -47162307589214776/18014398509481984 +1 -18014398509481984/18014398509481984 -6880887944635499/18014398509481984 0 47162307589214776/18014398509481984 +1 -18014398509481984/9007199254740992 -5566755282423243/9007199254740992 -9007199254740992/9007199254740992 -14573954539866394/9007199254740992 +1 -18014398509481984/9007199254740992 -5566755282423243/9007199254740992 -9007199254740992/9007199254740992 14573954539866394/9007199254740992 +1 -18014398509481984/9007199254740992 -5566755282423243/9007199254740992 9007199254740992/9007199254740992 -14573954539866394/9007199254740992 +1 -18014398509481984/9007199254740992 -5566755282423243/9007199254740992 9007199254740992/9007199254740992 14573954539866394/9007199254740992 +1 -18014398509481984/18014398509481984 0 -47162307589214776/18014398509481984 -6880887944635499/18014398509481984 +1 -18014398509481984/18014398509481984 0 -47162307589214776/18014398509481984 6880887944635499/18014398509481984 +1 -18014398509481984/18014398509481984 0 47162307589214776/18014398509481984 -6880887944635499/18014398509481984 +1 -18014398509481984/18014398509481984 0 47162307589214776/18014398509481984 6880887944635499/18014398509481984 +1 -18014398509481984/9007199254740992 5566755282423243/9007199254740992 -9007199254740992/9007199254740992 -14573954539866394/9007199254740992 +1 -18014398509481984/9007199254740992 5566755282423243/9007199254740992 -9007199254740992/9007199254740992 14573954539866394/9007199254740992 +1 -18014398509481984/9007199254740992 5566755282423243/9007199254740992 9007199254740992/9007199254740992 -14573954539866394/9007199254740992 +1 -18014398509481984/9007199254740992 5566755282423243/9007199254740992 9007199254740992/9007199254740992 14573954539866394/9007199254740992 +1 -18014398509481984/18014398509481984 6880887944635499/18014398509481984 0 -47162307589214776/18014398509481984 +1 -18014398509481984/18014398509481984 6880887944635499/18014398509481984 0 47162307589214776/18014398509481984 +1 -18014398509481984/9007199254740992 9007199254740992/9007199254740992 -14573954539866394/9007199254740992 -5566755282423243/9007199254740992 +1 -18014398509481984/9007199254740992 9007199254740992/9007199254740992 -14573954539866394/9007199254740992 5566755282423243/9007199254740992 +1 -18014398509481984/9007199254740992 9007199254740992/9007199254740992 14573954539866394/9007199254740992 -5566755282423243/9007199254740992 +1 -18014398509481984/9007199254740992 9007199254740992/9007199254740992 14573954539866394/9007199254740992 5566755282423243/9007199254740992 +1 -18014398509481984/9007199254740992 14573954539866394/9007199254740992 -5566755282423243/9007199254740992 -9007199254740992/9007199254740992 +1 -18014398509481984/9007199254740992 14573954539866394/9007199254740992 -5566755282423243/9007199254740992 9007199254740992/9007199254740992 +1 -18014398509481984/9007199254740992 14573954539866394/9007199254740992 5566755282423243/9007199254740992 -9007199254740992/9007199254740992 +1 -18014398509481984/9007199254740992 14573954539866394/9007199254740992 5566755282423243/9007199254740992 9007199254740992/9007199254740992 +1 -18014398509481984/18014398509481984 47162307589214776/18014398509481984 -6880887944635499/18014398509481984 0 +1 -18014398509481984/18014398509481984 47162307589214776/18014398509481984 6880887944635499/18014398509481984 0 +1 -14573954539866394/9007199254740992 -20140709815984596/9007199254740992 -5566755282423243/9007199254740992 0 +1 -14573954539866394/9007199254740992 -20140709815984596/9007199254740992 5566755282423243/9007199254740992 0 +1 -14573954539866394/9007199254740992 -18014398509481984/9007199254740992 -9007199254740992/9007199254740992 -5566755282423243/9007199254740992 +1 -14573954539866394/9007199254740992 -18014398509481984/9007199254740992 -9007199254740992/9007199254740992 5566755282423243/9007199254740992 +1 -14573954539866394/9007199254740992 -18014398509481984/9007199254740992 9007199254740992/9007199254740992 -5566755282423243/9007199254740992 +1 -14573954539866394/9007199254740992 -18014398509481984/9007199254740992 9007199254740992/9007199254740992 5566755282423243/9007199254740992 +1 -14573954539866394/9007199254740992 -9007199254740992/9007199254740992 -5566755282423243/9007199254740992 -18014398509481984/9007199254740992 +1 -14573954539866394/9007199254740992 -9007199254740992/9007199254740992 -5566755282423243/9007199254740992 18014398509481984/9007199254740992 +1 -14573954539866394/9007199254740992 -9007199254740992/9007199254740992 5566755282423243/9007199254740992 -18014398509481984/9007199254740992 +1 -14573954539866394/9007199254740992 -9007199254740992/9007199254740992 5566755282423243/9007199254740992 18014398509481984/9007199254740992 +1 -14573954539866394/9007199254740992 -5566755282423243/9007199254740992 -18014398509481984/9007199254740992 -9007199254740992/9007199254740992 +1 -14573954539866394/9007199254740992 -5566755282423243/9007199254740992 -18014398509481984/9007199254740992 9007199254740992/9007199254740992 +1 -14573954539866394/9007199254740992 -5566755282423243/9007199254740992 0 -20140709815984596/9007199254740992 +1 -14573954539866394/9007199254740992 -5566755282423243/9007199254740992 0 20140709815984596/9007199254740992 +1 -14573954539866394/9007199254740992 -5566755282423243/9007199254740992 18014398509481984/9007199254740992 -9007199254740992/9007199254740992 +1 -14573954539866394/9007199254740992 -5566755282423243/9007199254740992 18014398509481984/9007199254740992 9007199254740992/9007199254740992 +1 -14573954539866394/9007199254740992 0 -20140709815984596/9007199254740992 -5566755282423243/9007199254740992 +1 -14573954539866394/9007199254740992 0 -20140709815984596/9007199254740992 5566755282423243/9007199254740992 +1 -14573954539866394/9007199254740992 0 20140709815984596/9007199254740992 -5566755282423243/9007199254740992 +1 -14573954539866394/9007199254740992 0 20140709815984596/9007199254740992 5566755282423243/9007199254740992 +1 -14573954539866394/9007199254740992 5566755282423243/9007199254740992 -18014398509481984/9007199254740992 -9007199254740992/9007199254740992 +1 -14573954539866394/9007199254740992 5566755282423243/9007199254740992 -18014398509481984/9007199254740992 9007199254740992/9007199254740992 +1 -14573954539866394/9007199254740992 5566755282423243/9007199254740992 0 -20140709815984596/9007199254740992 +1 -14573954539866394/9007199254740992 5566755282423243/9007199254740992 0 20140709815984596/9007199254740992 +1 -14573954539866394/9007199254740992 5566755282423243/9007199254740992 18014398509481984/9007199254740992 -9007199254740992/9007199254740992 +1 -14573954539866394/9007199254740992 5566755282423243/9007199254740992 18014398509481984/9007199254740992 9007199254740992/9007199254740992 +1 -14573954539866394/9007199254740992 9007199254740992/9007199254740992 -5566755282423243/9007199254740992 -18014398509481984/9007199254740992 +1 -14573954539866394/9007199254740992 9007199254740992/9007199254740992 -5566755282423243/9007199254740992 18014398509481984/9007199254740992 +1 -14573954539866394/9007199254740992 9007199254740992/9007199254740992 5566755282423243/9007199254740992 -18014398509481984/9007199254740992 +1 -14573954539866394/9007199254740992 9007199254740992/9007199254740992 5566755282423243/9007199254740992 18014398509481984/9007199254740992 +1 -14573954539866394/9007199254740992 18014398509481984/9007199254740992 -9007199254740992/9007199254740992 -5566755282423243/9007199254740992 +1 -14573954539866394/9007199254740992 18014398509481984/9007199254740992 -9007199254740992/9007199254740992 5566755282423243/9007199254740992 +1 -14573954539866394/9007199254740992 18014398509481984/9007199254740992 9007199254740992/9007199254740992 -5566755282423243/9007199254740992 +1 -14573954539866394/9007199254740992 18014398509481984/9007199254740992 9007199254740992/9007199254740992 5566755282423243/9007199254740992 +1 -14573954539866394/9007199254740992 20140709815984596/9007199254740992 -5566755282423243/9007199254740992 0 +1 -14573954539866394/9007199254740992 20140709815984596/9007199254740992 5566755282423243/9007199254740992 0 +1 -9007199254740992/9007199254740992 -18014398509481984/9007199254740992 -5566755282423243/9007199254740992 -14573954539866394/9007199254740992 +1 -9007199254740992/9007199254740992 -18014398509481984/9007199254740992 -5566755282423243/9007199254740992 14573954539866394/9007199254740992 +1 -9007199254740992/9007199254740992 -18014398509481984/9007199254740992 5566755282423243/9007199254740992 -14573954539866394/9007199254740992 +1 -9007199254740992/9007199254740992 -18014398509481984/9007199254740992 5566755282423243/9007199254740992 14573954539866394/9007199254740992 +1 -9007199254740992/9007199254740992 -14573954539866394/9007199254740992 -18014398509481984/9007199254740992 -5566755282423243/9007199254740992 +1 -9007199254740992/9007199254740992 -14573954539866394/9007199254740992 -18014398509481984/9007199254740992 5566755282423243/9007199254740992 +1 -9007199254740992/9007199254740992 -14573954539866394/9007199254740992 18014398509481984/9007199254740992 -5566755282423243/9007199254740992 +1 -9007199254740992/9007199254740992 -14573954539866394/9007199254740992 18014398509481984/9007199254740992 5566755282423243/9007199254740992 +1 -9007199254740992/9007199254740992 -5566755282423243/9007199254740992 -14573954539866394/9007199254740992 -18014398509481984/9007199254740992 +1 -9007199254740992/9007199254740992 -5566755282423243/9007199254740992 -14573954539866394/9007199254740992 18014398509481984/9007199254740992 +1 -9007199254740992/9007199254740992 -5566755282423243/9007199254740992 14573954539866394/9007199254740992 -18014398509481984/9007199254740992 +1 -9007199254740992/9007199254740992 -5566755282423243/9007199254740992 14573954539866394/9007199254740992 18014398509481984/9007199254740992 +1 -9007199254740992/9007199254740992 5566755282423243/9007199254740992 -14573954539866394/9007199254740992 -18014398509481984/9007199254740992 +1 -9007199254740992/9007199254740992 5566755282423243/9007199254740992 -14573954539866394/9007199254740992 18014398509481984/9007199254740992 +1 -9007199254740992/9007199254740992 5566755282423243/9007199254740992 14573954539866394/9007199254740992 -18014398509481984/9007199254740992 +1 -9007199254740992/9007199254740992 5566755282423243/9007199254740992 14573954539866394/9007199254740992 18014398509481984/9007199254740992 +1 -9007199254740992/9007199254740992 14573954539866394/9007199254740992 -18014398509481984/9007199254740992 -5566755282423243/9007199254740992 +1 -9007199254740992/9007199254740992 14573954539866394/9007199254740992 -18014398509481984/9007199254740992 5566755282423243/9007199254740992 +1 -9007199254740992/9007199254740992 14573954539866394/9007199254740992 18014398509481984/9007199254740992 -5566755282423243/9007199254740992 +1 -9007199254740992/9007199254740992 14573954539866394/9007199254740992 18014398509481984/9007199254740992 5566755282423243/9007199254740992 +1 -9007199254740992/9007199254740992 18014398509481984/9007199254740992 -5566755282423243/9007199254740992 -14573954539866394/9007199254740992 +1 -9007199254740992/9007199254740992 18014398509481984/9007199254740992 -5566755282423243/9007199254740992 14573954539866394/9007199254740992 +1 -9007199254740992/9007199254740992 18014398509481984/9007199254740992 5566755282423243/9007199254740992 -14573954539866394/9007199254740992 +1 -9007199254740992/9007199254740992 18014398509481984/9007199254740992 5566755282423243/9007199254740992 14573954539866394/9007199254740992 +1 -6880887944635499/18014398509481984 -47162307589214776/18014398509481984 0 -18014398509481984/18014398509481984 +1 -6880887944635499/18014398509481984 -47162307589214776/18014398509481984 0 18014398509481984/18014398509481984 +1 -6880887944635499/18014398509481984 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 +1 -6880887944635499/18014398509481984 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 +1 -6880887944635499/18014398509481984 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 +1 -6880887944635499/18014398509481984 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 29147909079732788/18014398509481984 +1 -6880887944635499/18014398509481984 -18014398509481984/18014398509481984 -47162307589214776/18014398509481984 0 +1 -6880887944635499/18014398509481984 -18014398509481984/18014398509481984 47162307589214776/18014398509481984 0 +1 -6880887944635499/18014398509481984 0 -18014398509481984/18014398509481984 -47162307589214776/18014398509481984 +1 -6880887944635499/18014398509481984 0 -18014398509481984/18014398509481984 47162307589214776/18014398509481984 +1 -6880887944635499/18014398509481984 0 18014398509481984/18014398509481984 -47162307589214776/18014398509481984 +1 -6880887944635499/18014398509481984 0 18014398509481984/18014398509481984 47162307589214776/18014398509481984 +1 -6880887944635499/18014398509481984 18014398509481984/18014398509481984 -47162307589214776/18014398509481984 0 +1 -6880887944635499/18014398509481984 18014398509481984/18014398509481984 47162307589214776/18014398509481984 0 +1 -6880887944635499/18014398509481984 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 +1 -6880887944635499/18014398509481984 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 +1 -6880887944635499/18014398509481984 29147909079732788/18014398509481984 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 +1 -6880887944635499/18014398509481984 29147909079732788/18014398509481984 29147909079732788/18014398509481984 29147909079732788/18014398509481984 +1 -6880887944635499/18014398509481984 47162307589214776/18014398509481984 0 -18014398509481984/18014398509481984 +1 -6880887944635499/18014398509481984 47162307589214776/18014398509481984 0 18014398509481984/18014398509481984 +1 -5566755282423243/9007199254740992 -23581153794607388/9007199254740992 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 +1 -5566755282423243/9007199254740992 -23581153794607388/9007199254740992 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 +1 -5566755282423243/9007199254740992 -23581153794607388/9007199254740992 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 +1 -5566755282423243/9007199254740992 -23581153794607388/9007199254740992 5566755282423243/9007199254740992 5566755282423243/9007199254740992 +1 -5566755282423243/9007199254740992 -20140709815984596/9007199254740992 0 -14573954539866394/9007199254740992 +1 -5566755282423243/9007199254740992 -20140709815984596/9007199254740992 0 14573954539866394/9007199254740992 +1 -5566755282423243/9007199254740992 -18014398509481984/9007199254740992 -14573954539866394/9007199254740992 -9007199254740992/9007199254740992 +1 -5566755282423243/9007199254740992 -18014398509481984/9007199254740992 -14573954539866394/9007199254740992 9007199254740992/9007199254740992 +1 -5566755282423243/9007199254740992 -18014398509481984/9007199254740992 14573954539866394/9007199254740992 -9007199254740992/9007199254740992 +1 -5566755282423243/9007199254740992 -18014398509481984/9007199254740992 14573954539866394/9007199254740992 9007199254740992/9007199254740992 +1 -5566755282423243/9007199254740992 -14573954539866394/9007199254740992 -20140709815984596/9007199254740992 0 +1 -5566755282423243/9007199254740992 -14573954539866394/9007199254740992 -9007199254740992/9007199254740992 -18014398509481984/9007199254740992 +1 -5566755282423243/9007199254740992 -14573954539866394/9007199254740992 -9007199254740992/9007199254740992 18014398509481984/9007199254740992 +1 -5566755282423243/9007199254740992 -14573954539866394/9007199254740992 9007199254740992/9007199254740992 -18014398509481984/9007199254740992 +1 -5566755282423243/9007199254740992 -14573954539866394/9007199254740992 9007199254740992/9007199254740992 18014398509481984/9007199254740992 +1 -5566755282423243/9007199254740992 -14573954539866394/9007199254740992 20140709815984596/9007199254740992 0 +1 -5566755282423243/9007199254740992 -9007199254740992/9007199254740992 -18014398509481984/9007199254740992 -14573954539866394/9007199254740992 +1 -5566755282423243/9007199254740992 -9007199254740992/9007199254740992 -18014398509481984/9007199254740992 14573954539866394/9007199254740992 +1 -5566755282423243/9007199254740992 -9007199254740992/9007199254740992 18014398509481984/9007199254740992 -14573954539866394/9007199254740992 +1 -5566755282423243/9007199254740992 -9007199254740992/9007199254740992 18014398509481984/9007199254740992 14573954539866394/9007199254740992 +1 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 -23581153794607388/9007199254740992 -5566755282423243/9007199254740992 +1 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 -23581153794607388/9007199254740992 5566755282423243/9007199254740992 +1 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 -23581153794607388/9007199254740992 +1 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 23581153794607388/9007199254740992 +1 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 -23581153794607388/9007199254740992 +1 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 23581153794607388/9007199254740992 +1 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 23581153794607388/9007199254740992 -5566755282423243/9007199254740992 +1 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 23581153794607388/9007199254740992 5566755282423243/9007199254740992 +1 -5566755282423243/9007199254740992 0 -14573954539866394/9007199254740992 -20140709815984596/9007199254740992 +1 -5566755282423243/9007199254740992 0 -14573954539866394/9007199254740992 20140709815984596/9007199254740992 +1 -5566755282423243/9007199254740992 0 14573954539866394/9007199254740992 -20140709815984596/9007199254740992 +1 -5566755282423243/9007199254740992 0 14573954539866394/9007199254740992 20140709815984596/9007199254740992 +1 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 -23581153794607388/9007199254740992 -5566755282423243/9007199254740992 +1 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 -23581153794607388/9007199254740992 5566755282423243/9007199254740992 +1 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 -23581153794607388/9007199254740992 +1 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 23581153794607388/9007199254740992 +1 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 5566755282423243/9007199254740992 -23581153794607388/9007199254740992 +1 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 5566755282423243/9007199254740992 23581153794607388/9007199254740992 +1 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 23581153794607388/9007199254740992 -5566755282423243/9007199254740992 +1 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 23581153794607388/9007199254740992 5566755282423243/9007199254740992 +1 -5566755282423243/9007199254740992 9007199254740992/9007199254740992 -18014398509481984/9007199254740992 -14573954539866394/9007199254740992 +1 -5566755282423243/9007199254740992 9007199254740992/9007199254740992 -18014398509481984/9007199254740992 14573954539866394/9007199254740992 +1 -5566755282423243/9007199254740992 9007199254740992/9007199254740992 18014398509481984/9007199254740992 -14573954539866394/9007199254740992 +1 -5566755282423243/9007199254740992 9007199254740992/9007199254740992 18014398509481984/9007199254740992 14573954539866394/9007199254740992 +1 -5566755282423243/9007199254740992 14573954539866394/9007199254740992 -20140709815984596/9007199254740992 0 +1 -5566755282423243/9007199254740992 14573954539866394/9007199254740992 -9007199254740992/9007199254740992 -18014398509481984/9007199254740992 +1 -5566755282423243/9007199254740992 14573954539866394/9007199254740992 -9007199254740992/9007199254740992 18014398509481984/9007199254740992 +1 -5566755282423243/9007199254740992 14573954539866394/9007199254740992 9007199254740992/9007199254740992 -18014398509481984/9007199254740992 +1 -5566755282423243/9007199254740992 14573954539866394/9007199254740992 9007199254740992/9007199254740992 18014398509481984/9007199254740992 +1 -5566755282423243/9007199254740992 14573954539866394/9007199254740992 20140709815984596/9007199254740992 0 +1 -5566755282423243/9007199254740992 18014398509481984/9007199254740992 -14573954539866394/9007199254740992 -9007199254740992/9007199254740992 +1 -5566755282423243/9007199254740992 18014398509481984/9007199254740992 -14573954539866394/9007199254740992 9007199254740992/9007199254740992 +1 -5566755282423243/9007199254740992 18014398509481984/9007199254740992 14573954539866394/9007199254740992 -9007199254740992/9007199254740992 +1 -5566755282423243/9007199254740992 18014398509481984/9007199254740992 14573954539866394/9007199254740992 9007199254740992/9007199254740992 +1 -5566755282423243/9007199254740992 20140709815984596/9007199254740992 0 -14573954539866394/9007199254740992 +1 -5566755282423243/9007199254740992 20140709815984596/9007199254740992 0 14573954539866394/9007199254740992 +1 -5566755282423243/9007199254740992 23581153794607388/9007199254740992 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 +1 -5566755282423243/9007199254740992 23581153794607388/9007199254740992 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 +1 -5566755282423243/9007199254740992 23581153794607388/9007199254740992 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 +1 -5566755282423243/9007199254740992 23581153794607388/9007199254740992 5566755282423243/9007199254740992 5566755282423243/9007199254740992 +1 -5035177453996149/2251799813685248 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 +1 -5035177453996149/2251799813685248 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 +1 -5035177453996149/2251799813685248 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 +1 -5035177453996149/2251799813685248 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 2251799813685248/2251799813685248 +1 -5035177453996149/2251799813685248 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 +1 -5035177453996149/2251799813685248 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 +1 -5035177453996149/2251799813685248 2251799813685248/2251799813685248 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 +1 -5035177453996149/2251799813685248 2251799813685248/2251799813685248 2251799813685248/2251799813685248 2251799813685248/2251799813685248 +1 -2251799813685248/2251799813685248 -5035177453996149/2251799813685248 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 +1 -2251799813685248/2251799813685248 -5035177453996149/2251799813685248 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 +1 -2251799813685248/2251799813685248 -5035177453996149/2251799813685248 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 +1 -2251799813685248/2251799813685248 -5035177453996149/2251799813685248 2251799813685248/2251799813685248 2251799813685248/2251799813685248 +1 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 -5035177453996149/2251799813685248 -2251799813685248/2251799813685248 +1 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 -5035177453996149/2251799813685248 2251799813685248/2251799813685248 +1 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 -5035177453996149/2251799813685248 +1 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 5035177453996149/2251799813685248 +1 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 -5035177453996149/2251799813685248 +1 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 5035177453996149/2251799813685248 +1 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 5035177453996149/2251799813685248 -2251799813685248/2251799813685248 +1 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 5035177453996149/2251799813685248 2251799813685248/2251799813685248 +1 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 -5035177453996149/2251799813685248 -2251799813685248/2251799813685248 +1 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 -5035177453996149/2251799813685248 2251799813685248/2251799813685248 +1 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 -5035177453996149/2251799813685248 +1 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 5035177453996149/2251799813685248 +1 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 2251799813685248/2251799813685248 -5035177453996149/2251799813685248 +1 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 2251799813685248/2251799813685248 5035177453996149/2251799813685248 +1 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 5035177453996149/2251799813685248 -2251799813685248/2251799813685248 +1 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 5035177453996149/2251799813685248 2251799813685248/2251799813685248 +1 -2251799813685248/2251799813685248 5035177453996149/2251799813685248 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 +1 -2251799813685248/2251799813685248 5035177453996149/2251799813685248 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 +1 -2251799813685248/2251799813685248 5035177453996149/2251799813685248 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 +1 -2251799813685248/2251799813685248 5035177453996149/2251799813685248 2251799813685248/2251799813685248 2251799813685248/2251799813685248 +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 -47162307589214776/18014398509481984 -18014398509481984/18014398509481984 -6880887944635499/18014398509481984 +1 0 -47162307589214776/18014398509481984 -18014398509481984/18014398509481984 6880887944635499/18014398509481984 +1 0 -47162307589214776/18014398509481984 18014398509481984/18014398509481984 -6880887944635499/18014398509481984 +1 0 -47162307589214776/18014398509481984 18014398509481984/18014398509481984 6880887944635499/18014398509481984 +1 0 -20140709815984596/9007199254740992 -14573954539866394/9007199254740992 -5566755282423243/9007199254740992 +1 0 -20140709815984596/9007199254740992 -14573954539866394/9007199254740992 5566755282423243/9007199254740992 +1 0 -20140709815984596/9007199254740992 14573954539866394/9007199254740992 -5566755282423243/9007199254740992 +1 0 -20140709815984596/9007199254740992 14573954539866394/9007199254740992 5566755282423243/9007199254740992 +1 0 -18014398509481984/18014398509481984 -6880887944635499/18014398509481984 -47162307589214776/18014398509481984 +1 0 -18014398509481984/18014398509481984 -6880887944635499/18014398509481984 47162307589214776/18014398509481984 +1 0 -18014398509481984/18014398509481984 6880887944635499/18014398509481984 -47162307589214776/18014398509481984 +1 0 -18014398509481984/18014398509481984 6880887944635499/18014398509481984 47162307589214776/18014398509481984 +1 0 -14573954539866394/9007199254740992 -5566755282423243/9007199254740992 -20140709815984596/9007199254740992 +1 0 -14573954539866394/9007199254740992 -5566755282423243/9007199254740992 20140709815984596/9007199254740992 +1 0 -14573954539866394/9007199254740992 5566755282423243/9007199254740992 -20140709815984596/9007199254740992 +1 0 -14573954539866394/9007199254740992 5566755282423243/9007199254740992 20140709815984596/9007199254740992 +1 0 -6880887944635499/18014398509481984 -47162307589214776/18014398509481984 -18014398509481984/18014398509481984 +1 0 -6880887944635499/18014398509481984 -47162307589214776/18014398509481984 18014398509481984/18014398509481984 +1 0 -6880887944635499/18014398509481984 47162307589214776/18014398509481984 -18014398509481984/18014398509481984 +1 0 -6880887944635499/18014398509481984 47162307589214776/18014398509481984 18014398509481984/18014398509481984 +1 0 -5566755282423243/9007199254740992 -20140709815984596/9007199254740992 -14573954539866394/9007199254740992 +1 0 -5566755282423243/9007199254740992 -20140709815984596/9007199254740992 14573954539866394/9007199254740992 +1 0 -5566755282423243/9007199254740992 20140709815984596/9007199254740992 -14573954539866394/9007199254740992 +1 0 -5566755282423243/9007199254740992 20140709815984596/9007199254740992 14573954539866394/9007199254740992 +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 0 5566755282423243/9007199254740992 -20140709815984596/9007199254740992 -14573954539866394/9007199254740992 +1 0 5566755282423243/9007199254740992 -20140709815984596/9007199254740992 14573954539866394/9007199254740992 +1 0 5566755282423243/9007199254740992 20140709815984596/9007199254740992 -14573954539866394/9007199254740992 +1 0 5566755282423243/9007199254740992 20140709815984596/9007199254740992 14573954539866394/9007199254740992 +1 0 6880887944635499/18014398509481984 -47162307589214776/18014398509481984 -18014398509481984/18014398509481984 +1 0 6880887944635499/18014398509481984 -47162307589214776/18014398509481984 18014398509481984/18014398509481984 +1 0 6880887944635499/18014398509481984 47162307589214776/18014398509481984 -18014398509481984/18014398509481984 +1 0 6880887944635499/18014398509481984 47162307589214776/18014398509481984 18014398509481984/18014398509481984 +1 0 14573954539866394/9007199254740992 -5566755282423243/9007199254740992 -20140709815984596/9007199254740992 +1 0 14573954539866394/9007199254740992 -5566755282423243/9007199254740992 20140709815984596/9007199254740992 +1 0 14573954539866394/9007199254740992 5566755282423243/9007199254740992 -20140709815984596/9007199254740992 +1 0 14573954539866394/9007199254740992 5566755282423243/9007199254740992 20140709815984596/9007199254740992 +1 0 18014398509481984/18014398509481984 -6880887944635499/18014398509481984 -47162307589214776/18014398509481984 +1 0 18014398509481984/18014398509481984 -6880887944635499/18014398509481984 47162307589214776/18014398509481984 +1 0 18014398509481984/18014398509481984 6880887944635499/18014398509481984 -47162307589214776/18014398509481984 +1 0 18014398509481984/18014398509481984 6880887944635499/18014398509481984 47162307589214776/18014398509481984 +1 0 20140709815984596/9007199254740992 -14573954539866394/9007199254740992 -5566755282423243/9007199254740992 +1 0 20140709815984596/9007199254740992 -14573954539866394/9007199254740992 5566755282423243/9007199254740992 +1 0 20140709815984596/9007199254740992 14573954539866394/9007199254740992 -5566755282423243/9007199254740992 +1 0 20140709815984596/9007199254740992 14573954539866394/9007199254740992 5566755282423243/9007199254740992 +1 0 47162307589214776/18014398509481984 -18014398509481984/18014398509481984 -6880887944635499/18014398509481984 +1 0 47162307589214776/18014398509481984 -18014398509481984/18014398509481984 6880887944635499/18014398509481984 +1 0 47162307589214776/18014398509481984 18014398509481984/18014398509481984 -6880887944635499/18014398509481984 +1 0 47162307589214776/18014398509481984 18014398509481984/18014398509481984 6880887944635499/18014398509481984 +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 2251799813685248/2251799813685248 -5035177453996149/2251799813685248 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 +1 2251799813685248/2251799813685248 -5035177453996149/2251799813685248 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 +1 2251799813685248/2251799813685248 -5035177453996149/2251799813685248 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 +1 2251799813685248/2251799813685248 -5035177453996149/2251799813685248 2251799813685248/2251799813685248 2251799813685248/2251799813685248 +1 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 -5035177453996149/2251799813685248 -2251799813685248/2251799813685248 +1 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 -5035177453996149/2251799813685248 2251799813685248/2251799813685248 +1 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 -5035177453996149/2251799813685248 +1 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 5035177453996149/2251799813685248 +1 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 -5035177453996149/2251799813685248 +1 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 5035177453996149/2251799813685248 +1 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 5035177453996149/2251799813685248 -2251799813685248/2251799813685248 +1 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 5035177453996149/2251799813685248 2251799813685248/2251799813685248 +1 2251799813685248/2251799813685248 2251799813685248/2251799813685248 -5035177453996149/2251799813685248 -2251799813685248/2251799813685248 +1 2251799813685248/2251799813685248 2251799813685248/2251799813685248 -5035177453996149/2251799813685248 2251799813685248/2251799813685248 +1 2251799813685248/2251799813685248 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 -5035177453996149/2251799813685248 +1 2251799813685248/2251799813685248 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 5035177453996149/2251799813685248 +1 2251799813685248/2251799813685248 2251799813685248/2251799813685248 2251799813685248/2251799813685248 -5035177453996149/2251799813685248 +1 2251799813685248/2251799813685248 2251799813685248/2251799813685248 2251799813685248/2251799813685248 5035177453996149/2251799813685248 +1 2251799813685248/2251799813685248 2251799813685248/2251799813685248 5035177453996149/2251799813685248 -2251799813685248/2251799813685248 +1 2251799813685248/2251799813685248 2251799813685248/2251799813685248 5035177453996149/2251799813685248 2251799813685248/2251799813685248 +1 2251799813685248/2251799813685248 5035177453996149/2251799813685248 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 +1 2251799813685248/2251799813685248 5035177453996149/2251799813685248 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 +1 2251799813685248/2251799813685248 5035177453996149/2251799813685248 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 +1 2251799813685248/2251799813685248 5035177453996149/2251799813685248 2251799813685248/2251799813685248 2251799813685248/2251799813685248 +1 5035177453996149/2251799813685248 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 +1 5035177453996149/2251799813685248 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 +1 5035177453996149/2251799813685248 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 +1 5035177453996149/2251799813685248 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 2251799813685248/2251799813685248 +1 5035177453996149/2251799813685248 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 -2251799813685248/2251799813685248 +1 5035177453996149/2251799813685248 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 2251799813685248/2251799813685248 +1 5035177453996149/2251799813685248 2251799813685248/2251799813685248 2251799813685248/2251799813685248 -2251799813685248/2251799813685248 +1 5035177453996149/2251799813685248 2251799813685248/2251799813685248 2251799813685248/2251799813685248 2251799813685248/2251799813685248 +1 5566755282423243/9007199254740992 -23581153794607388/9007199254740992 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 +1 5566755282423243/9007199254740992 -23581153794607388/9007199254740992 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 +1 5566755282423243/9007199254740992 -23581153794607388/9007199254740992 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 +1 5566755282423243/9007199254740992 -23581153794607388/9007199254740992 5566755282423243/9007199254740992 5566755282423243/9007199254740992 +1 5566755282423243/9007199254740992 -20140709815984596/9007199254740992 0 -14573954539866394/9007199254740992 +1 5566755282423243/9007199254740992 -20140709815984596/9007199254740992 0 14573954539866394/9007199254740992 +1 5566755282423243/9007199254740992 -18014398509481984/9007199254740992 -14573954539866394/9007199254740992 -9007199254740992/9007199254740992 +1 5566755282423243/9007199254740992 -18014398509481984/9007199254740992 -14573954539866394/9007199254740992 9007199254740992/9007199254740992 +1 5566755282423243/9007199254740992 -18014398509481984/9007199254740992 14573954539866394/9007199254740992 -9007199254740992/9007199254740992 +1 5566755282423243/9007199254740992 -18014398509481984/9007199254740992 14573954539866394/9007199254740992 9007199254740992/9007199254740992 +1 5566755282423243/9007199254740992 -14573954539866394/9007199254740992 -20140709815984596/9007199254740992 0 +1 5566755282423243/9007199254740992 -14573954539866394/9007199254740992 -9007199254740992/9007199254740992 -18014398509481984/9007199254740992 +1 5566755282423243/9007199254740992 -14573954539866394/9007199254740992 -9007199254740992/9007199254740992 18014398509481984/9007199254740992 +1 5566755282423243/9007199254740992 -14573954539866394/9007199254740992 9007199254740992/9007199254740992 -18014398509481984/9007199254740992 +1 5566755282423243/9007199254740992 -14573954539866394/9007199254740992 9007199254740992/9007199254740992 18014398509481984/9007199254740992 +1 5566755282423243/9007199254740992 -14573954539866394/9007199254740992 20140709815984596/9007199254740992 0 +1 5566755282423243/9007199254740992 -9007199254740992/9007199254740992 -18014398509481984/9007199254740992 -14573954539866394/9007199254740992 +1 5566755282423243/9007199254740992 -9007199254740992/9007199254740992 -18014398509481984/9007199254740992 14573954539866394/9007199254740992 +1 5566755282423243/9007199254740992 -9007199254740992/9007199254740992 18014398509481984/9007199254740992 -14573954539866394/9007199254740992 +1 5566755282423243/9007199254740992 -9007199254740992/9007199254740992 18014398509481984/9007199254740992 14573954539866394/9007199254740992 +1 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 -23581153794607388/9007199254740992 -5566755282423243/9007199254740992 +1 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 -23581153794607388/9007199254740992 5566755282423243/9007199254740992 +1 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 -23581153794607388/9007199254740992 +1 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 23581153794607388/9007199254740992 +1 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 -23581153794607388/9007199254740992 +1 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 23581153794607388/9007199254740992 +1 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 23581153794607388/9007199254740992 -5566755282423243/9007199254740992 +1 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 23581153794607388/9007199254740992 5566755282423243/9007199254740992 +1 5566755282423243/9007199254740992 0 -14573954539866394/9007199254740992 -20140709815984596/9007199254740992 +1 5566755282423243/9007199254740992 0 -14573954539866394/9007199254740992 20140709815984596/9007199254740992 +1 5566755282423243/9007199254740992 0 14573954539866394/9007199254740992 -20140709815984596/9007199254740992 +1 5566755282423243/9007199254740992 0 14573954539866394/9007199254740992 20140709815984596/9007199254740992 +1 5566755282423243/9007199254740992 5566755282423243/9007199254740992 -23581153794607388/9007199254740992 -5566755282423243/9007199254740992 +1 5566755282423243/9007199254740992 5566755282423243/9007199254740992 -23581153794607388/9007199254740992 5566755282423243/9007199254740992 +1 5566755282423243/9007199254740992 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 -23581153794607388/9007199254740992 +1 5566755282423243/9007199254740992 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 23581153794607388/9007199254740992 +1 5566755282423243/9007199254740992 5566755282423243/9007199254740992 5566755282423243/9007199254740992 -23581153794607388/9007199254740992 +1 5566755282423243/9007199254740992 5566755282423243/9007199254740992 5566755282423243/9007199254740992 23581153794607388/9007199254740992 +1 5566755282423243/9007199254740992 5566755282423243/9007199254740992 23581153794607388/9007199254740992 -5566755282423243/9007199254740992 +1 5566755282423243/9007199254740992 5566755282423243/9007199254740992 23581153794607388/9007199254740992 5566755282423243/9007199254740992 +1 5566755282423243/9007199254740992 9007199254740992/9007199254740992 -18014398509481984/9007199254740992 -14573954539866394/9007199254740992 +1 5566755282423243/9007199254740992 9007199254740992/9007199254740992 -18014398509481984/9007199254740992 14573954539866394/9007199254740992 +1 5566755282423243/9007199254740992 9007199254740992/9007199254740992 18014398509481984/9007199254740992 -14573954539866394/9007199254740992 +1 5566755282423243/9007199254740992 9007199254740992/9007199254740992 18014398509481984/9007199254740992 14573954539866394/9007199254740992 +1 5566755282423243/9007199254740992 14573954539866394/9007199254740992 -20140709815984596/9007199254740992 0 +1 5566755282423243/9007199254740992 14573954539866394/9007199254740992 -9007199254740992/9007199254740992 -18014398509481984/9007199254740992 +1 5566755282423243/9007199254740992 14573954539866394/9007199254740992 -9007199254740992/9007199254740992 18014398509481984/9007199254740992 +1 5566755282423243/9007199254740992 14573954539866394/9007199254740992 9007199254740992/9007199254740992 -18014398509481984/9007199254740992 +1 5566755282423243/9007199254740992 14573954539866394/9007199254740992 9007199254740992/9007199254740992 18014398509481984/9007199254740992 +1 5566755282423243/9007199254740992 14573954539866394/9007199254740992 20140709815984596/9007199254740992 0 +1 5566755282423243/9007199254740992 18014398509481984/9007199254740992 -14573954539866394/9007199254740992 -9007199254740992/9007199254740992 +1 5566755282423243/9007199254740992 18014398509481984/9007199254740992 -14573954539866394/9007199254740992 9007199254740992/9007199254740992 +1 5566755282423243/9007199254740992 18014398509481984/9007199254740992 14573954539866394/9007199254740992 -9007199254740992/9007199254740992 +1 5566755282423243/9007199254740992 18014398509481984/9007199254740992 14573954539866394/9007199254740992 9007199254740992/9007199254740992 +1 5566755282423243/9007199254740992 20140709815984596/9007199254740992 0 -14573954539866394/9007199254740992 +1 5566755282423243/9007199254740992 20140709815984596/9007199254740992 0 14573954539866394/9007199254740992 +1 5566755282423243/9007199254740992 23581153794607388/9007199254740992 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 +1 5566755282423243/9007199254740992 23581153794607388/9007199254740992 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 +1 5566755282423243/9007199254740992 23581153794607388/9007199254740992 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 +1 5566755282423243/9007199254740992 23581153794607388/9007199254740992 5566755282423243/9007199254740992 5566755282423243/9007199254740992 +1 6880887944635499/18014398509481984 -47162307589214776/18014398509481984 0 -18014398509481984/18014398509481984 +1 6880887944635499/18014398509481984 -47162307589214776/18014398509481984 0 18014398509481984/18014398509481984 +1 6880887944635499/18014398509481984 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 +1 6880887944635499/18014398509481984 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 +1 6880887944635499/18014398509481984 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 +1 6880887944635499/18014398509481984 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 29147909079732788/18014398509481984 +1 6880887944635499/18014398509481984 -18014398509481984/18014398509481984 -47162307589214776/18014398509481984 0 +1 6880887944635499/18014398509481984 -18014398509481984/18014398509481984 47162307589214776/18014398509481984 0 +1 6880887944635499/18014398509481984 0 -18014398509481984/18014398509481984 -47162307589214776/18014398509481984 +1 6880887944635499/18014398509481984 0 -18014398509481984/18014398509481984 47162307589214776/18014398509481984 +1 6880887944635499/18014398509481984 0 18014398509481984/18014398509481984 -47162307589214776/18014398509481984 +1 6880887944635499/18014398509481984 0 18014398509481984/18014398509481984 47162307589214776/18014398509481984 +1 6880887944635499/18014398509481984 18014398509481984/18014398509481984 -47162307589214776/18014398509481984 0 +1 6880887944635499/18014398509481984 18014398509481984/18014398509481984 47162307589214776/18014398509481984 0 +1 6880887944635499/18014398509481984 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 +1 6880887944635499/18014398509481984 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 +1 6880887944635499/18014398509481984 29147909079732788/18014398509481984 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 +1 6880887944635499/18014398509481984 29147909079732788/18014398509481984 29147909079732788/18014398509481984 29147909079732788/18014398509481984 +1 6880887944635499/18014398509481984 47162307589214776/18014398509481984 0 -18014398509481984/18014398509481984 +1 6880887944635499/18014398509481984 47162307589214776/18014398509481984 0 18014398509481984/18014398509481984 +1 9007199254740992/9007199254740992 -18014398509481984/9007199254740992 -5566755282423243/9007199254740992 -14573954539866394/9007199254740992 +1 9007199254740992/9007199254740992 -18014398509481984/9007199254740992 -5566755282423243/9007199254740992 14573954539866394/9007199254740992 +1 9007199254740992/9007199254740992 -18014398509481984/9007199254740992 5566755282423243/9007199254740992 -14573954539866394/9007199254740992 +1 9007199254740992/9007199254740992 -18014398509481984/9007199254740992 5566755282423243/9007199254740992 14573954539866394/9007199254740992 +1 9007199254740992/9007199254740992 -14573954539866394/9007199254740992 -18014398509481984/9007199254740992 -5566755282423243/9007199254740992 +1 9007199254740992/9007199254740992 -14573954539866394/9007199254740992 -18014398509481984/9007199254740992 5566755282423243/9007199254740992 +1 9007199254740992/9007199254740992 -14573954539866394/9007199254740992 18014398509481984/9007199254740992 -5566755282423243/9007199254740992 +1 9007199254740992/9007199254740992 -14573954539866394/9007199254740992 18014398509481984/9007199254740992 5566755282423243/9007199254740992 +1 9007199254740992/9007199254740992 -5566755282423243/9007199254740992 -14573954539866394/9007199254740992 -18014398509481984/9007199254740992 +1 9007199254740992/9007199254740992 -5566755282423243/9007199254740992 -14573954539866394/9007199254740992 18014398509481984/9007199254740992 +1 9007199254740992/9007199254740992 -5566755282423243/9007199254740992 14573954539866394/9007199254740992 -18014398509481984/9007199254740992 +1 9007199254740992/9007199254740992 -5566755282423243/9007199254740992 14573954539866394/9007199254740992 18014398509481984/9007199254740992 +1 9007199254740992/9007199254740992 5566755282423243/9007199254740992 -14573954539866394/9007199254740992 -18014398509481984/9007199254740992 +1 9007199254740992/9007199254740992 5566755282423243/9007199254740992 -14573954539866394/9007199254740992 18014398509481984/9007199254740992 +1 9007199254740992/9007199254740992 5566755282423243/9007199254740992 14573954539866394/9007199254740992 -18014398509481984/9007199254740992 +1 9007199254740992/9007199254740992 5566755282423243/9007199254740992 14573954539866394/9007199254740992 18014398509481984/9007199254740992 +1 9007199254740992/9007199254740992 14573954539866394/9007199254740992 -18014398509481984/9007199254740992 -5566755282423243/9007199254740992 +1 9007199254740992/9007199254740992 14573954539866394/9007199254740992 -18014398509481984/9007199254740992 5566755282423243/9007199254740992 +1 9007199254740992/9007199254740992 14573954539866394/9007199254740992 18014398509481984/9007199254740992 -5566755282423243/9007199254740992 +1 9007199254740992/9007199254740992 14573954539866394/9007199254740992 18014398509481984/9007199254740992 5566755282423243/9007199254740992 +1 9007199254740992/9007199254740992 18014398509481984/9007199254740992 -5566755282423243/9007199254740992 -14573954539866394/9007199254740992 +1 9007199254740992/9007199254740992 18014398509481984/9007199254740992 -5566755282423243/9007199254740992 14573954539866394/9007199254740992 +1 9007199254740992/9007199254740992 18014398509481984/9007199254740992 5566755282423243/9007199254740992 -14573954539866394/9007199254740992 +1 9007199254740992/9007199254740992 18014398509481984/9007199254740992 5566755282423243/9007199254740992 14573954539866394/9007199254740992 +1 14573954539866394/9007199254740992 -20140709815984596/9007199254740992 -5566755282423243/9007199254740992 0 +1 14573954539866394/9007199254740992 -20140709815984596/9007199254740992 5566755282423243/9007199254740992 0 +1 14573954539866394/9007199254740992 -18014398509481984/9007199254740992 -9007199254740992/9007199254740992 -5566755282423243/9007199254740992 +1 14573954539866394/9007199254740992 -18014398509481984/9007199254740992 -9007199254740992/9007199254740992 5566755282423243/9007199254740992 +1 14573954539866394/9007199254740992 -18014398509481984/9007199254740992 9007199254740992/9007199254740992 -5566755282423243/9007199254740992 +1 14573954539866394/9007199254740992 -18014398509481984/9007199254740992 9007199254740992/9007199254740992 5566755282423243/9007199254740992 +1 14573954539866394/9007199254740992 -9007199254740992/9007199254740992 -5566755282423243/9007199254740992 -18014398509481984/9007199254740992 +1 14573954539866394/9007199254740992 -9007199254740992/9007199254740992 -5566755282423243/9007199254740992 18014398509481984/9007199254740992 +1 14573954539866394/9007199254740992 -9007199254740992/9007199254740992 5566755282423243/9007199254740992 -18014398509481984/9007199254740992 +1 14573954539866394/9007199254740992 -9007199254740992/9007199254740992 5566755282423243/9007199254740992 18014398509481984/9007199254740992 +1 14573954539866394/9007199254740992 -5566755282423243/9007199254740992 -18014398509481984/9007199254740992 -9007199254740992/9007199254740992 +1 14573954539866394/9007199254740992 -5566755282423243/9007199254740992 -18014398509481984/9007199254740992 9007199254740992/9007199254740992 +1 14573954539866394/9007199254740992 -5566755282423243/9007199254740992 0 -20140709815984596/9007199254740992 +1 14573954539866394/9007199254740992 -5566755282423243/9007199254740992 0 20140709815984596/9007199254740992 +1 14573954539866394/9007199254740992 -5566755282423243/9007199254740992 18014398509481984/9007199254740992 -9007199254740992/9007199254740992 +1 14573954539866394/9007199254740992 -5566755282423243/9007199254740992 18014398509481984/9007199254740992 9007199254740992/9007199254740992 +1 14573954539866394/9007199254740992 0 -20140709815984596/9007199254740992 -5566755282423243/9007199254740992 +1 14573954539866394/9007199254740992 0 -20140709815984596/9007199254740992 5566755282423243/9007199254740992 +1 14573954539866394/9007199254740992 0 20140709815984596/9007199254740992 -5566755282423243/9007199254740992 +1 14573954539866394/9007199254740992 0 20140709815984596/9007199254740992 5566755282423243/9007199254740992 +1 14573954539866394/9007199254740992 5566755282423243/9007199254740992 -18014398509481984/9007199254740992 -9007199254740992/9007199254740992 +1 14573954539866394/9007199254740992 5566755282423243/9007199254740992 -18014398509481984/9007199254740992 9007199254740992/9007199254740992 +1 14573954539866394/9007199254740992 5566755282423243/9007199254740992 0 -20140709815984596/9007199254740992 +1 14573954539866394/9007199254740992 5566755282423243/9007199254740992 0 20140709815984596/9007199254740992 +1 14573954539866394/9007199254740992 5566755282423243/9007199254740992 18014398509481984/9007199254740992 -9007199254740992/9007199254740992 +1 14573954539866394/9007199254740992 5566755282423243/9007199254740992 18014398509481984/9007199254740992 9007199254740992/9007199254740992 +1 14573954539866394/9007199254740992 9007199254740992/9007199254740992 -5566755282423243/9007199254740992 -18014398509481984/9007199254740992 +1 14573954539866394/9007199254740992 9007199254740992/9007199254740992 -5566755282423243/9007199254740992 18014398509481984/9007199254740992 +1 14573954539866394/9007199254740992 9007199254740992/9007199254740992 5566755282423243/9007199254740992 -18014398509481984/9007199254740992 +1 14573954539866394/9007199254740992 9007199254740992/9007199254740992 5566755282423243/9007199254740992 18014398509481984/9007199254740992 +1 14573954539866394/9007199254740992 18014398509481984/9007199254740992 -9007199254740992/9007199254740992 -5566755282423243/9007199254740992 +1 14573954539866394/9007199254740992 18014398509481984/9007199254740992 -9007199254740992/9007199254740992 5566755282423243/9007199254740992 +1 14573954539866394/9007199254740992 18014398509481984/9007199254740992 9007199254740992/9007199254740992 -5566755282423243/9007199254740992 +1 14573954539866394/9007199254740992 18014398509481984/9007199254740992 9007199254740992/9007199254740992 5566755282423243/9007199254740992 +1 14573954539866394/9007199254740992 20140709815984596/9007199254740992 -5566755282423243/9007199254740992 0 +1 14573954539866394/9007199254740992 20140709815984596/9007199254740992 5566755282423243/9007199254740992 0 +1 18014398509481984/18014398509481984 -47162307589214776/18014398509481984 -6880887944635499/18014398509481984 0 +1 18014398509481984/18014398509481984 -47162307589214776/18014398509481984 6880887944635499/18014398509481984 0 +1 18014398509481984/9007199254740992 -14573954539866394/9007199254740992 -5566755282423243/9007199254740992 -9007199254740992/9007199254740992 +1 18014398509481984/9007199254740992 -14573954539866394/9007199254740992 -5566755282423243/9007199254740992 9007199254740992/9007199254740992 +1 18014398509481984/9007199254740992 -14573954539866394/9007199254740992 5566755282423243/9007199254740992 -9007199254740992/9007199254740992 +1 18014398509481984/9007199254740992 -14573954539866394/9007199254740992 5566755282423243/9007199254740992 9007199254740992/9007199254740992 +1 18014398509481984/9007199254740992 -9007199254740992/9007199254740992 -14573954539866394/9007199254740992 -5566755282423243/9007199254740992 +1 18014398509481984/9007199254740992 -9007199254740992/9007199254740992 -14573954539866394/9007199254740992 5566755282423243/9007199254740992 +1 18014398509481984/9007199254740992 -9007199254740992/9007199254740992 14573954539866394/9007199254740992 -5566755282423243/9007199254740992 +1 18014398509481984/9007199254740992 -9007199254740992/9007199254740992 14573954539866394/9007199254740992 5566755282423243/9007199254740992 +1 18014398509481984/18014398509481984 -6880887944635499/18014398509481984 0 -47162307589214776/18014398509481984 +1 18014398509481984/18014398509481984 -6880887944635499/18014398509481984 0 47162307589214776/18014398509481984 +1 18014398509481984/9007199254740992 -5566755282423243/9007199254740992 -9007199254740992/9007199254740992 -14573954539866394/9007199254740992 +1 18014398509481984/9007199254740992 -5566755282423243/9007199254740992 -9007199254740992/9007199254740992 14573954539866394/9007199254740992 +1 18014398509481984/9007199254740992 -5566755282423243/9007199254740992 9007199254740992/9007199254740992 -14573954539866394/9007199254740992 +1 18014398509481984/9007199254740992 -5566755282423243/9007199254740992 9007199254740992/9007199254740992 14573954539866394/9007199254740992 +1 18014398509481984/18014398509481984 0 -47162307589214776/18014398509481984 -6880887944635499/18014398509481984 +1 18014398509481984/18014398509481984 0 -47162307589214776/18014398509481984 6880887944635499/18014398509481984 +1 18014398509481984/18014398509481984 0 47162307589214776/18014398509481984 -6880887944635499/18014398509481984 +1 18014398509481984/18014398509481984 0 47162307589214776/18014398509481984 6880887944635499/18014398509481984 +1 18014398509481984/9007199254740992 5566755282423243/9007199254740992 -9007199254740992/9007199254740992 -14573954539866394/9007199254740992 +1 18014398509481984/9007199254740992 5566755282423243/9007199254740992 -9007199254740992/9007199254740992 14573954539866394/9007199254740992 +1 18014398509481984/9007199254740992 5566755282423243/9007199254740992 9007199254740992/9007199254740992 -14573954539866394/9007199254740992 +1 18014398509481984/9007199254740992 5566755282423243/9007199254740992 9007199254740992/9007199254740992 14573954539866394/9007199254740992 +1 18014398509481984/18014398509481984 6880887944635499/18014398509481984 0 -47162307589214776/18014398509481984 +1 18014398509481984/18014398509481984 6880887944635499/18014398509481984 0 47162307589214776/18014398509481984 +1 18014398509481984/9007199254740992 9007199254740992/9007199254740992 -14573954539866394/9007199254740992 -5566755282423243/9007199254740992 +1 18014398509481984/9007199254740992 9007199254740992/9007199254740992 -14573954539866394/9007199254740992 5566755282423243/9007199254740992 +1 18014398509481984/9007199254740992 9007199254740992/9007199254740992 14573954539866394/9007199254740992 -5566755282423243/9007199254740992 +1 18014398509481984/9007199254740992 9007199254740992/9007199254740992 14573954539866394/9007199254740992 5566755282423243/9007199254740992 +1 18014398509481984/9007199254740992 14573954539866394/9007199254740992 -5566755282423243/9007199254740992 -9007199254740992/9007199254740992 +1 18014398509481984/9007199254740992 14573954539866394/9007199254740992 -5566755282423243/9007199254740992 9007199254740992/9007199254740992 +1 18014398509481984/9007199254740992 14573954539866394/9007199254740992 5566755282423243/9007199254740992 -9007199254740992/9007199254740992 +1 18014398509481984/9007199254740992 14573954539866394/9007199254740992 5566755282423243/9007199254740992 9007199254740992/9007199254740992 +1 18014398509481984/18014398509481984 47162307589214776/18014398509481984 -6880887944635499/18014398509481984 0 +1 18014398509481984/18014398509481984 47162307589214776/18014398509481984 6880887944635499/18014398509481984 0 +1 20140709815984596/9007199254740992 -14573954539866394/9007199254740992 0 -5566755282423243/9007199254740992 +1 20140709815984596/9007199254740992 -14573954539866394/9007199254740992 0 5566755282423243/9007199254740992 +1 20140709815984596/9007199254740992 -5566755282423243/9007199254740992 -14573954539866394/9007199254740992 0 +1 20140709815984596/9007199254740992 -5566755282423243/9007199254740992 14573954539866394/9007199254740992 0 +1 20140709815984596/9007199254740992 0 -5566755282423243/9007199254740992 -14573954539866394/9007199254740992 +1 20140709815984596/9007199254740992 0 -5566755282423243/9007199254740992 14573954539866394/9007199254740992 +1 20140709815984596/9007199254740992 0 5566755282423243/9007199254740992 -14573954539866394/9007199254740992 +1 20140709815984596/9007199254740992 0 5566755282423243/9007199254740992 14573954539866394/9007199254740992 +1 20140709815984596/9007199254740992 5566755282423243/9007199254740992 -14573954539866394/9007199254740992 0 +1 20140709815984596/9007199254740992 5566755282423243/9007199254740992 14573954539866394/9007199254740992 0 +1 20140709815984596/9007199254740992 14573954539866394/9007199254740992 0 -5566755282423243/9007199254740992 +1 20140709815984596/9007199254740992 14573954539866394/9007199254740992 0 5566755282423243/9007199254740992 +1 23581153794607388/9007199254740992 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 +1 23581153794607388/9007199254740992 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 +1 23581153794607388/9007199254740992 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 +1 23581153794607388/9007199254740992 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 5566755282423243/9007199254740992 +1 23581153794607388/9007199254740992 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 -5566755282423243/9007199254740992 +1 23581153794607388/9007199254740992 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 5566755282423243/9007199254740992 +1 23581153794607388/9007199254740992 5566755282423243/9007199254740992 5566755282423243/9007199254740992 -5566755282423243/9007199254740992 +1 23581153794607388/9007199254740992 5566755282423243/9007199254740992 5566755282423243/9007199254740992 5566755282423243/9007199254740992 +1 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 -6880887944635499/18014398509481984 +1 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 6880887944635499/18014398509481984 +1 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 -6880887944635499/18014398509481984 -29147909079732788/18014398509481984 +1 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 -6880887944635499/18014398509481984 29147909079732788/18014398509481984 +1 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 6880887944635499/18014398509481984 -29147909079732788/18014398509481984 +1 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 6880887944635499/18014398509481984 29147909079732788/18014398509481984 +1 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 -6880887944635499/18014398509481984 +1 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 6880887944635499/18014398509481984 +1 29147909079732788/18014398509481984 -6880887944635499/18014398509481984 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 +1 29147909079732788/18014398509481984 -6880887944635499/18014398509481984 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 +1 29147909079732788/18014398509481984 -6880887944635499/18014398509481984 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 +1 29147909079732788/18014398509481984 -6880887944635499/18014398509481984 29147909079732788/18014398509481984 29147909079732788/18014398509481984 +1 29147909079732788/18014398509481984 6880887944635499/18014398509481984 -29147909079732788/18014398509481984 -29147909079732788/18014398509481984 +1 29147909079732788/18014398509481984 6880887944635499/18014398509481984 -29147909079732788/18014398509481984 29147909079732788/18014398509481984 +1 29147909079732788/18014398509481984 6880887944635499/18014398509481984 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 +1 29147909079732788/18014398509481984 6880887944635499/18014398509481984 29147909079732788/18014398509481984 29147909079732788/18014398509481984 +1 29147909079732788/18014398509481984 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 -6880887944635499/18014398509481984 +1 29147909079732788/18014398509481984 29147909079732788/18014398509481984 -29147909079732788/18014398509481984 6880887944635499/18014398509481984 +1 29147909079732788/18014398509481984 29147909079732788/18014398509481984 -6880887944635499/18014398509481984 -29147909079732788/18014398509481984 +1 29147909079732788/18014398509481984 29147909079732788/18014398509481984 -6880887944635499/18014398509481984 29147909079732788/18014398509481984 +1 29147909079732788/18014398509481984 29147909079732788/18014398509481984 6880887944635499/18014398509481984 -29147909079732788/18014398509481984 +1 29147909079732788/18014398509481984 29147909079732788/18014398509481984 6880887944635499/18014398509481984 29147909079732788/18014398509481984 +1 29147909079732788/18014398509481984 29147909079732788/18014398509481984 29147909079732788/18014398509481984 -6880887944635499/18014398509481984 +1 29147909079732788/18014398509481984 29147909079732788/18014398509481984 29147909079732788/18014398509481984 6880887944635499/18014398509481984 +1 47162307589214776/18014398509481984 -18014398509481984/18014398509481984 0 -6880887944635499/18014398509481984 +1 47162307589214776/18014398509481984 -18014398509481984/18014398509481984 0 6880887944635499/18014398509481984 +1 47162307589214776/18014398509481984 -6880887944635499/18014398509481984 -18014398509481984/18014398509481984 0 +1 47162307589214776/18014398509481984 -6880887944635499/18014398509481984 18014398509481984/18014398509481984 0 +1 47162307589214776/18014398509481984 0 -6880887944635499/18014398509481984 -18014398509481984/18014398509481984 +1 47162307589214776/18014398509481984 0 -6880887944635499/18014398509481984 18014398509481984/18014398509481984 +1 47162307589214776/18014398509481984 0 6880887944635499/18014398509481984 -18014398509481984/18014398509481984 +1 47162307589214776/18014398509481984 0 6880887944635499/18014398509481984 18014398509481984/18014398509481984 +1 47162307589214776/18014398509481984 6880887944635499/18014398509481984 -18014398509481984/18014398509481984 0 +1 47162307589214776/18014398509481984 6880887944635499/18014398509481984 18014398509481984/18014398509481984 0 +1 47162307589214776/18014398509481984 18014398509481984/18014398509481984 0 -6880887944635499/18014398509481984 +1 47162307589214776/18014398509481984 18014398509481984/18014398509481984 0 6880887944635499/18014398509481984 +end diff --git a/demos/ppl_lcdd/examples/rhomtria_m.ine b/demos/ppl_lcdd/examples/rhomtria_m.ine new file mode 100644 index 000000000..26757d4f5 --- /dev/null +++ b/demos/ppl_lcdd/examples/rhomtria_m.ine @@ -0,0 +1,35 @@ +* Rhombic Triacontahedron +H-representation +begin +30 4 integer +14411518807585588 -22267021104472812 -8505245247627733 -13761775885668118 +14411518807585588 -22267021104472812 -8505245247627733 13761775885668118 +14411518807585588 -22267021104472812 8505245247627733 -13761775885668118 +14411518807585588 -22267021104472812 8505245247627733 13761775885668118 +14411518807585588 -13761775885668118 -22267021104472812 -8505245247627733 +14411518807585588 -13761775885668118 -22267021104472812 8505245247627733 +14411518807585588 -13761775885668118 22267021104472812 -8505245247627733 +14411518807585588 -13761775885668118 22267021104472812 8505245247627733 +14411518807585588 -8505245247627733 -13761775885668118 -22267021104472812 +14411518807585588 -8505245247627733 -13761775885668118 22267021104472812 +14411518807585588 -8505245247627733 13761775885668118 -22267021104472812 +14411518807585588 -8505245247627733 13761775885668118 22267021104472812 +3602879701896397 -6880887957245578 0 0 +3602879701896397 0 -6880887957245578 0 +3602879701896397 0 0 -6880887957245578 +3602879701896397 0 0 6880887957245578 +3602879701896397 0 6880887957245578 0 +3602879701896397 6880887957245578 0 0 +14411518807585588 8505245247627733 -13761775885668118 -22267021104472812 +14411518807585588 8505245247627733 -13761775885668118 22267021104472812 +14411518807585588 8505245247627733 13761775885668118 -22267021104472812 +14411518807585588 8505245247627733 13761775885668118 22267021104472812 +14411518807585588 13761775885668118 -22267021104472812 -8505245247627733 +14411518807585588 13761775885668118 -22267021104472812 8505245247627733 +14411518807585588 13761775885668118 22267021104472812 -8505245247627733 +14411518807585588 13761775885668118 22267021104472812 8505245247627733 +14411518807585588 22267021104472812 -8505245247627733 -13761775885668118 +14411518807585588 22267021104472812 -8505245247627733 13761775885668118 +14411518807585588 22267021104472812 8505245247627733 -13761775885668118 +14411518807585588 22267021104472812 8505245247627733 13761775885668118 +end diff --git a/demos/ppl_lcdd/examples/sample.ine b/demos/ppl_lcdd/examples/sample.ine new file mode 100644 index 000000000..452e1bf85 --- /dev/null +++ b/demos/ppl_lcdd/examples/sample.ine @@ -0,0 +1,11 @@ +* 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/demos/ppl_lcdd/examples/sampleh1.ine b/demos/ppl_lcdd/examples/sampleh1.ine new file mode 100644 index 000000000..93f3df3c3 --- /dev/null +++ b/demos/ppl_lcdd/examples/sampleh1.ine @@ -0,0 +1,9 @@ +* 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/demos/ppl_lcdd/examples/sampleh2.ine b/demos/ppl_lcdd/examples/sampleh2.ine new file mode 100644 index 000000000..082026d99 --- /dev/null +++ b/demos/ppl_lcdd/examples/sampleh2.ine @@ -0,0 +1,7 @@ +* a hyperplane with no vertices and rays +H-representation +begin + 1 4 integer +-1 0 0 1 +end + diff --git a/demos/ppl_lcdd/examples/sampleh3.ine b/demos/ppl_lcdd/examples/sampleh3.ine new file mode 100644 index 000000000..b2ace9b81 --- /dev/null +++ b/demos/ppl_lcdd/examples/sampleh3.ine @@ -0,0 +1,7 @@ +* 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/demos/ppl_lcdd/examples/sampleh4.ine b/demos/ppl_lcdd/examples/sampleh4.ine new file mode 100644 index 000000000..f929e10fe --- /dev/null +++ b/demos/ppl_lcdd/examples/sampleh4.ine @@ -0,0 +1,12 @@ +* 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/demos/ppl_lcdd/examples/sampleh5.ine b/demos/ppl_lcdd/examples/sampleh5.ine new file mode 100644 index 000000000..ec122d5aa --- /dev/null +++ b/demos/ppl_lcdd/examples/sampleh5.ine @@ -0,0 +1,15 @@ +* 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/demos/ppl_lcdd/examples/sampleh6.ine b/demos/ppl_lcdd/examples/sampleh6.ine new file mode 100644 index 000000000..b9c93a765 --- /dev/null +++ b/demos/ppl_lcdd/examples/sampleh6.ine @@ -0,0 +1,11 @@ +* 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/demos/ppl_lcdd/examples/sampleh7.ine b/demos/ppl_lcdd/examples/sampleh7.ine new file mode 100644 index 000000000..c4c09d202 --- /dev/null +++ b/demos/ppl_lcdd/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/demos/ppl_lcdd/examples/sampleh8.ine b/demos/ppl_lcdd/examples/sampleh8.ine new file mode 100644 index 000000000..cf5f54cb9 --- /dev/null +++ b/demos/ppl_lcdd/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/demos/ppl_lcdd/examples/samplev1.ext b/demos/ppl_lcdd/examples/samplev1.ext new file mode 100644 index 000000000..b68bf9f07 --- /dev/null +++ b/demos/ppl_lcdd/examples/samplev1.ext @@ -0,0 +1,8 @@ +* a 1-D cone in 3D space +V-representation +begin + 2 4 integer + 1 1 0 1 + 0 0 1 0 +end + diff --git a/demos/ppl_lcdd/examples/samplev2.ext b/demos/ppl_lcdd/examples/samplev2.ext new file mode 100644 index 000000000..99ab9f6b3 --- /dev/null +++ b/demos/ppl_lcdd/examples/samplev2.ext @@ -0,0 +1,11 @@ +* a 1-D cone in 3D space without any vertices +V-representation +linearity 1 3 +begin + 3 4 integer + 0 0 0 1 + 1 1 0 0 + 0 1 -1 0 +end + + diff --git a/demos/ppl_lcdd/examples/samplev3.ext b/demos/ppl_lcdd/examples/samplev3.ext new file mode 100644 index 000000000..bc92ef47b --- /dev/null +++ b/demos/ppl_lcdd/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/demos/ppl_lcdd/examples/trunc10.ine b/demos/ppl_lcdd/examples/trunc10.ine new file mode 100644 index 000000000..3f5bd91c9 --- /dev/null +++ b/demos/ppl_lcdd/examples/trunc10.ine @@ -0,0 +1,119 @@ +* delta=1/10 +* eps0=1/20 +* scut=1/40 +* pcut=1/40 +begin +112 11 integer +3 5 -5 -5 -5 -5 -5 -5 -5 -5 20 +3 -5 -5 -5 -5 -5 -5 -5 -5 -5 20 +3 0 10 0 0 0 0 0 0 0 20 +3 0 20 0 0 0 0 0 0 0 10 +3 5 20 -5 -5 -5 -5 -5 -5 -5 -5 +3 -5 20 -5 -5 -5 -5 -5 -5 -5 -5 +3 0 20 10 0 0 0 0 0 0 0 +3 0 20 0 10 0 0 0 0 0 0 +3 0 20 0 0 10 0 0 0 0 0 +3 0 20 0 0 0 10 0 0 0 0 +3 0 20 0 0 0 0 10 0 0 0 +3 0 20 0 0 0 0 0 10 0 0 +3 0 20 0 0 0 0 0 0 10 0 +3 0 0 10 0 0 0 0 0 0 20 +3 0 0 20 0 0 0 0 0 0 10 +3 5 -5 20 -5 -5 -5 -5 -5 -5 -5 +3 -5 -5 20 -5 -5 -5 -5 -5 -5 -5 +3 0 10 20 0 0 0 0 0 0 0 +3 0 0 20 10 0 0 0 0 0 0 +3 0 0 20 0 10 0 0 0 0 0 +3 0 0 20 0 0 10 0 0 0 0 +3 0 0 20 0 0 0 10 0 0 0 +3 0 0 20 0 0 0 0 10 0 0 +3 0 0 20 0 0 0 0 0 10 0 +3 0 0 0 10 0 0 0 0 0 20 +3 0 0 0 20 0 0 0 0 0 10 +3 5 -5 -5 20 -5 -5 -5 -5 -5 -5 +3 -5 -5 -5 20 -5 -5 -5 -5 -5 -5 +3 0 10 0 20 0 0 0 0 0 0 +3 0 0 10 20 0 0 0 0 0 0 +3 0 0 0 20 10 0 0 0 0 0 +3 0 0 0 20 0 10 0 0 0 0 +3 0 0 0 20 0 0 10 0 0 0 +3 0 0 0 20 0 0 0 10 0 0 +3 0 0 0 20 0 0 0 0 10 0 +3 0 0 0 0 10 0 0 0 0 20 +3 0 0 0 0 20 0 0 0 0 10 +3 5 -5 -5 -5 20 -5 -5 -5 -5 -5 +3 -5 -5 -5 -5 20 -5 -5 -5 -5 -5 +3 0 10 0 0 20 0 0 0 0 0 +3 0 0 10 0 20 0 0 0 0 0 +3 0 0 0 10 20 0 0 0 0 0 +3 0 0 0 0 20 10 0 0 0 0 +3 0 0 0 0 20 0 10 0 0 0 +3 0 0 0 0 20 0 0 10 0 0 +3 0 0 0 0 20 0 0 0 10 0 +3 0 0 0 0 0 10 0 0 0 20 +3 0 0 0 0 0 20 0 0 0 10 +3 5 -5 -5 -5 -5 20 -5 -5 -5 -5 +3 -5 -5 -5 -5 -5 20 -5 -5 -5 -5 +3 0 10 0 0 0 20 0 0 0 0 +3 0 0 10 0 0 20 0 0 0 0 +3 0 0 0 10 0 20 0 0 0 0 +3 0 0 0 0 10 20 0 0 0 0 +3 0 0 0 0 0 20 10 0 0 0 +3 0 0 0 0 0 20 0 10 0 0 +3 0 0 0 0 0 20 0 0 10 0 +3 0 0 0 0 0 0 10 0 0 20 +3 0 0 0 0 0 0 20 0 0 10 +3 5 -5 -5 -5 -5 -5 20 -5 -5 -5 +3 -5 -5 -5 -5 -5 -5 20 -5 -5 -5 +3 0 10 0 0 0 0 20 0 0 0 +3 0 0 10 0 0 0 20 0 0 0 +3 0 0 0 10 0 0 20 0 0 0 +3 0 0 0 0 10 0 20 0 0 0 +3 0 0 0 0 0 10 20 0 0 0 +3 0 0 0 0 0 0 20 10 0 0 +3 0 0 0 0 0 0 20 0 10 0 +3 0 0 0 0 0 0 0 10 0 20 +3 0 0 0 0 0 0 0 20 0 10 +3 5 -5 -5 -5 -5 -5 -5 20 -5 -5 +3 -5 -5 -5 -5 -5 -5 -5 20 -5 -5 +3 0 10 0 0 0 0 0 20 0 0 +3 0 0 10 0 0 0 0 20 0 0 +3 0 0 0 10 0 0 0 20 0 0 +3 0 0 0 0 10 0 0 20 0 0 +3 0 0 0 0 0 10 0 20 0 0 +3 0 0 0 0 0 0 10 20 0 0 +3 0 0 0 0 0 0 0 20 10 0 +3 0 0 0 0 0 0 0 0 10 20 +3 0 0 0 0 0 0 0 0 20 10 +3 5 -5 -5 -5 -5 -5 -5 -5 20 -5 +3 -5 -5 -5 -5 -5 -5 -5 -5 20 -5 +3 0 10 0 0 0 0 0 0 20 0 +3 0 0 10 0 0 0 0 0 20 0 +3 0 0 0 10 0 0 0 0 20 0 +3 0 0 0 0 10 0 0 0 20 0 +3 0 0 0 0 0 10 0 0 20 0 +3 0 0 0 0 0 0 10 0 20 0 +3 0 0 0 0 0 0 0 10 20 0 +1 10 -10 -10 -10 -10 -10 -10 -10 -10 -10 +1 -10 -10 -10 -10 -10 -10 -10 -10 -10 -10 +39 40 0 0 0 0 0 0 0 0 0 +39 -40 0 0 0 0 0 0 0 0 0 +1 0 8 0 0 0 0 0 0 0 0 +1 0 0 8 0 0 0 0 0 0 0 +1 0 0 0 8 0 0 0 0 0 0 +1 0 0 0 0 8 0 0 0 0 0 +1 0 0 0 0 0 8 0 0 0 0 +1 0 0 0 0 0 0 8 0 0 0 +1 0 0 0 0 0 0 0 8 0 0 +1 0 0 0 0 0 0 0 0 8 0 +1 0 0 0 0 0 0 0 0 0 8 +7 0 -8 0 0 0 0 0 0 0 0 +7 0 0 -8 0 0 0 0 0 0 0 +7 0 0 0 -8 0 0 0 0 0 0 +7 0 0 0 0 -8 0 0 0 0 0 +7 0 0 0 0 0 -8 0 0 0 0 +7 0 0 0 0 0 0 -8 0 0 0 +7 0 0 0 0 0 0 0 -8 0 0 +7 0 0 0 0 0 0 0 0 -8 0 +7 0 0 0 0 0 0 0 0 0 -8 +end diff --git a/demos/ppl_lcdd/examples/trunc7.ine b/demos/ppl_lcdd/examples/trunc7.ine new file mode 100644 index 000000000..8250bc060 --- /dev/null +++ b/demos/ppl_lcdd/examples/trunc7.ine @@ -0,0 +1,65 @@ +* delta=1/7 +* eps0=1/14 +* scut=1/28 +* pcut=1/28 +begin +58 8 integer +6 7 -7 -7 -7 -7 -7 28 +6 -7 -7 -7 -7 -7 -7 28 +3 0 7 0 0 0 0 14 +3 0 14 0 0 0 0 7 +6 7 28 -7 -7 -7 -7 -7 +6 -7 28 -7 -7 -7 -7 -7 +3 0 14 7 0 0 0 0 +3 0 14 0 7 0 0 0 +3 0 14 0 0 7 0 0 +3 0 14 0 0 0 7 0 +3 0 0 7 0 0 0 14 +3 0 0 14 0 0 0 7 +6 7 -7 28 -7 -7 -7 -7 +6 -7 -7 28 -7 -7 -7 -7 +3 0 7 14 0 0 0 0 +3 0 0 14 7 0 0 0 +3 0 0 14 0 7 0 0 +3 0 0 14 0 0 7 0 +3 0 0 0 7 0 0 14 +3 0 0 0 14 0 0 7 +6 7 -7 -7 28 -7 -7 -7 +6 -7 -7 -7 28 -7 -7 -7 +3 0 7 0 14 0 0 0 +3 0 0 7 14 0 0 0 +3 0 0 0 14 7 0 0 +3 0 0 0 14 0 7 0 +3 0 0 0 0 7 0 14 +3 0 0 0 0 14 0 7 +6 7 -7 -7 -7 28 -7 -7 +6 -7 -7 -7 -7 28 -7 -7 +3 0 7 0 0 14 0 0 +3 0 0 7 0 14 0 0 +3 0 0 0 7 14 0 0 +3 0 0 0 0 14 7 0 +3 0 0 0 0 0 7 14 +3 0 0 0 0 0 14 7 +6 7 -7 -7 -7 -7 28 -7 +6 -7 -7 -7 -7 -7 28 -7 +3 0 7 0 0 0 14 0 +3 0 0 7 0 0 14 0 +3 0 0 0 7 0 14 0 +3 0 0 0 0 7 14 0 +1 7 -7 -7 -7 -7 -7 -7 +1 -7 -7 -7 -7 -7 -7 -7 +27 28 0 0 0 0 0 0 +27 -28 0 0 0 0 0 0 +5 0 28 0 0 0 0 0 +5 0 0 28 0 0 0 0 +5 0 0 0 28 0 0 0 +5 0 0 0 0 28 0 0 +5 0 0 0 0 0 28 0 +5 0 0 0 0 0 0 28 +23 0 -28 0 0 0 0 0 +23 0 0 -28 0 0 0 0 +23 0 0 0 -28 0 0 0 +23 0 0 0 0 -28 0 0 +23 0 0 0 0 0 -28 0 +23 0 0 0 0 0 0 -28 +end diff --git a/demos/ppl_lcdd/examples/tsp5.ext b/demos/ppl_lcdd/examples/tsp5.ext new file mode 100644 index 000000000..b4e6874b9 --- /dev/null +++ b/demos/ppl_lcdd/examples/tsp5.ext @@ -0,0 +1,16 @@ +V-representation +begin +12 11 rational + 1 0 0 1 1 1 1 0 0 1 0 + 1 1 0 0 1 0 1 0 1 1 0 + 1 0 1 0 1 0 1 1 1 0 0 + 1 0 1 0 1 1 1 0 0 0 1 + 1 0 1 1 0 0 1 1 0 1 0 + 1 0 1 1 0 1 0 1 0 0 1 + 1 1 1 0 0 0 0 1 1 0 1 + 1 1 1 0 0 0 1 0 0 1 1 + 1 1 0 1 0 0 0 1 1 1 0 + 1 1 0 1 0 1 0 0 0 1 1 + 1 0 0 1 1 1 0 1 1 0 0 + 1 1 0 0 1 1 0 0 1 0 1 +end diff --git a/demos/ppl_lcdd/examples/tsp5.ine b/demos/ppl_lcdd/examples/tsp5.ine new file mode 100644 index 000000000..04563a2fd --- /dev/null +++ b/demos/ppl_lcdd/examples/tsp5.ine @@ -0,0 +1,30 @@ +H-representation +linearity 5 1 2 3 4 5 +begin +25 11 rational +-2 1 1 1 1 0 0 0 0 0 0 +-2 1 0 0 0 1 1 1 0 0 0 +-3 1 1 1 0 1 1 0 1 0 0 + 1 -1 0 -1 0 0 -1 0 0 1 0 + 1 -1 -1 0 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 0 0 0 + 0 0 1 0 0 0 0 0 0 0 0 + 2 -1 -1 0 0 -1 0 0 0 0 0 + 1 0 0 0 0 -1 0 0 0 0 0 + 2 -1 0 0 0 -1 -1 0 0 0 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 1 0 0 0 0 0 0 0 +-2 1 1 1 0 1 1 0 0 0 0 + 2 -1 -1 -1 0 0 0 0 0 0 0 + 1 0 0 -1 0 0 0 0 0 0 0 + 2 -1 0 -1 0 0 -1 0 0 0 0 + 3 -1 -1 -1 0 -1 -1 0 0 0 0 +-1 1 0 0 0 1 1 0 0 0 0 + 0 0 0 0 0 1 0 0 0 0 0 +-1 1 1 0 0 1 0 0 0 0 0 + 1 0 -1 0 0 0 0 0 0 0 0 + 1 0 0 0 0 0 -1 0 0 0 0 + 0 1 0 0 0 0 0 0 0 0 0 +end diff --git a/demos/ppl_lcdd/expected_int16 b/demos/ppl_lcdd/expected_int16 new file mode 100644 index 000000000..281f13ba6 --- /dev/null +++ b/demos/ppl_lcdd/expected_int16 @@ -0,0 +1,98 @@ +ccc4.ext bc96322497eecd12c4d0582ff2311cb4 - +ccc5.ext 4964babfa462514ddeb8b3b549e92982 - +ccc6.ext c458b6a2a77990c6d8fe562c9d223c2c - +ccp4.ext c57dd7951e50033fa8955810bbe273a3 - +ccp5.ext 226f386e8780b30e239586b8b2964a0d - +ccp6.ext ac5556e9e9fd1100c6b9f97384f609da - +cp4.ext c57dd7951e50033fa8955810bbe273a3 - +cp5.ext 226f386e8780b30e239586b8b2964a0d - +cp6.ext ac5556e9e9fd1100c6b9f97384f609da - +cube.ext 45f31680d2301d58a1d57c0dc09bb1f0 - +cut16_11.ext 56ec06c653436caff88819989a739b74 - +cut32_16.ext 2f524bae3b4ba2edf72f54183cb702a5 - +cyclic10-4.ext 0ddde1f99cd5b3cf899fa6778e67569e - +cyclic12-6.ext d41d8cd98f00b204e9800998ecf8427e - +cyclic14-8.ext d41d8cd98f00b204e9800998ecf8427e - +cyclic16-10.ext d41d8cd98f00b204e9800998ecf8427e - +dcube10.ext aab7857f665af827774614f090f72b51 - +dcube12.ext d2e47db88b9ea21f7fabb03c60421297 - +dcube3.ext f37f7234953ac36f582bfcad6e933397 - +dcube6.ext 09056814a1944456ce283f5839411c38 - +dcube8.ext e2ac7f22e55e7b2009d0625dd4ec724a - +irbox20-4.ext d41d8cd98f00b204e9800998ecf8427e - +irbox200-4.ext d41d8cd98f00b204e9800998ecf8427e - +mp5.ext 064e5fd8ec28e712f2c475cb19cee4e3 - +redcheck.ext 12a70972a9385cf228abe8484f68f1c6 - +reg24-5.ext 8e8fa94ededd63732112f68094fe0559 - +reg600-5_m.ext d41d8cd98f00b204e9800998ecf8427e - +samplev1.ext 0d931a85a14850fc76a3b1d5c373b917 - +samplev2.ext 6718e59a777d0ae297dbe7d6d305961a - +samplev3.ext 425b227f7720ee71af25fadbec2560b9 - +tsp5.ext e9e56d002855db0d1ba399d6cf991799 - +1d.ine 89d8b1916d823aaf7563740c09f71470 - +1da.ine 89d8b1916d823aaf7563740c09f71470 - +allzero.ine 360296f0fb93ab70b1528453d6cf02ca - +cp4.ine a868d7ab4d206871d4af3311059caa32 - +cp5.ine a329d8a17d135c38d9bbc5709a523f9a - +cross10.ine 38178216a0010320f29334df7a2f9eac - +cross12.ine 1c24d854ca16cbb6281648219c37cf0a - +cross4.ine a9bab74fd8c29016443a117b88827ca6 - +cross6.ine 3b41f0b924526fec2616f6299fe14c6f - +cross8.ine 32274fa3bd0758c81380bb305ec09d8f - +cube.ine e2498d1cd888aa8cf2762bb5a8613592 - +cube10.ine 9511f2116a3863917e7c75067ca2c2e5 - +cube12.ine a71ae423c627c68442fc2dff2b2b9e0a - +cube3.ine 4872fb1845557d484af5c09e47890ccc - +cube6.ine 59218da4f6db0b742bd18271c9d5f6da - +cube8.ine 857e4c7484b1dc5919a1629e46b856e8 - +cubetop.ine f963c1b731386d994e03975ac98b5c25 - +cubocta.ine 526a2d84e3661ead8dc6cd05c090a776 - +cyc.ine 1f3ffeef795b27e5bfc2c3de20be70f4 - +cyclic17_8.ine d41d8cd98f00b204e9800998ecf8427e - +diamond.ine a8b60aa3d60bafed0d49a05a7a260a9c - +dodeca_m.ine d41d8cd98f00b204e9800998ecf8427e - +ex1.ine 846681e0741bb57be1673b8c9170cd49 - +grcubocta.ine 49ed87ceef0f9dd80caaa7e9798886ab - +hexocta.ine 9e79ebd2ae4be939363e8a8fc9391908 - +icododeca_m.ine d41d8cd98f00b204e9800998ecf8427e - +in0.ine aee5c7fb5cdf7881c33ac3e379986b79 - +in1.ine d41d8cd98f00b204e9800998ecf8427e - +in2.ine 30fc1812a724bad238f8af157ef58729 - +in3.ine 662e46c09123c5aa87ae82a792dc3df6 - +in4.ine d41d8cd98f00b204e9800998ecf8427e - +in5.ine d41d8cd98f00b204e9800998ecf8427e - +in6.ine d41d8cd98f00b204e9800998ecf8427e - +in7.ine d41d8cd98f00b204e9800998ecf8427e - +infeas.ine 8dba32fa5e973205c7cd850bbcf5bb14 - +integralpoints.ine e8057c28540aa563ef831399d8a15654 - +kkd18_4.ine d41d8cd98f00b204e9800998ecf8427e - +kkd27_5.ine d41d8cd98f00b204e9800998ecf8427e - +kkd38_6.ine d41d8cd98f00b204e9800998ecf8427e - +kq20_11_m.ine d41d8cd98f00b204e9800998ecf8427e - +metric40_11.ine 8730ceaec3e4fe9f4155779510300011 - +metric80_16.ine 60bc723581cb4ef986f654967511b104 - +mit31-20.ine 03aef81d50c861b73302866415184106 - +mp5.ine 8730ceaec3e4fe9f4155779510300011 - +mp5a.ine 8730ceaec3e4fe9f4155779510300011 - +mp6.ine a1d322a1bf98569f129efe4774099f0a - +nonfull.ine 960129e6c4b3856ca3ebc5ed2dbb0c0e - +origin.ine 58ac995e1d9ce9dcc73d546675db0c91 - +project1_m.ine 5330d7ef41d67f29d6102ae6d961112f - +project1res.ine e2e2c0f79a34d73dfa68f44e5f3a0b76 - +project2_m.ine 629a0c15eed90e3f84307bad56301493 - +project2res.ine aaf40e2fe14795fb63f647773c0e13fe - +rcubocta.ine b75aae81c225ab7a2bcaa6217384346f - +reg24-5.ine cba2ab338cfdfd3d2374d66ce10dbca8 - +rhomtria_m.ine d41d8cd98f00b204e9800998ecf8427e - +sample.ine 1b6dfffb7025fbca392de0a359db1f01 - +sampleh1.ine 4fd28c2bca346a3fc8ab41a49ab9eede - +sampleh2.ine 4f65ae11c6bc71f613ecc33989fe760c - +sampleh3.ine 55a3fbd3f1c495a0ec66651b901f9231 - +sampleh4.ine 360296f0fb93ab70b1528453d6cf02ca - +sampleh5.ine a93fd99d5bbfc33715db65b01fc452dc - +sampleh6.ine a62303e71a549a4ae051e0a66d98bb61 - +sampleh7.ine d41d8cd98f00b204e9800998ecf8427e - +sampleh8.ine d41d8cd98f00b204e9800998ecf8427e - +trunc10.ine d41d8cd98f00b204e9800998ecf8427e - +trunc7.ine 989656d77040b040f10b241041f7c404 - +tsp5.ine 214457d06fa51e69e2edd126f66e07fc - diff --git a/demos/ppl_lcdd/expected_int16_a b/demos/ppl_lcdd/expected_int16_a new file mode 100644 index 000000000..8dbcb68a0 --- /dev/null +++ b/demos/ppl_lcdd/expected_int16_a @@ -0,0 +1,85 @@ +ccc4.ext bc96322497eecd12c4d0582ff2311cb4 - +ccc5.ext 4964babfa462514ddeb8b3b549e92982 - +ccp4.ext c57dd7951e50033fa8955810bbe273a3 - +ccp5.ext 226f386e8780b30e239586b8b2964a0d - +cp4.ext c57dd7951e50033fa8955810bbe273a3 - +cp5.ext 226f386e8780b30e239586b8b2964a0d - +cube.ext 45f31680d2301d58a1d57c0dc09bb1f0 - +cut16_11.ext 56ec06c653436caff88819989a739b74 - +cyclic10-4.ext d41d8cd98f00b204e9800998ecf8427e - +cyclic12-6.ext d41d8cd98f00b204e9800998ecf8427e - +cyclic14-8.ext d41d8cd98f00b204e9800998ecf8427e - +dcube10.ext aab7857f665af827774614f090f72b51 - +dcube12.ext d2e47db88b9ea21f7fabb03c60421297 - +dcube3.ext f37f7234953ac36f582bfcad6e933397 - +dcube6.ext 09056814a1944456ce283f5839411c38 - +dcube8.ext e2ac7f22e55e7b2009d0625dd4ec724a - +irbox20-4.ext d41d8cd98f00b204e9800998ecf8427e - +irbox200-4.ext d41d8cd98f00b204e9800998ecf8427e - +mp5.ext 064e5fd8ec28e712f2c475cb19cee4e3 - +redcheck.ext 12a70972a9385cf228abe8484f68f1c6 - +reg24-5.ext 8e8fa94ededd63732112f68094fe0559 - +samplev1.ext 0d931a85a14850fc76a3b1d5c373b917 - +samplev2.ext 6718e59a777d0ae297dbe7d6d305961a - +samplev3.ext 425b227f7720ee71af25fadbec2560b9 - +tsp5.ext e9e56d002855db0d1ba399d6cf991799 - +1d.ine 89d8b1916d823aaf7563740c09f71470 - +1da.ine 89d8b1916d823aaf7563740c09f71470 - +allzero.ine 360296f0fb93ab70b1528453d6cf02ca - +cp4.ine a868d7ab4d206871d4af3311059caa32 - +cp5.ine a329d8a17d135c38d9bbc5709a523f9a - +cross10.ine 38178216a0010320f29334df7a2f9eac - +cross12.ine 1c24d854ca16cbb6281648219c37cf0a - +cross4.ine a9bab74fd8c29016443a117b88827ca6 - +cross6.ine 3b41f0b924526fec2616f6299fe14c6f - +cross8.ine 32274fa3bd0758c81380bb305ec09d8f - +cube.ine e2498d1cd888aa8cf2762bb5a8613592 - +cube10.ine 9511f2116a3863917e7c75067ca2c2e5 - +cube12.ine a71ae423c627c68442fc2dff2b2b9e0a - +cube3.ine 4872fb1845557d484af5c09e47890ccc - +cube6.ine 59218da4f6db0b742bd18271c9d5f6da - +cube8.ine 857e4c7484b1dc5919a1629e46b856e8 - +cubetop.ine f963c1b731386d994e03975ac98b5c25 - +cubocta.ine 526a2d84e3661ead8dc6cd05c090a776 - +cyc.ine 1f3ffeef795b27e5bfc2c3de20be70f4 - +diamond.ine a8b60aa3d60bafed0d49a05a7a260a9c - +dodeca_m.ine d41d8cd98f00b204e9800998ecf8427e - +ex1.ine 846681e0741bb57be1673b8c9170cd49 - +grcubocta.ine 49ed87ceef0f9dd80caaa7e9798886ab - +hexocta.ine 9e79ebd2ae4be939363e8a8fc9391908 - +icododeca_m.ine d41d8cd98f00b204e9800998ecf8427e - +in0.ine aee5c7fb5cdf7881c33ac3e379986b79 - +in1.ine d41d8cd98f00b204e9800998ecf8427e - +in2.ine 30fc1812a724bad238f8af157ef58729 - +in3.ine 662e46c09123c5aa87ae82a792dc3df6 - +in4.ine d41d8cd98f00b204e9800998ecf8427e - +in5.ine d41d8cd98f00b204e9800998ecf8427e - +infeas.ine 8dba32fa5e973205c7cd850bbcf5bb14 - +integralpoints.ine d41d8cd98f00b204e9800998ecf8427e - +kkd18_4.ine d41d8cd98f00b204e9800998ecf8427e - +kkd27_5.ine d41d8cd98f00b204e9800998ecf8427e - +kkd38_6.ine d41d8cd98f00b204e9800998ecf8427e - +metric40_11.ine 8730ceaec3e4fe9f4155779510300011 - +metric80_16.ine 60bc723581cb4ef986f654967511b104 - +mp5.ine 8730ceaec3e4fe9f4155779510300011 - +mp5a.ine 8730ceaec3e4fe9f4155779510300011 - +mp6.ine a1d322a1bf98569f129efe4774099f0a - +nonfull.ine 960129e6c4b3856ca3ebc5ed2dbb0c0e - +origin.ine 58ac995e1d9ce9dcc73d546675db0c91 - +project1_m.ine 5330d7ef41d67f29d6102ae6d961112f - +project1res.ine e2e2c0f79a34d73dfa68f44e5f3a0b76 - +project2_m.ine 629a0c15eed90e3f84307bad56301493 - +project2res.ine aaf40e2fe14795fb63f647773c0e13fe - +rcubocta.ine b75aae81c225ab7a2bcaa6217384346f - +reg24-5.ine cba2ab338cfdfd3d2374d66ce10dbca8 - +rhomtria_m.ine d41d8cd98f00b204e9800998ecf8427e - +sample.ine 1b6dfffb7025fbca392de0a359db1f01 - +sampleh1.ine 4fd28c2bca346a3fc8ab41a49ab9eede - +sampleh2.ine 4f65ae11c6bc71f613ecc33989fe760c - +sampleh3.ine 55a3fbd3f1c495a0ec66651b901f9231 - +sampleh4.ine 360296f0fb93ab70b1528453d6cf02ca - +sampleh5.ine a93fd99d5bbfc33715db65b01fc452dc - +sampleh6.ine a62303e71a549a4ae051e0a66d98bb61 - +sampleh7.ine d41d8cd98f00b204e9800998ecf8427e - +trunc7.ine d41d8cd98f00b204e9800998ecf8427e - +tsp5.ine 214457d06fa51e69e2edd126f66e07fc - diff --git a/demos/ppl_lcdd/expected_int32 b/demos/ppl_lcdd/expected_int32 new file mode 100644 index 000000000..2e253f84a --- /dev/null +++ b/demos/ppl_lcdd/expected_int32 @@ -0,0 +1,98 @@ +ccc4.ext bc96322497eecd12c4d0582ff2311cb4 - +ccc5.ext 4964babfa462514ddeb8b3b549e92982 - +ccc6.ext c458b6a2a77990c6d8fe562c9d223c2c - +ccp4.ext c57dd7951e50033fa8955810bbe273a3 - +ccp5.ext 226f386e8780b30e239586b8b2964a0d - +ccp6.ext ac5556e9e9fd1100c6b9f97384f609da - +cp4.ext c57dd7951e50033fa8955810bbe273a3 - +cp5.ext 226f386e8780b30e239586b8b2964a0d - +cp6.ext ac5556e9e9fd1100c6b9f97384f609da - +cube.ext 45f31680d2301d58a1d57c0dc09bb1f0 - +cut16_11.ext 56ec06c653436caff88819989a739b74 - +cut32_16.ext 2f524bae3b4ba2edf72f54183cb702a5 - +cyclic10-4.ext 0ddde1f99cd5b3cf899fa6778e67569e - +cyclic12-6.ext d72a192a8057e34b9cd3a9ad112b6cd2 - +cyclic14-8.ext d41d8cd98f00b204e9800998ecf8427e - +cyclic16-10.ext d41d8cd98f00b204e9800998ecf8427e - +dcube10.ext aab7857f665af827774614f090f72b51 - +dcube12.ext d2e47db88b9ea21f7fabb03c60421297 - +dcube3.ext f37f7234953ac36f582bfcad6e933397 - +dcube6.ext 09056814a1944456ce283f5839411c38 - +dcube8.ext e2ac7f22e55e7b2009d0625dd4ec724a - +irbox20-4.ext d41d8cd98f00b204e9800998ecf8427e - +irbox200-4.ext d41d8cd98f00b204e9800998ecf8427e - +mp5.ext 064e5fd8ec28e712f2c475cb19cee4e3 - +redcheck.ext 12a70972a9385cf228abe8484f68f1c6 - +reg24-5.ext 8e8fa94ededd63732112f68094fe0559 - +reg600-5_m.ext d41d8cd98f00b204e9800998ecf8427e - +samplev1.ext 0d931a85a14850fc76a3b1d5c373b917 - +samplev2.ext 6718e59a777d0ae297dbe7d6d305961a - +samplev3.ext 425b227f7720ee71af25fadbec2560b9 - +tsp5.ext e9e56d002855db0d1ba399d6cf991799 - +1d.ine 89d8b1916d823aaf7563740c09f71470 - +1da.ine 89d8b1916d823aaf7563740c09f71470 - +allzero.ine 360296f0fb93ab70b1528453d6cf02ca - +cp4.ine a868d7ab4d206871d4af3311059caa32 - +cp5.ine a329d8a17d135c38d9bbc5709a523f9a - +cross10.ine 38178216a0010320f29334df7a2f9eac - +cross12.ine 1c24d854ca16cbb6281648219c37cf0a - +cross4.ine a9bab74fd8c29016443a117b88827ca6 - +cross6.ine 3b41f0b924526fec2616f6299fe14c6f - +cross8.ine 32274fa3bd0758c81380bb305ec09d8f - +cube.ine e2498d1cd888aa8cf2762bb5a8613592 - +cube10.ine 9511f2116a3863917e7c75067ca2c2e5 - +cube12.ine a71ae423c627c68442fc2dff2b2b9e0a - +cube3.ine 4872fb1845557d484af5c09e47890ccc - +cube6.ine 59218da4f6db0b742bd18271c9d5f6da - +cube8.ine 857e4c7484b1dc5919a1629e46b856e8 - +cubetop.ine f963c1b731386d994e03975ac98b5c25 - +cubocta.ine 526a2d84e3661ead8dc6cd05c090a776 - +cyc.ine 1f3ffeef795b27e5bfc2c3de20be70f4 - +cyclic17_8.ine d41d8cd98f00b204e9800998ecf8427e - +diamond.ine a8b60aa3d60bafed0d49a05a7a260a9c - +dodeca_m.ine d41d8cd98f00b204e9800998ecf8427e - +ex1.ine 846681e0741bb57be1673b8c9170cd49 - +grcubocta.ine 49ed87ceef0f9dd80caaa7e9798886ab - +hexocta.ine 9e79ebd2ae4be939363e8a8fc9391908 - +icododeca_m.ine d41d8cd98f00b204e9800998ecf8427e - +in0.ine aee5c7fb5cdf7881c33ac3e379986b79 - +in1.ine d41d8cd98f00b204e9800998ecf8427e - +in2.ine 30fc1812a724bad238f8af157ef58729 - +in3.ine 662e46c09123c5aa87ae82a792dc3df6 - +in4.ine 9e3e0e301762546a26557c8bee786732 - +in5.ine c29524500ec4656ca26c5671df46db96 - +in6.ine 1d81f92f878af596166bc64c20392e5b - +in7.ine d41d8cd98f00b204e9800998ecf8427e - +infeas.ine 8dba32fa5e973205c7cd850bbcf5bb14 - +integralpoints.ine e8057c28540aa563ef831399d8a15654 - +kkd18_4.ine d41d8cd98f00b204e9800998ecf8427e - +kkd27_5.ine d41d8cd98f00b204e9800998ecf8427e - +kkd38_6.ine d41d8cd98f00b204e9800998ecf8427e - +kq20_11_m.ine d41d8cd98f00b204e9800998ecf8427e - +metric40_11.ine 8730ceaec3e4fe9f4155779510300011 - +metric80_16.ine 60bc723581cb4ef986f654967511b104 - +mit31-20.ine 03aef81d50c861b73302866415184106 - +mp5.ine 8730ceaec3e4fe9f4155779510300011 - +mp5a.ine 8730ceaec3e4fe9f4155779510300011 - +mp6.ine a1d322a1bf98569f129efe4774099f0a - +nonfull.ine 960129e6c4b3856ca3ebc5ed2dbb0c0e - +origin.ine 58ac995e1d9ce9dcc73d546675db0c91 - +project1_m.ine 5330d7ef41d67f29d6102ae6d961112f - +project1res.ine e2e2c0f79a34d73dfa68f44e5f3a0b76 - +project2_m.ine 629a0c15eed90e3f84307bad56301493 - +project2res.ine aaf40e2fe14795fb63f647773c0e13fe - +rcubocta.ine b75aae81c225ab7a2bcaa6217384346f - +reg24-5.ine cba2ab338cfdfd3d2374d66ce10dbca8 - +rhomtria_m.ine d41d8cd98f00b204e9800998ecf8427e - +sample.ine 1b6dfffb7025fbca392de0a359db1f01 - +sampleh1.ine 4fd28c2bca346a3fc8ab41a49ab9eede - +sampleh2.ine 4f65ae11c6bc71f613ecc33989fe760c - +sampleh3.ine 55a3fbd3f1c495a0ec66651b901f9231 - +sampleh4.ine 360296f0fb93ab70b1528453d6cf02ca - +sampleh5.ine a93fd99d5bbfc33715db65b01fc452dc - +sampleh6.ine a62303e71a549a4ae051e0a66d98bb61 - +sampleh7.ine d41d8cd98f00b204e9800998ecf8427e - +sampleh8.ine d41d8cd98f00b204e9800998ecf8427e - +trunc10.ine edecfb72df1fe7f8c4849cdb3c47bfce - +trunc7.ine 989656d77040b040f10b241041f7c404 - +tsp5.ine 214457d06fa51e69e2edd126f66e07fc - diff --git a/demos/ppl_lcdd/expected_int32_a b/demos/ppl_lcdd/expected_int32_a new file mode 100644 index 000000000..afac8d7a0 --- /dev/null +++ b/demos/ppl_lcdd/expected_int32_a @@ -0,0 +1,85 @@ +ccc4.ext bc96322497eecd12c4d0582ff2311cb4 - +ccc5.ext 4964babfa462514ddeb8b3b549e92982 - +ccp4.ext c57dd7951e50033fa8955810bbe273a3 - +ccp5.ext 226f386e8780b30e239586b8b2964a0d - +cp4.ext c57dd7951e50033fa8955810bbe273a3 - +cp5.ext 226f386e8780b30e239586b8b2964a0d - +cube.ext 45f31680d2301d58a1d57c0dc09bb1f0 - +cut16_11.ext 56ec06c653436caff88819989a739b74 - +cyclic10-4.ext 0ddde1f99cd5b3cf899fa6778e67569e - +cyclic12-6.ext d41d8cd98f00b204e9800998ecf8427e - +cyclic14-8.ext d41d8cd98f00b204e9800998ecf8427e - +dcube10.ext aab7857f665af827774614f090f72b51 - +dcube12.ext d2e47db88b9ea21f7fabb03c60421297 - +dcube3.ext f37f7234953ac36f582bfcad6e933397 - +dcube6.ext 09056814a1944456ce283f5839411c38 - +dcube8.ext e2ac7f22e55e7b2009d0625dd4ec724a - +irbox20-4.ext d41d8cd98f00b204e9800998ecf8427e - +irbox200-4.ext d41d8cd98f00b204e9800998ecf8427e - +mp5.ext 064e5fd8ec28e712f2c475cb19cee4e3 - +redcheck.ext 12a70972a9385cf228abe8484f68f1c6 - +reg24-5.ext 8e8fa94ededd63732112f68094fe0559 - +samplev1.ext 0d931a85a14850fc76a3b1d5c373b917 - +samplev2.ext 6718e59a777d0ae297dbe7d6d305961a - +samplev3.ext 425b227f7720ee71af25fadbec2560b9 - +tsp5.ext e9e56d002855db0d1ba399d6cf991799 - +1d.ine 89d8b1916d823aaf7563740c09f71470 - +1da.ine 89d8b1916d823aaf7563740c09f71470 - +allzero.ine 360296f0fb93ab70b1528453d6cf02ca - +cp4.ine a868d7ab4d206871d4af3311059caa32 - +cp5.ine a329d8a17d135c38d9bbc5709a523f9a - +cross10.ine 38178216a0010320f29334df7a2f9eac - +cross12.ine 1c24d854ca16cbb6281648219c37cf0a - +cross4.ine a9bab74fd8c29016443a117b88827ca6 - +cross6.ine 3b41f0b924526fec2616f6299fe14c6f - +cross8.ine 32274fa3bd0758c81380bb305ec09d8f - +cube.ine e2498d1cd888aa8cf2762bb5a8613592 - +cube10.ine 9511f2116a3863917e7c75067ca2c2e5 - +cube12.ine a71ae423c627c68442fc2dff2b2b9e0a - +cube3.ine 4872fb1845557d484af5c09e47890ccc - +cube6.ine 59218da4f6db0b742bd18271c9d5f6da - +cube8.ine 857e4c7484b1dc5919a1629e46b856e8 - +cubetop.ine f963c1b731386d994e03975ac98b5c25 - +cubocta.ine 526a2d84e3661ead8dc6cd05c090a776 - +cyc.ine 1f3ffeef795b27e5bfc2c3de20be70f4 - +diamond.ine a8b60aa3d60bafed0d49a05a7a260a9c - +dodeca_m.ine d41d8cd98f00b204e9800998ecf8427e - +ex1.ine 846681e0741bb57be1673b8c9170cd49 - +grcubocta.ine 49ed87ceef0f9dd80caaa7e9798886ab - +hexocta.ine 9e79ebd2ae4be939363e8a8fc9391908 - +icododeca_m.ine d41d8cd98f00b204e9800998ecf8427e - +in0.ine aee5c7fb5cdf7881c33ac3e379986b79 - +in1.ine d41d8cd98f00b204e9800998ecf8427e - +in2.ine 30fc1812a724bad238f8af157ef58729 - +in3.ine 662e46c09123c5aa87ae82a792dc3df6 - +in4.ine d41d8cd98f00b204e9800998ecf8427e - +in5.ine d41d8cd98f00b204e9800998ecf8427e - +infeas.ine 8dba32fa5e973205c7cd850bbcf5bb14 - +integralpoints.ine d41d8cd98f00b204e9800998ecf8427e - +kkd18_4.ine d41d8cd98f00b204e9800998ecf8427e - +kkd27_5.ine d41d8cd98f00b204e9800998ecf8427e - +kkd38_6.ine d41d8cd98f00b204e9800998ecf8427e - +metric40_11.ine 8730ceaec3e4fe9f4155779510300011 - +metric80_16.ine 60bc723581cb4ef986f654967511b104 - +mp5.ine 8730ceaec3e4fe9f4155779510300011 - +mp5a.ine 8730ceaec3e4fe9f4155779510300011 - +mp6.ine a1d322a1bf98569f129efe4774099f0a - +nonfull.ine 960129e6c4b3856ca3ebc5ed2dbb0c0e - +origin.ine 58ac995e1d9ce9dcc73d546675db0c91 - +project1_m.ine 5330d7ef41d67f29d6102ae6d961112f - +project1res.ine e2e2c0f79a34d73dfa68f44e5f3a0b76 - +project2_m.ine 629a0c15eed90e3f84307bad56301493 - +project2res.ine aaf40e2fe14795fb63f647773c0e13fe - +rcubocta.ine b75aae81c225ab7a2bcaa6217384346f - +reg24-5.ine cba2ab338cfdfd3d2374d66ce10dbca8 - +rhomtria_m.ine d41d8cd98f00b204e9800998ecf8427e - +sample.ine 1b6dfffb7025fbca392de0a359db1f01 - +sampleh1.ine 4fd28c2bca346a3fc8ab41a49ab9eede - +sampleh2.ine 4f65ae11c6bc71f613ecc33989fe760c - +sampleh3.ine 55a3fbd3f1c495a0ec66651b901f9231 - +sampleh4.ine 360296f0fb93ab70b1528453d6cf02ca - +sampleh5.ine a93fd99d5bbfc33715db65b01fc452dc - +sampleh6.ine a62303e71a549a4ae051e0a66d98bb61 - +sampleh7.ine d41d8cd98f00b204e9800998ecf8427e - +trunc7.ine d41d8cd98f00b204e9800998ecf8427e - +tsp5.ine 214457d06fa51e69e2edd126f66e07fc - diff --git a/demos/ppl_lcdd/expected_int64 b/demos/ppl_lcdd/expected_int64 new file mode 100644 index 000000000..bae6f3d3e --- /dev/null +++ b/demos/ppl_lcdd/expected_int64 @@ -0,0 +1,98 @@ +ccc4.ext bc96322497eecd12c4d0582ff2311cb4 - +ccc5.ext 4964babfa462514ddeb8b3b549e92982 - +ccc6.ext c458b6a2a77990c6d8fe562c9d223c2c - +ccp4.ext c57dd7951e50033fa8955810bbe273a3 - +ccp5.ext 226f386e8780b30e239586b8b2964a0d - +ccp6.ext ac5556e9e9fd1100c6b9f97384f609da - +cp4.ext c57dd7951e50033fa8955810bbe273a3 - +cp5.ext 226f386e8780b30e239586b8b2964a0d - +cp6.ext ac5556e9e9fd1100c6b9f97384f609da - +cube.ext 45f31680d2301d58a1d57c0dc09bb1f0 - +cut16_11.ext 56ec06c653436caff88819989a739b74 - +cut32_16.ext 2f524bae3b4ba2edf72f54183cb702a5 - +cyclic10-4.ext 0ddde1f99cd5b3cf899fa6778e67569e - +cyclic12-6.ext d72a192a8057e34b9cd3a9ad112b6cd2 - +cyclic14-8.ext a4a97e43ad11ff98450b2a94618e373d - +cyclic16-10.ext d41d8cd98f00b204e9800998ecf8427e - +dcube10.ext aab7857f665af827774614f090f72b51 - +dcube12.ext d2e47db88b9ea21f7fabb03c60421297 - +dcube3.ext f37f7234953ac36f582bfcad6e933397 - +dcube6.ext 09056814a1944456ce283f5839411c38 - +dcube8.ext e2ac7f22e55e7b2009d0625dd4ec724a - +irbox20-4.ext 1324d63c4fe3e0902178254e768e9504 - +irbox200-4.ext eb69ce06ed90547eeb9ff98a62ce3b7e - +mp5.ext 064e5fd8ec28e712f2c475cb19cee4e3 - +redcheck.ext 12a70972a9385cf228abe8484f68f1c6 - +reg24-5.ext 8e8fa94ededd63732112f68094fe0559 - +reg600-5_m.ext d41d8cd98f00b204e9800998ecf8427e - +samplev1.ext 0d931a85a14850fc76a3b1d5c373b917 - +samplev2.ext 6718e59a777d0ae297dbe7d6d305961a - +samplev3.ext 425b227f7720ee71af25fadbec2560b9 - +tsp5.ext e9e56d002855db0d1ba399d6cf991799 - +1d.ine 89d8b1916d823aaf7563740c09f71470 - +1da.ine 89d8b1916d823aaf7563740c09f71470 - +allzero.ine 360296f0fb93ab70b1528453d6cf02ca - +cp4.ine a868d7ab4d206871d4af3311059caa32 - +cp5.ine a329d8a17d135c38d9bbc5709a523f9a - +cross10.ine 38178216a0010320f29334df7a2f9eac - +cross12.ine 1c24d854ca16cbb6281648219c37cf0a - +cross4.ine a9bab74fd8c29016443a117b88827ca6 - +cross6.ine 3b41f0b924526fec2616f6299fe14c6f - +cross8.ine 32274fa3bd0758c81380bb305ec09d8f - +cube.ine e2498d1cd888aa8cf2762bb5a8613592 - +cube10.ine 9511f2116a3863917e7c75067ca2c2e5 - +cube12.ine a71ae423c627c68442fc2dff2b2b9e0a - +cube3.ine 4872fb1845557d484af5c09e47890ccc - +cube6.ine 59218da4f6db0b742bd18271c9d5f6da - +cube8.ine 857e4c7484b1dc5919a1629e46b856e8 - +cubetop.ine f963c1b731386d994e03975ac98b5c25 - +cubocta.ine 526a2d84e3661ead8dc6cd05c090a776 - +cyc.ine 1f3ffeef795b27e5bfc2c3de20be70f4 - +cyclic17_8.ine d41d8cd98f00b204e9800998ecf8427e - +diamond.ine a8b60aa3d60bafed0d49a05a7a260a9c - +dodeca_m.ine d41d8cd98f00b204e9800998ecf8427e - +ex1.ine 846681e0741bb57be1673b8c9170cd49 - +grcubocta.ine 49ed87ceef0f9dd80caaa7e9798886ab - +hexocta.ine 9e79ebd2ae4be939363e8a8fc9391908 - +icododeca_m.ine d41d8cd98f00b204e9800998ecf8427e - +in0.ine aee5c7fb5cdf7881c33ac3e379986b79 - +in1.ine d41d8cd98f00b204e9800998ecf8427e - +in2.ine 30fc1812a724bad238f8af157ef58729 - +in3.ine 662e46c09123c5aa87ae82a792dc3df6 - +in4.ine 9e3e0e301762546a26557c8bee786732 - +in5.ine c29524500ec4656ca26c5671df46db96 - +in6.ine 1d81f92f878af596166bc64c20392e5b - +in7.ine d41d8cd98f00b204e9800998ecf8427e - +infeas.ine 8dba32fa5e973205c7cd850bbcf5bb14 - +integralpoints.ine e8057c28540aa563ef831399d8a15654 - +kkd18_4.ine d41d8cd98f00b204e9800998ecf8427e - +kkd27_5.ine d41d8cd98f00b204e9800998ecf8427e - +kkd38_6.ine d41d8cd98f00b204e9800998ecf8427e - +kq20_11_m.ine d41d8cd98f00b204e9800998ecf8427e - +metric40_11.ine 8730ceaec3e4fe9f4155779510300011 - +metric80_16.ine 60bc723581cb4ef986f654967511b104 - +mit31-20.ine 03aef81d50c861b73302866415184106 - +mp5.ine 8730ceaec3e4fe9f4155779510300011 - +mp5a.ine 8730ceaec3e4fe9f4155779510300011 - +mp6.ine a1d322a1bf98569f129efe4774099f0a - +nonfull.ine 960129e6c4b3856ca3ebc5ed2dbb0c0e - +origin.ine 58ac995e1d9ce9dcc73d546675db0c91 - +project1_m.ine 5330d7ef41d67f29d6102ae6d961112f - +project1res.ine e2e2c0f79a34d73dfa68f44e5f3a0b76 - +project2_m.ine 629a0c15eed90e3f84307bad56301493 - +project2res.ine aaf40e2fe14795fb63f647773c0e13fe - +rcubocta.ine b75aae81c225ab7a2bcaa6217384346f - +reg24-5.ine cba2ab338cfdfd3d2374d66ce10dbca8 - +rhomtria_m.ine d41d8cd98f00b204e9800998ecf8427e - +sample.ine 1b6dfffb7025fbca392de0a359db1f01 - +sampleh1.ine 4fd28c2bca346a3fc8ab41a49ab9eede - +sampleh2.ine 4f65ae11c6bc71f613ecc33989fe760c - +sampleh3.ine 55a3fbd3f1c495a0ec66651b901f9231 - +sampleh4.ine 360296f0fb93ab70b1528453d6cf02ca - +sampleh5.ine a93fd99d5bbfc33715db65b01fc452dc - +sampleh6.ine a62303e71a549a4ae051e0a66d98bb61 - +sampleh7.ine 3b9b5d0e083f6754a8a208e438159547 - +sampleh8.ine d41d8cd98f00b204e9800998ecf8427e - +trunc10.ine edecfb72df1fe7f8c4849cdb3c47bfce - +trunc7.ine 989656d77040b040f10b241041f7c404 - +tsp5.ine 214457d06fa51e69e2edd126f66e07fc - diff --git a/demos/ppl_lcdd/expected_int64_a b/demos/ppl_lcdd/expected_int64_a new file mode 100644 index 000000000..b8e517c14 --- /dev/null +++ b/demos/ppl_lcdd/expected_int64_a @@ -0,0 +1,85 @@ +ccc4.ext bc96322497eecd12c4d0582ff2311cb4 - +ccc5.ext 4964babfa462514ddeb8b3b549e92982 - +ccp4.ext c57dd7951e50033fa8955810bbe273a3 - +ccp5.ext 226f386e8780b30e239586b8b2964a0d - +cp4.ext c57dd7951e50033fa8955810bbe273a3 - +cp5.ext 226f386e8780b30e239586b8b2964a0d - +cube.ext 45f31680d2301d58a1d57c0dc09bb1f0 - +cut16_11.ext 56ec06c653436caff88819989a739b74 - +cyclic10-4.ext 0ddde1f99cd5b3cf899fa6778e67569e - +cyclic12-6.ext d72a192a8057e34b9cd3a9ad112b6cd2 - +cyclic14-8.ext d41d8cd98f00b204e9800998ecf8427e - +dcube10.ext aab7857f665af827774614f090f72b51 - +dcube12.ext d2e47db88b9ea21f7fabb03c60421297 - +dcube3.ext f37f7234953ac36f582bfcad6e933397 - +dcube6.ext 09056814a1944456ce283f5839411c38 - +dcube8.ext e2ac7f22e55e7b2009d0625dd4ec724a - +irbox20-4.ext d41d8cd98f00b204e9800998ecf8427e - +irbox200-4.ext d41d8cd98f00b204e9800998ecf8427e - +mp5.ext 064e5fd8ec28e712f2c475cb19cee4e3 - +redcheck.ext 12a70972a9385cf228abe8484f68f1c6 - +reg24-5.ext 8e8fa94ededd63732112f68094fe0559 - +samplev1.ext 0d931a85a14850fc76a3b1d5c373b917 - +samplev2.ext 6718e59a777d0ae297dbe7d6d305961a - +samplev3.ext 425b227f7720ee71af25fadbec2560b9 - +tsp5.ext e9e56d002855db0d1ba399d6cf991799 - +1d.ine 89d8b1916d823aaf7563740c09f71470 - +1da.ine 89d8b1916d823aaf7563740c09f71470 - +allzero.ine 360296f0fb93ab70b1528453d6cf02ca - +cp4.ine a868d7ab4d206871d4af3311059caa32 - +cp5.ine a329d8a17d135c38d9bbc5709a523f9a - +cross10.ine 38178216a0010320f29334df7a2f9eac - +cross12.ine 1c24d854ca16cbb6281648219c37cf0a - +cross4.ine a9bab74fd8c29016443a117b88827ca6 - +cross6.ine 3b41f0b924526fec2616f6299fe14c6f - +cross8.ine 32274fa3bd0758c81380bb305ec09d8f - +cube.ine e2498d1cd888aa8cf2762bb5a8613592 - +cube10.ine 9511f2116a3863917e7c75067ca2c2e5 - +cube12.ine a71ae423c627c68442fc2dff2b2b9e0a - +cube3.ine 4872fb1845557d484af5c09e47890ccc - +cube6.ine 59218da4f6db0b742bd18271c9d5f6da - +cube8.ine 857e4c7484b1dc5919a1629e46b856e8 - +cubetop.ine f963c1b731386d994e03975ac98b5c25 - +cubocta.ine 526a2d84e3661ead8dc6cd05c090a776 - +cyc.ine 1f3ffeef795b27e5bfc2c3de20be70f4 - +diamond.ine a8b60aa3d60bafed0d49a05a7a260a9c - +dodeca_m.ine d41d8cd98f00b204e9800998ecf8427e - +ex1.ine 846681e0741bb57be1673b8c9170cd49 - +grcubocta.ine 49ed87ceef0f9dd80caaa7e9798886ab - +hexocta.ine 9e79ebd2ae4be939363e8a8fc9391908 - +icododeca_m.ine d41d8cd98f00b204e9800998ecf8427e - +in0.ine aee5c7fb5cdf7881c33ac3e379986b79 - +in1.ine d41d8cd98f00b204e9800998ecf8427e - +in2.ine 30fc1812a724bad238f8af157ef58729 - +in3.ine 662e46c09123c5aa87ae82a792dc3df6 - +in4.ine 9e3e0e301762546a26557c8bee786732 - +in5.ine c29524500ec4656ca26c5671df46db96 - +infeas.ine 8dba32fa5e973205c7cd850bbcf5bb14 - +integralpoints.ine e8057c28540aa563ef831399d8a15654 - +kkd18_4.ine d41d8cd98f00b204e9800998ecf8427e - +kkd27_5.ine d41d8cd98f00b204e9800998ecf8427e - +kkd38_6.ine d41d8cd98f00b204e9800998ecf8427e - +metric40_11.ine 8730ceaec3e4fe9f4155779510300011 - +metric80_16.ine 60bc723581cb4ef986f654967511b104 - +mp5.ine 8730ceaec3e4fe9f4155779510300011 - +mp5a.ine 8730ceaec3e4fe9f4155779510300011 - +mp6.ine a1d322a1bf98569f129efe4774099f0a - +nonfull.ine 960129e6c4b3856ca3ebc5ed2dbb0c0e - +origin.ine 58ac995e1d9ce9dcc73d546675db0c91 - +project1_m.ine 5330d7ef41d67f29d6102ae6d961112f - +project1res.ine e2e2c0f79a34d73dfa68f44e5f3a0b76 - +project2_m.ine 629a0c15eed90e3f84307bad56301493 - +project2res.ine aaf40e2fe14795fb63f647773c0e13fe - +rcubocta.ine b75aae81c225ab7a2bcaa6217384346f - +reg24-5.ine cba2ab338cfdfd3d2374d66ce10dbca8 - +rhomtria_m.ine d41d8cd98f00b204e9800998ecf8427e - +sample.ine 1b6dfffb7025fbca392de0a359db1f01 - +sampleh1.ine 4fd28c2bca346a3fc8ab41a49ab9eede - +sampleh2.ine 4f65ae11c6bc71f613ecc33989fe760c - +sampleh3.ine 55a3fbd3f1c495a0ec66651b901f9231 - +sampleh4.ine 360296f0fb93ab70b1528453d6cf02ca - +sampleh5.ine a93fd99d5bbfc33715db65b01fc452dc - +sampleh6.ine a62303e71a549a4ae051e0a66d98bb61 - +sampleh7.ine 3b9b5d0e083f6754a8a208e438159547 - +trunc7.ine 989656d77040b040f10b241041f7c404 - +tsp5.ine 214457d06fa51e69e2edd126f66e07fc - diff --git a/demos/ppl_lcdd/expected_int8 b/demos/ppl_lcdd/expected_int8 new file mode 100644 index 000000000..179b90da1 --- /dev/null +++ b/demos/ppl_lcdd/expected_int8 @@ -0,0 +1,98 @@ +ccc4.ext bc96322497eecd12c4d0582ff2311cb4 - +ccc5.ext 4964babfa462514ddeb8b3b549e92982 - +ccc6.ext c458b6a2a77990c6d8fe562c9d223c2c - +ccp4.ext c57dd7951e50033fa8955810bbe273a3 - +ccp5.ext 226f386e8780b30e239586b8b2964a0d - +ccp6.ext ac5556e9e9fd1100c6b9f97384f609da - +cp4.ext c57dd7951e50033fa8955810bbe273a3 - +cp5.ext 226f386e8780b30e239586b8b2964a0d - +cp6.ext ac5556e9e9fd1100c6b9f97384f609da - +cube.ext 45f31680d2301d58a1d57c0dc09bb1f0 - +cut16_11.ext 56ec06c653436caff88819989a739b74 - +cut32_16.ext 2f524bae3b4ba2edf72f54183cb702a5 - +cyclic10-4.ext d41d8cd98f00b204e9800998ecf8427e - +cyclic12-6.ext d41d8cd98f00b204e9800998ecf8427e - +cyclic14-8.ext d41d8cd98f00b204e9800998ecf8427e - +cyclic16-10.ext d41d8cd98f00b204e9800998ecf8427e - +dcube10.ext aab7857f665af827774614f090f72b51 - +dcube12.ext d2e47db88b9ea21f7fabb03c60421297 - +dcube3.ext f37f7234953ac36f582bfcad6e933397 - +dcube6.ext 09056814a1944456ce283f5839411c38 - +dcube8.ext e2ac7f22e55e7b2009d0625dd4ec724a - +irbox20-4.ext d41d8cd98f00b204e9800998ecf8427e - +irbox200-4.ext d41d8cd98f00b204e9800998ecf8427e - +mp5.ext 064e5fd8ec28e712f2c475cb19cee4e3 - +redcheck.ext 12a70972a9385cf228abe8484f68f1c6 - +reg24-5.ext 8e8fa94ededd63732112f68094fe0559 - +reg600-5_m.ext d41d8cd98f00b204e9800998ecf8427e - +samplev1.ext 0d931a85a14850fc76a3b1d5c373b917 - +samplev2.ext 6718e59a777d0ae297dbe7d6d305961a - +samplev3.ext 425b227f7720ee71af25fadbec2560b9 - +tsp5.ext e9e56d002855db0d1ba399d6cf991799 - +1d.ine 89d8b1916d823aaf7563740c09f71470 - +1da.ine 89d8b1916d823aaf7563740c09f71470 - +allzero.ine 360296f0fb93ab70b1528453d6cf02ca - +cp4.ine a868d7ab4d206871d4af3311059caa32 - +cp5.ine a329d8a17d135c38d9bbc5709a523f9a - +cross10.ine 38178216a0010320f29334df7a2f9eac - +cross12.ine 1c24d854ca16cbb6281648219c37cf0a - +cross4.ine a9bab74fd8c29016443a117b88827ca6 - +cross6.ine 3b41f0b924526fec2616f6299fe14c6f - +cross8.ine 32274fa3bd0758c81380bb305ec09d8f - +cube.ine e2498d1cd888aa8cf2762bb5a8613592 - +cube10.ine 9511f2116a3863917e7c75067ca2c2e5 - +cube12.ine a71ae423c627c68442fc2dff2b2b9e0a - +cube3.ine 4872fb1845557d484af5c09e47890ccc - +cube6.ine 59218da4f6db0b742bd18271c9d5f6da - +cube8.ine 857e4c7484b1dc5919a1629e46b856e8 - +cubetop.ine f963c1b731386d994e03975ac98b5c25 - +cubocta.ine 526a2d84e3661ead8dc6cd05c090a776 - +cyc.ine d41d8cd98f00b204e9800998ecf8427e - +cyclic17_8.ine d41d8cd98f00b204e9800998ecf8427e - +diamond.ine a8b60aa3d60bafed0d49a05a7a260a9c - +dodeca_m.ine d41d8cd98f00b204e9800998ecf8427e - +ex1.ine 846681e0741bb57be1673b8c9170cd49 - +grcubocta.ine 49ed87ceef0f9dd80caaa7e9798886ab - +hexocta.ine d41d8cd98f00b204e9800998ecf8427e - +icododeca_m.ine d41d8cd98f00b204e9800998ecf8427e - +in0.ine d41d8cd98f00b204e9800998ecf8427e - +in1.ine d41d8cd98f00b204e9800998ecf8427e - +in2.ine 30fc1812a724bad238f8af157ef58729 - +in3.ine 662e46c09123c5aa87ae82a792dc3df6 - +in4.ine d41d8cd98f00b204e9800998ecf8427e - +in5.ine d41d8cd98f00b204e9800998ecf8427e - +in6.ine d41d8cd98f00b204e9800998ecf8427e - +in7.ine d41d8cd98f00b204e9800998ecf8427e - +infeas.ine 8dba32fa5e973205c7cd850bbcf5bb14 - +integralpoints.ine d41d8cd98f00b204e9800998ecf8427e - +kkd18_4.ine d41d8cd98f00b204e9800998ecf8427e - +kkd27_5.ine d41d8cd98f00b204e9800998ecf8427e - +kkd38_6.ine d41d8cd98f00b204e9800998ecf8427e - +kq20_11_m.ine d41d8cd98f00b204e9800998ecf8427e - +metric40_11.ine 8730ceaec3e4fe9f4155779510300011 - +metric80_16.ine 60bc723581cb4ef986f654967511b104 - +mit31-20.ine d41d8cd98f00b204e9800998ecf8427e - +mp5.ine 8730ceaec3e4fe9f4155779510300011 - +mp5a.ine 8730ceaec3e4fe9f4155779510300011 - +mp6.ine a1d322a1bf98569f129efe4774099f0a - +nonfull.ine 960129e6c4b3856ca3ebc5ed2dbb0c0e - +origin.ine 58ac995e1d9ce9dcc73d546675db0c91 - +project1_m.ine 5330d7ef41d67f29d6102ae6d961112f - +project1res.ine e2e2c0f79a34d73dfa68f44e5f3a0b76 - +project2_m.ine d41d8cd98f00b204e9800998ecf8427e - +project2res.ine d41d8cd98f00b204e9800998ecf8427e - +rcubocta.ine b75aae81c225ab7a2bcaa6217384346f - +reg24-5.ine cba2ab338cfdfd3d2374d66ce10dbca8 - +rhomtria_m.ine d41d8cd98f00b204e9800998ecf8427e - +sample.ine 1b6dfffb7025fbca392de0a359db1f01 - +sampleh1.ine 4fd28c2bca346a3fc8ab41a49ab9eede - +sampleh2.ine 4f65ae11c6bc71f613ecc33989fe760c - +sampleh3.ine 55a3fbd3f1c495a0ec66651b901f9231 - +sampleh4.ine 360296f0fb93ab70b1528453d6cf02ca - +sampleh5.ine a93fd99d5bbfc33715db65b01fc452dc - +sampleh6.ine a62303e71a549a4ae051e0a66d98bb61 - +sampleh7.ine d41d8cd98f00b204e9800998ecf8427e - +sampleh8.ine d41d8cd98f00b204e9800998ecf8427e - +trunc10.ine d41d8cd98f00b204e9800998ecf8427e - +trunc7.ine d41d8cd98f00b204e9800998ecf8427e - +tsp5.ine 214457d06fa51e69e2edd126f66e07fc - diff --git a/demos/ppl_lcdd/expected_int8_a b/demos/ppl_lcdd/expected_int8_a new file mode 100644 index 000000000..5e7a7d0f5 --- /dev/null +++ b/demos/ppl_lcdd/expected_int8_a @@ -0,0 +1,85 @@ +ccc4.ext bc96322497eecd12c4d0582ff2311cb4 - +ccc5.ext 4964babfa462514ddeb8b3b549e92982 - +ccp4.ext c57dd7951e50033fa8955810bbe273a3 - +ccp5.ext 226f386e8780b30e239586b8b2964a0d - +cp4.ext c57dd7951e50033fa8955810bbe273a3 - +cp5.ext 226f386e8780b30e239586b8b2964a0d - +cube.ext 45f31680d2301d58a1d57c0dc09bb1f0 - +cut16_11.ext d41d8cd98f00b204e9800998ecf8427e - +cyclic10-4.ext d41d8cd98f00b204e9800998ecf8427e - +cyclic12-6.ext d41d8cd98f00b204e9800998ecf8427e - +cyclic14-8.ext d41d8cd98f00b204e9800998ecf8427e - +dcube10.ext aab7857f665af827774614f090f72b51 - +dcube12.ext d2e47db88b9ea21f7fabb03c60421297 - +dcube3.ext f37f7234953ac36f582bfcad6e933397 - +dcube6.ext 09056814a1944456ce283f5839411c38 - +dcube8.ext e2ac7f22e55e7b2009d0625dd4ec724a - +irbox20-4.ext d41d8cd98f00b204e9800998ecf8427e - +irbox200-4.ext d41d8cd98f00b204e9800998ecf8427e - +mp5.ext 064e5fd8ec28e712f2c475cb19cee4e3 - +redcheck.ext 12a70972a9385cf228abe8484f68f1c6 - +reg24-5.ext 8e8fa94ededd63732112f68094fe0559 - +samplev1.ext 0d931a85a14850fc76a3b1d5c373b917 - +samplev2.ext 6718e59a777d0ae297dbe7d6d305961a - +samplev3.ext 425b227f7720ee71af25fadbec2560b9 - +tsp5.ext e9e56d002855db0d1ba399d6cf991799 - +1d.ine 89d8b1916d823aaf7563740c09f71470 - +1da.ine 89d8b1916d823aaf7563740c09f71470 - +allzero.ine 360296f0fb93ab70b1528453d6cf02ca - +cp4.ine a868d7ab4d206871d4af3311059caa32 - +cp5.ine a329d8a17d135c38d9bbc5709a523f9a - +cross10.ine 38178216a0010320f29334df7a2f9eac - +cross12.ine 1c24d854ca16cbb6281648219c37cf0a - +cross4.ine a9bab74fd8c29016443a117b88827ca6 - +cross6.ine 3b41f0b924526fec2616f6299fe14c6f - +cross8.ine 32274fa3bd0758c81380bb305ec09d8f - +cube.ine e2498d1cd888aa8cf2762bb5a8613592 - +cube10.ine 9511f2116a3863917e7c75067ca2c2e5 - +cube12.ine a71ae423c627c68442fc2dff2b2b9e0a - +cube3.ine 4872fb1845557d484af5c09e47890ccc - +cube6.ine 59218da4f6db0b742bd18271c9d5f6da - +cube8.ine 857e4c7484b1dc5919a1629e46b856e8 - +cubetop.ine f963c1b731386d994e03975ac98b5c25 - +cubocta.ine 526a2d84e3661ead8dc6cd05c090a776 - +cyc.ine d41d8cd98f00b204e9800998ecf8427e - +diamond.ine a8b60aa3d60bafed0d49a05a7a260a9c - +dodeca_m.ine d41d8cd98f00b204e9800998ecf8427e - +ex1.ine 846681e0741bb57be1673b8c9170cd49 - +grcubocta.ine d41d8cd98f00b204e9800998ecf8427e - +hexocta.ine d41d8cd98f00b204e9800998ecf8427e - +icododeca_m.ine d41d8cd98f00b204e9800998ecf8427e - +in0.ine d41d8cd98f00b204e9800998ecf8427e - +in1.ine d41d8cd98f00b204e9800998ecf8427e - +in2.ine 30fc1812a724bad238f8af157ef58729 - +in3.ine 662e46c09123c5aa87ae82a792dc3df6 - +in4.ine d41d8cd98f00b204e9800998ecf8427e - +in5.ine d41d8cd98f00b204e9800998ecf8427e - +infeas.ine 8dba32fa5e973205c7cd850bbcf5bb14 - +integralpoints.ine d41d8cd98f00b204e9800998ecf8427e - +kkd18_4.ine d41d8cd98f00b204e9800998ecf8427e - +kkd27_5.ine d41d8cd98f00b204e9800998ecf8427e - +kkd38_6.ine d41d8cd98f00b204e9800998ecf8427e - +metric40_11.ine 8730ceaec3e4fe9f4155779510300011 - +metric80_16.ine 60bc723581cb4ef986f654967511b104 - +mp5.ine 8730ceaec3e4fe9f4155779510300011 - +mp5a.ine 8730ceaec3e4fe9f4155779510300011 - +mp6.ine d41d8cd98f00b204e9800998ecf8427e - +nonfull.ine 960129e6c4b3856ca3ebc5ed2dbb0c0e - +origin.ine 58ac995e1d9ce9dcc73d546675db0c91 - +project1_m.ine 5330d7ef41d67f29d6102ae6d961112f - +project1res.ine e2e2c0f79a34d73dfa68f44e5f3a0b76 - +project2_m.ine d41d8cd98f00b204e9800998ecf8427e - +project2res.ine d41d8cd98f00b204e9800998ecf8427e - +rcubocta.ine b75aae81c225ab7a2bcaa6217384346f - +reg24-5.ine cba2ab338cfdfd3d2374d66ce10dbca8 - +rhomtria_m.ine d41d8cd98f00b204e9800998ecf8427e - +sample.ine 1b6dfffb7025fbca392de0a359db1f01 - +sampleh1.ine 4fd28c2bca346a3fc8ab41a49ab9eede - +sampleh2.ine 4f65ae11c6bc71f613ecc33989fe760c - +sampleh3.ine 55a3fbd3f1c495a0ec66651b901f9231 - +sampleh4.ine 360296f0fb93ab70b1528453d6cf02ca - +sampleh5.ine a93fd99d5bbfc33715db65b01fc452dc - +sampleh6.ine a62303e71a549a4ae051e0a66d98bb61 - +sampleh7.ine d41d8cd98f00b204e9800998ecf8427e - +trunc7.ine d41d8cd98f00b204e9800998ecf8427e - +tsp5.ine 214457d06fa51e69e2edd126f66e07fc - diff --git a/demos/ppl_lcdd/expected_mpz b/demos/ppl_lcdd/expected_mpz new file mode 100644 index 000000000..0f5701e4c --- /dev/null +++ b/demos/ppl_lcdd/expected_mpz @@ -0,0 +1,98 @@ +ccc4.ext bc96322497eecd12c4d0582ff2311cb4 - +ccc5.ext 4964babfa462514ddeb8b3b549e92982 - +ccc6.ext c458b6a2a77990c6d8fe562c9d223c2c - +ccp4.ext c57dd7951e50033fa8955810bbe273a3 - +ccp5.ext 226f386e8780b30e239586b8b2964a0d - +ccp6.ext ac5556e9e9fd1100c6b9f97384f609da - +cp4.ext c57dd7951e50033fa8955810bbe273a3 - +cp5.ext 226f386e8780b30e239586b8b2964a0d - +cp6.ext ac5556e9e9fd1100c6b9f97384f609da - +cube.ext 45f31680d2301d58a1d57c0dc09bb1f0 - +cut16_11.ext 56ec06c653436caff88819989a739b74 - +cut32_16.ext 2f524bae3b4ba2edf72f54183cb702a5 - +cyclic10-4.ext 0ddde1f99cd5b3cf899fa6778e67569e - +cyclic12-6.ext d72a192a8057e34b9cd3a9ad112b6cd2 - +cyclic14-8.ext a4a97e43ad11ff98450b2a94618e373d - +cyclic16-10.ext a7b2ba7c494b41e0f7faf6f34cb6ca48 - +dcube10.ext aab7857f665af827774614f090f72b51 - +dcube12.ext d2e47db88b9ea21f7fabb03c60421297 - +dcube3.ext f37f7234953ac36f582bfcad6e933397 - +dcube6.ext 09056814a1944456ce283f5839411c38 - +dcube8.ext e2ac7f22e55e7b2009d0625dd4ec724a - +irbox20-4.ext 1324d63c4fe3e0902178254e768e9504 - +irbox200-4.ext eb69ce06ed90547eeb9ff98a62ce3b7e - +mp5.ext 064e5fd8ec28e712f2c475cb19cee4e3 - +redcheck.ext 12a70972a9385cf228abe8484f68f1c6 - +reg24-5.ext 8e8fa94ededd63732112f68094fe0559 - +reg600-5_m.ext bf50ec3c18bc063d041f07259cbe0977 - +samplev1.ext 0d931a85a14850fc76a3b1d5c373b917 - +samplev2.ext 6718e59a777d0ae297dbe7d6d305961a - +samplev3.ext 425b227f7720ee71af25fadbec2560b9 - +tsp5.ext e9e56d002855db0d1ba399d6cf991799 - +1d.ine 89d8b1916d823aaf7563740c09f71470 - +1da.ine 89d8b1916d823aaf7563740c09f71470 - +allzero.ine 360296f0fb93ab70b1528453d6cf02ca - +cp4.ine a868d7ab4d206871d4af3311059caa32 - +cp5.ine a329d8a17d135c38d9bbc5709a523f9a - +cross10.ine 38178216a0010320f29334df7a2f9eac - +cross12.ine 1c24d854ca16cbb6281648219c37cf0a - +cross4.ine a9bab74fd8c29016443a117b88827ca6 - +cross6.ine 3b41f0b924526fec2616f6299fe14c6f - +cross8.ine 32274fa3bd0758c81380bb305ec09d8f - +cube.ine e2498d1cd888aa8cf2762bb5a8613592 - +cube10.ine 9511f2116a3863917e7c75067ca2c2e5 - +cube12.ine a71ae423c627c68442fc2dff2b2b9e0a - +cube3.ine 4872fb1845557d484af5c09e47890ccc - +cube6.ine 59218da4f6db0b742bd18271c9d5f6da - +cube8.ine 857e4c7484b1dc5919a1629e46b856e8 - +cubetop.ine f963c1b731386d994e03975ac98b5c25 - +cubocta.ine 526a2d84e3661ead8dc6cd05c090a776 - +cyc.ine 1f3ffeef795b27e5bfc2c3de20be70f4 - +cyclic17_8.ine 7dde598eeb61433637ff7ecd1d9689e0 - +diamond.ine a8b60aa3d60bafed0d49a05a7a260a9c - +dodeca_m.ine 4a3d6132b5a0f2ee9a65e422b520bcce - +ex1.ine 846681e0741bb57be1673b8c9170cd49 - +grcubocta.ine 49ed87ceef0f9dd80caaa7e9798886ab - +hexocta.ine 9e79ebd2ae4be939363e8a8fc9391908 - +icododeca_m.ine 8a75d6463098ed2e2160c33f6955f3ac - +in0.ine aee5c7fb5cdf7881c33ac3e379986b79 - +in1.ine bba9cb757ba441e33e0a3628fc13ed2c - +in2.ine 30fc1812a724bad238f8af157ef58729 - +in3.ine 662e46c09123c5aa87ae82a792dc3df6 - +in4.ine 9e3e0e301762546a26557c8bee786732 - +in5.ine c29524500ec4656ca26c5671df46db96 - +in6.ine 1d81f92f878af596166bc64c20392e5b - +in7.ine a5f569a088696cf71dbd23ccf5a2cca6 - +infeas.ine 8dba32fa5e973205c7cd850bbcf5bb14 - +integralpoints.ine e8057c28540aa563ef831399d8a15654 - +kkd18_4.ine 1736867592c3f53fb4d062ace63e6ba4 - +kkd27_5.ine 9c376148791743bbb9d2a6b1467b8a11 - +kkd38_6.ine 1c692bb63e7d61fad11d3b1e196eabe4 - +kq20_11_m.ine a5f569a088696cf71dbd23ccf5a2cca6 - +metric40_11.ine 8730ceaec3e4fe9f4155779510300011 - +metric80_16.ine 60bc723581cb4ef986f654967511b104 - +mit31-20.ine 03aef81d50c861b73302866415184106 - +mp5.ine 8730ceaec3e4fe9f4155779510300011 - +mp5a.ine 8730ceaec3e4fe9f4155779510300011 - +mp6.ine a1d322a1bf98569f129efe4774099f0a - +nonfull.ine 960129e6c4b3856ca3ebc5ed2dbb0c0e - +origin.ine 58ac995e1d9ce9dcc73d546675db0c91 - +project1_m.ine 5330d7ef41d67f29d6102ae6d961112f - +project1res.ine e2e2c0f79a34d73dfa68f44e5f3a0b76 - +project2_m.ine 629a0c15eed90e3f84307bad56301493 - +project2res.ine aaf40e2fe14795fb63f647773c0e13fe - +rcubocta.ine b75aae81c225ab7a2bcaa6217384346f - +reg24-5.ine cba2ab338cfdfd3d2374d66ce10dbca8 - +rhomtria_m.ine a351f4fc25819a278bdf2244f3f1c3a4 - +sample.ine 1b6dfffb7025fbca392de0a359db1f01 - +sampleh1.ine 4fd28c2bca346a3fc8ab41a49ab9eede - +sampleh2.ine 4f65ae11c6bc71f613ecc33989fe760c - +sampleh3.ine 55a3fbd3f1c495a0ec66651b901f9231 - +sampleh4.ine 360296f0fb93ab70b1528453d6cf02ca - +sampleh5.ine a93fd99d5bbfc33715db65b01fc452dc - +sampleh6.ine a62303e71a549a4ae051e0a66d98bb61 - +sampleh7.ine 3b9b5d0e083f6754a8a208e438159547 - +sampleh8.ine 8ddc3026fccbbeb3699fc6db254ff981 - +trunc10.ine edecfb72df1fe7f8c4849cdb3c47bfce - +trunc7.ine 989656d77040b040f10b241041f7c404 - +tsp5.ine 214457d06fa51e69e2edd126f66e07fc - diff --git a/demos/ppl_lcdd/expected_mpz_a b/demos/ppl_lcdd/expected_mpz_a new file mode 100644 index 000000000..561cef314 --- /dev/null +++ b/demos/ppl_lcdd/expected_mpz_a @@ -0,0 +1,85 @@ +ccc4.ext bc96322497eecd12c4d0582ff2311cb4 - +ccc5.ext 4964babfa462514ddeb8b3b549e92982 - +ccp4.ext c57dd7951e50033fa8955810bbe273a3 - +ccp5.ext 226f386e8780b30e239586b8b2964a0d - +cp4.ext c57dd7951e50033fa8955810bbe273a3 - +cp5.ext 226f386e8780b30e239586b8b2964a0d - +cube.ext 45f31680d2301d58a1d57c0dc09bb1f0 - +cut16_11.ext 56ec06c653436caff88819989a739b74 - +cyclic10-4.ext 0ddde1f99cd5b3cf899fa6778e67569e - +cyclic12-6.ext d72a192a8057e34b9cd3a9ad112b6cd2 - +cyclic14-8.ext a4a97e43ad11ff98450b2a94618e373d - +dcube10.ext aab7857f665af827774614f090f72b51 - +dcube12.ext d2e47db88b9ea21f7fabb03c60421297 - +dcube3.ext f37f7234953ac36f582bfcad6e933397 - +dcube6.ext 09056814a1944456ce283f5839411c38 - +dcube8.ext e2ac7f22e55e7b2009d0625dd4ec724a - +irbox20-4.ext 1324d63c4fe3e0902178254e768e9504 - +irbox200-4.ext eb69ce06ed90547eeb9ff98a62ce3b7e - +mp5.ext 064e5fd8ec28e712f2c475cb19cee4e3 - +redcheck.ext 12a70972a9385cf228abe8484f68f1c6 - +reg24-5.ext 8e8fa94ededd63732112f68094fe0559 - +samplev1.ext 0d931a85a14850fc76a3b1d5c373b917 - +samplev2.ext 6718e59a777d0ae297dbe7d6d305961a - +samplev3.ext 425b227f7720ee71af25fadbec2560b9 - +tsp5.ext e9e56d002855db0d1ba399d6cf991799 - +1d.ine 89d8b1916d823aaf7563740c09f71470 - +1da.ine 89d8b1916d823aaf7563740c09f71470 - +allzero.ine 360296f0fb93ab70b1528453d6cf02ca - +cp4.ine a868d7ab4d206871d4af3311059caa32 - +cp5.ine a329d8a17d135c38d9bbc5709a523f9a - +cross10.ine 38178216a0010320f29334df7a2f9eac - +cross12.ine 1c24d854ca16cbb6281648219c37cf0a - +cross4.ine a9bab74fd8c29016443a117b88827ca6 - +cross6.ine 3b41f0b924526fec2616f6299fe14c6f - +cross8.ine 32274fa3bd0758c81380bb305ec09d8f - +cube.ine e2498d1cd888aa8cf2762bb5a8613592 - +cube10.ine 9511f2116a3863917e7c75067ca2c2e5 - +cube12.ine a71ae423c627c68442fc2dff2b2b9e0a - +cube3.ine 4872fb1845557d484af5c09e47890ccc - +cube6.ine 59218da4f6db0b742bd18271c9d5f6da - +cube8.ine 857e4c7484b1dc5919a1629e46b856e8 - +cubetop.ine f963c1b731386d994e03975ac98b5c25 - +cubocta.ine 526a2d84e3661ead8dc6cd05c090a776 - +cyc.ine 1f3ffeef795b27e5bfc2c3de20be70f4 - +diamond.ine a8b60aa3d60bafed0d49a05a7a260a9c - +dodeca_m.ine 4a3d6132b5a0f2ee9a65e422b520bcce - +ex1.ine 846681e0741bb57be1673b8c9170cd49 - +grcubocta.ine 49ed87ceef0f9dd80caaa7e9798886ab - +hexocta.ine 9e79ebd2ae4be939363e8a8fc9391908 - +icododeca_m.ine 8a75d6463098ed2e2160c33f6955f3ac - +in0.ine aee5c7fb5cdf7881c33ac3e379986b79 - +in1.ine bba9cb757ba441e33e0a3628fc13ed2c - +in2.ine 30fc1812a724bad238f8af157ef58729 - +in3.ine 662e46c09123c5aa87ae82a792dc3df6 - +in4.ine 9e3e0e301762546a26557c8bee786732 - +in5.ine c29524500ec4656ca26c5671df46db96 - +infeas.ine 8dba32fa5e973205c7cd850bbcf5bb14 - +integralpoints.ine e8057c28540aa563ef831399d8a15654 - +kkd18_4.ine 1736867592c3f53fb4d062ace63e6ba4 - +kkd27_5.ine 9c376148791743bbb9d2a6b1467b8a11 - +kkd38_6.ine 1c692bb63e7d61fad11d3b1e196eabe4 - +metric40_11.ine 8730ceaec3e4fe9f4155779510300011 - +metric80_16.ine 60bc723581cb4ef986f654967511b104 - +mp5.ine 8730ceaec3e4fe9f4155779510300011 - +mp5a.ine 8730ceaec3e4fe9f4155779510300011 - +mp6.ine a1d322a1bf98569f129efe4774099f0a - +nonfull.ine 960129e6c4b3856ca3ebc5ed2dbb0c0e - +origin.ine 58ac995e1d9ce9dcc73d546675db0c91 - +project1_m.ine 5330d7ef41d67f29d6102ae6d961112f - +project1res.ine e2e2c0f79a34d73dfa68f44e5f3a0b76 - +project2_m.ine 629a0c15eed90e3f84307bad56301493 - +project2res.ine aaf40e2fe14795fb63f647773c0e13fe - +rcubocta.ine b75aae81c225ab7a2bcaa6217384346f - +reg24-5.ine cba2ab338cfdfd3d2374d66ce10dbca8 - +rhomtria_m.ine a351f4fc25819a278bdf2244f3f1c3a4 - +sample.ine 1b6dfffb7025fbca392de0a359db1f01 - +sampleh1.ine 4fd28c2bca346a3fc8ab41a49ab9eede - +sampleh2.ine 4f65ae11c6bc71f613ecc33989fe760c - +sampleh3.ine 55a3fbd3f1c495a0ec66651b901f9231 - +sampleh4.ine 360296f0fb93ab70b1528453d6cf02ca - +sampleh5.ine a93fd99d5bbfc33715db65b01fc452dc - +sampleh6.ine a62303e71a549a4ae051e0a66d98bb61 - +sampleh7.ine 3b9b5d0e083f6754a8a208e438159547 - +trunc7.ine 989656d77040b040f10b241041f7c404 - +tsp5.ine 214457d06fa51e69e2edd126f66e07fc - diff --git a/demos/ppl_lcdd/ppl_lcdd.1 b/demos/ppl_lcdd/ppl_lcdd.1 new file mode 100644 index 000000000..3f1ad51b5 --- /dev/null +++ b/demos/ppl_lcdd/ppl_lcdd.1 @@ -0,0 +1,66 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1. +.TH PPL_LCDD "1" "February 2011" "ppl_lcdd 0.11.2" "User Commands" +.SH NAME +ppl_lcdd \- a PPL-based program for vertex/facet enumeration of convex polyhedra +.SH SYNOPSIS +.B ppl_lcdd +[\fIOPTION\fR]... [\fIFILE\fR] +.SH DESCRIPTION +Reads an H\-representation (resp., a V\-representation) of a polyhedron +and generates a V\-representation (resp., an H\-representation) of +the same polyhedron. +.PP +See the +.IR "cddlib Reference Manual" +for information on the file formats. +.SH OPTIONS +.TP +\fB\-CSECS\fR, \fB\-\-max\-cpu\fR=\fISECS\fR +limits CPU usage to SECS seconds +.TP +\fB\-RMB\fR, \fB\-\-max\-memory\fR=\fIMB\fR +limits memory usage to MB megabytes +.TP +\fB\-h\fR, \fB\-\-help\fR +prints this help text to stdout +.TP +\fB\-oPATH\fR, \fB\-\-output\fR=\fIPATH\fR +appends output to PATH +.TP +\fB\-t\fR, \fB\-\-timings\fR +prints timings to stderr +.TP +\fB\-v\fR, \fB\-\-verbose\fR +produces lots of output +.TP +\fB\-V\fR, \fB\-\-version\fR +prints version information to stdout +.TP +\fB\-cPATH\fR, \fB\-\-check\fR=\fIPATH\fR +checks if the result is equal to what is in PATH +.SH AVAILABILITY +The latest version of the Parma Polyhedra Library and all the documentation +is available at \fBhttp://www.cs.unipr.it/ppl/\fR . +.SH NOTES +The option \fB\-CSECS\fR (\fB\-\-max\-cpu\fR=\fISECS\fR) is not available +on some platforms. +.SH AUTHOR +See the file \fBCREDITS\fR in the source distribution or use the command +\fBppl\-config \-\-credits\fR for a list of contributors. +.SH "REPORTING BUGS" +Report bugs to <ppl\-devel@cs.unipr.it>. +.SH COPYRIGHT +Copyright (C) 2001\-2010 Roberto Bagnara <bagnara@cs.unipr.it> +Copyright (C) 2010\-2011 BUGSENG srl (http://bugseng.com) +.br +This is free software; see the file \fBCOPYING\fR in the source +distribution or use the command \fBppl\-config \-\-copying\fR to +obtain the copying conditions. There is NO warranty; not even for +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +.SH "SEE ALSO" +.BR ppl-config(1) +.sp +Komei Fukuda. +.IR "cddlib Reference Manual", +available (in several formats) at +\fBhttp://www.ifor.math.ethz.ch/~fukuda/cdd_home/index.html\fR . diff --git a/demos/ppl_lcdd/ppl_lcdd.cc b/demos/ppl_lcdd/ppl_lcdd.cc new file mode 100644 index 000000000..e62e30086 --- /dev/null +++ b/demos/ppl_lcdd/ppl_lcdd.cc @@ -0,0 +1,1348 @@ +/* A sort of clone of the cddlib test program `lcdd'. + Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> + Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) + +This file is part of the Parma Polyhedra Library (PPL). + +The PPL 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 3 of the License, or (at your +option) any later version. + +The PPL 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 02111-1307, USA. + +For the most up-to-date information see the Parma Polyhedra Library +site: http://www.cs.unipr.it/ppl/ . */ + +//#define USE_POLKA 1 +//#define USE_POLYLIB 1 + +#if (!defined(USE_PPL) && !defined(USE_POLKA) && !defined(USE_POLYLIB)) +#define USE_PPL 1 +#elif \ + (defined(USE_PPL) && defined(USE_POLKA)) \ +|| (defined(USE_PPL) && defined(USE_POLYLIB)) \ +|| (defined(USE_POLKA) && defined(USE_POLYLIB)) +#error "Exactly one among USE_PPL, USE_POLKA and USE_POLYLIB must be defined." +#endif + +#if defined(USE_PPL) + +#include "ppl.hh" + +namespace PPL = Parma_Polyhedra_Library; + +#if PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 6 +#error "PPL version 0.6 or following is required" +#endif + +typedef PPL::C_Polyhedron POLYHEDRON_TYPE; + +#if !PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK +extern "C" void +ppl_set_GMP_memory_allocation_functions(void) { +} +#endif + +#elif defined(USE_POLKA) + +#include <ppl-config.h> +#include <gmp.h> + +extern "C" { +#define bool polka_bool +#define true polka_true +#define false polka_false +#define POLKA_NUM 3 +#include <polka/poly.h> +#undef POLKA_NUM +#undef false +#undef true +#undef bool +#undef pkint_set +#define pkint_set(a,b) mpz_set((a).rep, (b)) +} + +typedef poly_t* POLYHEDRON_TYPE; + +#elif defined(USE_POLYLIB) + +#include <ppl-config.h> +#include <gmp.h> + +extern "C" { +#include "polylib/polylibgmp.h" +} + +// This is required (and, yes, 20000 is a magic number ;-) +const unsigned max_constraints_or_generators = 20000; + +typedef Polyhedron* POLYHEDRON_TYPE; + +#endif + +#include "timings.hh" +#include <gmpxx.h> +#include <vector> +#include <set> +#include <limits> +#include <climits> +#include <cassert> +#include <cstdarg> +#include <csignal> +#include <cerrno> +#include <cstring> +#include <cstdio> +#include <cstdlib> +#include <iostream> +#include <fstream> +#include <sstream> +#include <stdexcept> + +#ifdef PPL_HAVE_GETOPT_H +#include <getopt.h> + +// Try to accommodate non-GNU implementations of `getopt()'. +#if !defined(no_argument) && defined(NO_ARG) +#define no_argument NO_ARG +#endif + +#if !defined(required_argument) && defined(REQUIRED_ARG) +#define required_argument REQUIRED_ARG +#endif + +#if !defined(optional_argument) && defined(OPTIONAL_ARG) +#define optional_argument OPTIONAL_ARG +#endif + +#endif // defined(PPL_HAVE_GETOPT_H) + +#ifdef PPL_HAVE_UNISTD_H +// Include this for `getopt()': especially important if we do not have +// <getopt.h>. +# include <unistd.h> +#endif + +#ifdef PPL_HAVE_SYS_TIME_H +# include <sys/time.h> +#endif + +#ifdef PPL_HAVE_SYS_RESOURCE_H +// This should be included after <time.h> and <sys/time.h> so as to make +// sure we have the definitions for, e.g., `ru_utime'. +# include <sys/resource.h> +#endif + +#if defined(PPL_HAVE_SYS_RESOURCE_H) \ + && (defined(SA_ONESHOT) || defined(SA_RESETHAND)) +# define PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME +#endif + +namespace { + +#ifdef PPL_HAVE_GETOPT_H +struct option long_options[] = { + {"max-cpu", required_argument, 0, 'C'}, + {"max-memory", required_argument, 0, 'R'}, + {"help", no_argument, 0, 'h'}, + {"output", required_argument, 0, 'o'}, + {"timings", no_argument, 0, 't'}, + {"verbose", no_argument, 0, 'v'}, +#if defined(USE_PPL) + {"version", no_argument, 0, 'V'}, + {"check", required_argument, 0, 'c'}, +#endif + {0, 0, 0, 0} +}; +#endif + +static const char* usage_string += "Usage: %s [OPTION]... [FILE]\n" +"Reads an H-representation (resp., a V-representation) of a polyhedron\n" +"and generates a V-representation (resp., an H-representation) of\n" +"the same polyhedron.\n\n" +"Options:\n" +#ifdef PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME +" -CSECS, --max-cpu=SECS limits CPU usage to SECS seconds\n" +#endif // defined(PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME) +" -RMB, --max-memory=MB limits memory usage to MB megabytes\n" +" -h, --help prints this help text to stdout\n" +" -oPATH, --output=PATH appends output to PATH\n" +" -t, --timings prints timings to stderr\n" +" -v, --verbose produces lots of output\n" +#if defined(USE_PPL) +" -V, --version prints version information to stdout\n" +" -cPATH, --check=PATH checks if the result is equal to what is in PATH\n" +#endif +#ifndef PPL_HAVE_GETOPT_H +"\n" +"NOTE: this version does not support long options.\n" +#endif +"\n" +"Report bugs to <ppl-devel@cs.unipr.it>.\n"; + +#if defined(USE_PPL) +#define OPTION_LETTERS "C:R:ho:tvVc:" +#else +#define OPTION_LETTERS "C:R:ho:tv" +#endif + +const char* program_name = 0; + +#ifdef PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME +unsigned long max_seconds_of_cpu_time = 0; +#endif // defined(PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME) + +unsigned long max_bytes_of_virtual_memory = 0; +bool print_timings = false; +bool verbose = false; +const char* check_file_name = 0; + +void +fatal(const char* format, ...) { + va_list ap; + va_start(ap, format); + fprintf(stderr, "%s: ", program_name); + vfprintf(stderr, format, ap); + fprintf(stderr, "\n"); + va_end(ap); + exit(1); +} + +namespace { + +const char* input_file_name = 0; +std::istream* input_stream_p = 0; + +void +set_input(const char* file_name) { + if (input_stream_p && *input_stream_p != std::cin) + delete input_stream_p; + + if (file_name) { + input_stream_p = new std::ifstream(file_name, std::ios_base::in); + if (!*input_stream_p) + fatal("cannot open input file `%s'", file_name); + input_file_name = file_name; + } + else { + input_stream_p = &std::cin; + input_file_name = "<cin>"; + } +} + +std::istream& +input() { + assert(input_stream_p); + return *input_stream_p; +} + +const char* output_file_name = 0; +std::ostream* output_stream_p = 0; + +void +set_output(const char* file_name) { + if (output_stream_p && *output_stream_p != std::cout) + delete output_stream_p; + + if (file_name) { + output_stream_p = new std::ofstream(file_name, + std::ios_base::out + | std::ios_base::app); + if (!*output_stream_p) + fatal("cannot open output file `%s'", file_name); + output_file_name = file_name; + } + else { + output_stream_p = &std::cout; + output_file_name = "<cout>"; + } +} + +std::ostream& +output() { + assert(output_stream_p); + return *output_stream_p; +} + +} // namespace + +void +error(const char* format, ...) { + va_list ap; + va_start(ap, format); + fprintf(stderr, "%s: in `%s': ", program_name, input_file_name); + vfprintf(stderr, format, ap); + fprintf(stderr, "\n"); + va_end(ap); + exit(1); +} + +void +warning(const char* format, ...) { + va_list ap; + va_start(ap, format); + fprintf(stderr, "%s: Warning: in `%s': ", program_name, input_file_name); + vfprintf(stderr, format, ap); + fprintf(stderr, "\n"); + va_end(ap); +} + +#ifdef PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME + +extern "C" typedef void (*sig_handler_type)(int); + +void +set_alarm_on_cpu_time(const unsigned seconds, sig_handler_type handler) { + sigset_t mask; + sigemptyset(&mask); + + struct sigaction s; + s.sa_handler = handler; + s.sa_mask = mask; +#if defined(SA_ONESHOT) + s.sa_flags = SA_ONESHOT; +#elif defined(SA_RESETHAND) + s.sa_flags = SA_RESETHAND; +#else +# error "Either SA_ONESHOT or SA_RESETHAND must be defined." +#endif + + if (sigaction(SIGXCPU, &s, 0) != 0) + fatal("sigaction failed: %s", strerror(errno)); + + struct rlimit t; + if (getrlimit(RLIMIT_CPU, &t) != 0) + fatal("getrlimit failed: %s", strerror(errno)); + + if (seconds < t.rlim_cur) { + t.rlim_cur = seconds; + if (setrlimit(RLIMIT_CPU, &t) != 0) + fatal("setrlimit failed: %s", strerror(errno)); + } +} + +#endif // PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME + +#if PPL_HAVE_DECL_RLIMIT_AS + +void +limit_virtual_memory(const unsigned long bytes) { + struct rlimit t; + + if (getrlimit(RLIMIT_AS, &t) != 0) + fatal("getrlimit failed: %s", strerror(errno)); + + if (bytes < t.rlim_cur) { + t.rlim_cur = bytes; + if (setrlimit(RLIMIT_AS, &t) != 0) + fatal("setrlimit failed: %s", strerror(errno)); + } +} + +#else + +void +limit_virtual_memory(unsigned long) { +} + +#endif // !PPL_HAVE_DECL_RLIMIT_AS + +extern "C" void +timeout(int) { + try { + std::cerr << "TIMEOUT" + << std::endl; + } + catch (...) { + } + + try { + if (output_file_name) + output() << "TIMEOUT" + << std::endl; + } + catch (...) { + } + + exit(0); +} + +void +process_options(int argc, char* argv[]) { + while (true) { +#ifdef PPL_HAVE_GETOPT_H + int option_index = 0; + int c = getopt_long(argc, argv, OPTION_LETTERS, long_options, + &option_index); +#else + int c = getopt(argc, argv, OPTION_LETTERS); +#endif + + if (c == EOF) + break; + + char* endptr; + long l; + switch (c) { + case 0: + break; + + case '?': + case 'h': + fprintf(stdout, usage_string, argv[0]); + exit(0); + break; + +#ifdef PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME + + case 'C': + l = strtol(optarg, &endptr, 10); + if (*endptr || l < 0) + fatal("a non-negative integer must follow `-C'"); + else + max_seconds_of_cpu_time = l; + break; + +#endif // defined(PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME) + + case 'R': + l = strtol(optarg, &endptr, 10); + if (*endptr || l < 0) + fatal("a non-negative integer must follow `-R'"); + else if (((unsigned long) l) > ULONG_MAX/(1024*1024)) + max_bytes_of_virtual_memory = ULONG_MAX; + else + max_bytes_of_virtual_memory = l*1024*1024; + break; + + case 'o': + output_file_name = optarg; + break; + + case 't': + print_timings = true; + break; + + case 'v': + verbose = true; + break; + +#if defined(USE_PPL) + + case 'V': + fprintf(stdout, "%s\n", PPL_VERSION); + exit(0); + break; + + case 'c': + check_file_name = optarg; + break; + +#endif + + default: + abort(); + } + } + + if (argc - optind > 1) + // We have multiple input files. + fatal("at most one input file is accepted"); + + // We have one input files. + if (optind < argc) + input_file_name = argv[optind]; + else + // If no input files have been specified: we will read from standard input. + assert(input_file_name == 0); +} + +void +maybe_start_clock() { + if (print_timings) + start_clock(); +} + +void +maybe_print_clock() { + if (print_timings) { + std::cerr << input_file_name << " "; + print_clock(std::cerr); + std::cerr << std::endl; + } +} + + +void +normalize(const std::vector<mpq_class>& source, + std::vector<mpz_class>& dest, + mpz_class& denominator) { + unsigned n = source.size(); + denominator = 1; + for (unsigned i = 0; i < n; ++i) + mpz_lcm(denominator.get_mpz_t(), + denominator.get_mpz_t(), + source[i].get_den().get_mpz_t()); + for (unsigned i = 0; i < n; ++i) + dest[i] = denominator*source[i]; +} + +template <typename T> +bool +guarded_read(std::istream& in, T& x) { + try { + return in >> x; + } + catch (...) { + return false; + } +} + +template <typename T> +void +guarded_write(std::ostream& out, const T& x) { + bool succeeded = false; + try { + succeeded = out << x; + } + catch (...) { + } + if (!succeeded) + fatal("cannot write to output file `%s'", output_file_name); +} + +#if defined (USE_POLKA) +template <> +void +guarded_write(std::ostream& out, const pkint_t& x) { + bool succeeded = false; + try { + succeeded = out << x.rep; + } + catch (...) { + } + if (!succeeded) + fatal("cannot write to output file `%s'", output_file_name); +} +#endif + +enum Number_Type { INTEGER, RATIONAL, REAL }; + +void +read_coefficients(std::istream& in, + const Number_Type number_type, + std::vector<mpz_class>& coefficients, + mpz_class& denominator) { + unsigned num_coefficients = coefficients.size(); + switch (number_type) { + case INTEGER: + { + for (unsigned i = 0; i < num_coefficients; ++i) + if (!guarded_read(in, coefficients[i])) + error("missing or invalid integer coefficient"); + denominator = 1; + break; + } + case RATIONAL: + { + std::vector<mpq_class> rational_coefficients(num_coefficients); + for (unsigned i = 0; i < num_coefficients; ++i) + if (!guarded_read(in, rational_coefficients[i])) + error("missing or invalid rational coefficient"); + normalize(rational_coefficients, coefficients, denominator); + break; + } + case REAL: + { + std::vector<mpq_class> rational_coefficients(num_coefficients); + for (unsigned i = 0; i < num_coefficients; ++i) { + double d; + if (!guarded_read(in, d)) + error("missing or invalid real coefficient"); + rational_coefficients[i] = mpq_class(d); + } + normalize(rational_coefficients, coefficients, denominator); + break; + } + } +} + +void +read_indexes_set(std::istream& in, + std::set<unsigned>& dest, + const char* what) { + assert(dest.empty()); + unsigned num_elements; + if (!guarded_read(in, num_elements)) + error("missing or invalid number of set elements in `%s'", what); + while (num_elements--) { + unsigned i; + if (!guarded_read(in, i)) + error("missing or invalid set element in `%s'", what); + dest.insert(i); + } +} + +enum Representation { H, V }; + +Representation +read_polyhedron(std::istream& in, POLYHEDRON_TYPE& ph) { + // By default we have an H-representation. + Representation rep = H; + + std::string s; + std::set<unsigned> linearity; + while (true) { + if (!guarded_read(in, s)) + error("premature end of file while seeking for `begin'"); + + if (s == "V-representation") + rep = V; + else if (s == "H-representation") + rep = H; + else if (s == "linearity" || s == "equality" || s == "partial_enum") { + read_indexes_set(in, linearity, "linearity"); + if (verbose) { + std::cerr << "Linearity: "; + for (std::set<unsigned>::const_iterator j = linearity.begin(), + linearity_end = linearity.end(); j != linearity_end; ++j) + std::cerr << *j << " "; + std::cerr << std::endl; + } + } + else if (s == "begin") + break; + else + // A comment: skip to end of line. + in.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); + } + + // Tools such as `lrs' produce "*****" instead of the number of + // rows. We will accept that as valid input and compute the number + // of rows ourselves. + bool has_num_rows = false; + unsigned num_rows; + if (!guarded_read(in, s)) + error("missing number of rows"); + if (s != "*****") { + std::istringstream istr(s); + if (!guarded_read(istr, num_rows)) + error("illegal number of rows `%s' (\"*****\" would be accepted)", + s.c_str()); + has_num_rows = true; + } + + unsigned num_columns; + if (!guarded_read(in, num_columns)) + error("illegal or missing number of columns"); + unsigned space_dim = num_columns - 1; + + if (!guarded_read(in, s)) + error("missing number type"); + Number_Type number_type = INTEGER; + if (s == "integer") + number_type = INTEGER; + else if (s == "rational") + number_type = RATIONAL; + else if (s == "real") + number_type = REAL; + else + error("illegal number type `%s'", s.c_str()); + + if (verbose) { + std::cerr << "Problem dimension: "; + if (has_num_rows) + std::cerr << num_rows; + else + std::cerr << '?'; + std::cerr << " x " << num_columns + << "; number type: " << s + << std::endl; + } + +#if defined(USE_PPL) + + PPL::Constraint_System cs; + PPL::Generator_System gs; + +#elif defined(USE_POLKA) + + // Initialize polka in non-strict mode. + // 25000 is a magic number: with 22500 Polka 2.0.2 dies on + // mit31-20.ine with the error "Chernikova: out of table space". + polka_initialize(polka_false, space_dim, 25000); + // Declare and allocate a Polka matrix. + matrix_t* mat = matrix_alloc(num_rows+1, space_dim+2, polka_false); + +#elif defined(USE_POLYLIB) + + // Declare and allocate a PolyLib matrix. + Matrix* mat = Matrix_Alloc(num_rows+1, space_dim+2); + +#endif + + unsigned row = 0; + std::set<unsigned>::iterator linearity_end = linearity.end(); + if (rep == V) { + // The V representation allows for `space_dim' coordinates. + std::vector<mpz_class> coefficients(space_dim); + mpz_class denominator; + bool has_a_point = false; + for (row = 0; !has_num_rows || row < num_rows; ++row) { + int vertex_marker; + if (!has_num_rows) { + // Must be prepared to read an "end" here. + if (!guarded_read(in, s)) + error("missing vertex marker"); + if (s == "end") + break; + std::istringstream istr(s); + if (!guarded_read(istr, vertex_marker) + || vertex_marker < 0 || vertex_marker > 1) + error("illegal vertex marker `%s'", s.c_str()); + } + else if (!guarded_read(in, vertex_marker) + || vertex_marker < 0 || vertex_marker > 1) + error("illegal or missing vertex marker"); + read_coefficients(in, number_type, coefficients, denominator); + +#if defined(USE_PPL) + // PPL variables have indices 0, 1, ..., space_dim-1. + PPL::Linear_Expression e; + for (unsigned j = space_dim; j-- > 0; ) + e += coefficients[j] * PPL::Variable(j); +#elif defined(USE_POLKA) + // NewPolka variables have indices 2, 3, ..., space_dim+1. + for (unsigned j = space_dim; j-- > 0; ) + pkint_set(mat->p[row][j+2], coefficients[j].get_mpz_t()); +#elif defined(USE_POLYLIB) + // PolyLib variables have indices 1, 2, ..., space_dim. + for (unsigned j = space_dim; j-- > 0; ) + value_assign(mat->p[row][j+1], coefficients[j].get_mpz_t()); +#endif + if (vertex_marker == 1) { + assert(linearity.find(row+1) == linearity_end); +#if defined(USE_PPL) + gs.insert(point(e, denominator)); +#elif defined(USE_POLKA) + // NewPolka stores the generator kind at index 0 (1 = ray/point) + // and the common denominator at index 1. + pkint_set_si(mat->p[row][0], 1); + pkint_set(mat->p[row][1], denominator.get_mpz_t()); +#elif defined(USE_POLYLIB) + // PolyLib stores the generator kind at index 0 (1 = ray/point) + // and the common denominator at index space_dim+1. + value_set_si(mat->p[row][0], 1); + value_assign(mat->p[row][space_dim+1], denominator.get_mpz_t()); +#endif + has_a_point = true; + } + else if (linearity.find(row+1) != linearity_end) { +#if defined(USE_PPL) + gs.insert(line(e)); +#elif defined(USE_POLKA) + // NewPolka stores the generator kind at index 0 (0 = line) + // and the common denominator at index 1 (0 for ray/line). + pkint_set_si(mat->p[row][0], 0); + pkint_set_si(mat->p[row][1], 0); +#elif defined(USE_POLYLIB) + // PolyLib stores the generator kind at index 0 (0 = line) + // and the common denominator at index space_dim+1 (0 for ray/line). + value_set_si(mat->p[row][0], 0); + value_set_si(mat->p[row][space_dim+1], 0); +#endif + } + else { +#if defined(USE_PPL) + gs.insert(ray(e)); +#elif defined(USE_POLKA) + // NewPolka stores the generator kind at index 0 (1 = ray/point) + // and the common denominator at index 1 (0 for ray/line). + pkint_set_si(mat->p[row][0], 1); + pkint_set_si(mat->p[row][1], 0); +#elif defined(USE_POLYLIB) + // PolyLib stores the generator kind at index 0 (1 = ray/point) + // and the common denominator at index space_dim+1 (0 for ray/line). + value_set_si(mat->p[row][0], 1); + value_set_si(mat->p[row][space_dim+1], 0); +#endif + } + } + // Every non-empty generator system must have at least one point. + if (row > 0 && !has_a_point) { +#if defined(USE_PPL) + gs.insert(PPL::point()); +#elif defined(USE_POLKA) + // Add the origin as a point. + pkint_set_si(mat->p[num_rows][0], 1); + pkint_set_si(mat->p[num_rows][1], 1); + for (unsigned j = space_dim; j-- > 0; ) + pkint_set_si(mat->p[num_rows][j+2], 0); + ++num_rows; +#elif defined(USE_POLYLIB) + // Add the origin as a point. + value_set_si(mat->p[num_rows][0], 1); + value_set_si(mat->p[num_rows][space_dim+1], 1); + for (unsigned j = space_dim; j-- > 0; ) + value_set_si(mat->p[num_rows][j+1], 0); + ++num_rows; +#endif + } + + if (verbose) { + if (!has_num_rows) + std::cerr << "Problem dimension: " << row << " x " << num_columns + << "; number type: " << s + << std::endl; + +#if defined(USE_PPL) + using namespace PPL::IO_Operators; + std::cerr << "Generator system:\n" << gs << std::endl; +#elif defined(USE_POLKA) + // Polka can only print to stdout. + printf("Generator system:\n"); + matrix_print(mat); +#elif defined(USE_POLYLIB) + fprintf(stderr, "Generator system:\n"); + Matrix_Print(stderr, 0, mat); +#endif + } + } + else { + assert(rep == H); + // The H representation stores the inhomogeneous term at index 0, + // and the variables' coefficients at indices 1, 2, ..., space_dim. + std::vector<mpz_class> coefficients(space_dim+1); + mpz_class denominator; + for (row = 0; !has_num_rows || row < num_rows; ++row) { + if (!has_num_rows) { + // Must be prepared to read an "end" here. + std::getline(in, s); + if (!in) + error("premature end of file while seeking " + "for coefficients or `end'"); + if (s.substr(0, 2) == "end") + break; + std::istringstream istr(s); + read_coefficients(istr, number_type, coefficients, denominator); + } + else + read_coefficients(in, number_type, coefficients, denominator); + +#if defined(USE_PPL) + // PPL variables have indices 0, 1, ..., space_dim-1. + PPL::Linear_Expression e; + for (unsigned j = num_columns; j-- > 1; ) + e += coefficients[j] * PPL::Variable(j-1); + e += coefficients[0]; +#elif defined(USE_POLKA) + // NewPolka variables have indices 2, 3, ..., space_dim+1. + for (unsigned j = num_columns; j-- > 1; ) + pkint_set(mat->p[row][j+1], coefficients[j].get_mpz_t()); + // NewPolka stores the inhomogeneous term at index 1. + pkint_set(mat->p[row][1], coefficients[0].get_mpz_t()); +#elif defined(USE_POLYLIB) + // PolyLib variables have indices 1, 2, ..., space_dim. + for (unsigned j = num_columns; j-- > 1; ) + value_assign(mat->p[row][j], coefficients[j].get_mpz_t()); + // PolyLib stores the inhomogeneous term at index space_dim+1. + value_assign(mat->p[row][space_dim+1], coefficients[0].get_mpz_t()); +#endif + + if (linearity.find(row+1) != linearity_end) { +#if defined(USE_PPL) + cs.insert(e == 0); +#elif defined(USE_POLKA) + // NewPolka stores the constraint kind at index 0 (0 = equality). + pkint_set_si(mat->p[row][0], 0); +#elif defined(USE_POLYLIB) + // PolyLib stores the constraint kind at index 0 (0 = equality). + value_set_si(mat->p[row][0], 0); +#endif + } + else { +#if defined(USE_PPL) + cs.insert(e >= 0); +#elif defined(USE_POLKA) + // NewPolka stores the constraint kind at index 0 (1 = inequality). + pkint_set_si(mat->p[row][0], 1); +#elif defined(USE_POLYLIB) + // PolyLib stores the constraint kind at index 0 (1 = inequality). + value_set_si(mat->p[row][0], 1); +#endif + } + } + + if (verbose) { + if (!has_num_rows) + std::cerr << "Problem dimension: " << row << " x " << num_columns + << "; number type: " << s + << std::endl; + +#if defined(USE_PPL) + using namespace PPL::IO_Operators; + std::cerr << "Constraint system:\n" << cs << std::endl; +#elif defined(USE_POLKA) + // Polka can only print to stdout. + printf("Constraint system:\n"); + matrix_print(mat); +#elif defined(USE_POLYLIB) + fprintf(stderr, "Constraint system:\n"); + Matrix_Print(stderr, 0, mat); +#endif + } + } + + if (has_num_rows) { + if (!guarded_read(in, s)) + error("premature end of file while seeking for `end'"); + + if (s != "end") + error("`%s' found while seeking for `end'", s.c_str()); + } + + if (rep == H) { +#if defined(USE_PPL) + ph = PPL::C_Polyhedron(cs, PPL::Recycle_Input()); +#elif defined(USE_POLKA) + ph = poly_universe(space_dim); + ph = poly_add_constraints_lazy(ph, mat); +#elif defined(USE_POLYLIB) + ph = Universe_Polyhedron(space_dim); + + // PolyLib is not lazy: it will perform the conversion immediately. + maybe_start_clock(); + ph = AddConstraints(mat->p[0], num_rows, ph, + max_constraints_or_generators); + maybe_print_clock(); +#endif + } + else { +#if defined(USE_PPL) + ph = PPL::C_Polyhedron(gs, PPL::Recycle_Input()); +#elif defined(USE_POLKA) + ph = poly_of_frames(mat); +#elif defined(USE_POLYLIB) + ph = Empty_Polyhedron(space_dim); + + // PolyLib is not lazy: it will perform the conversion immediately. + maybe_start_clock(); + ph = AddRays(mat->p[0], num_rows, ph, + max_constraints_or_generators); + maybe_print_clock(); +#endif + } + return rep; +} + +void +write_polyhedron(std::ostream& out, + const POLYHEDRON_TYPE& ph, + const Representation rep) { + if (rep == H) + guarded_write(out, "H-representation\n"); + else { + assert(rep == V); + guarded_write(out, "V-representation\n"); + } + + std::set<unsigned> linearity; +#if defined(USE_PPL) + unsigned num_rows = 0; + if (rep == H) { + const PPL::Constraint_System& cs = ph.constraints(); + for (PPL::Constraint_System::const_iterator i = cs.begin(), + cs_end = cs.end(); i != cs_end; ++i) { + ++num_rows; + if (i->is_equality()) + linearity.insert(linearity.end(), num_rows); + } + } + else { + const PPL::Generator_System& gs = ph.generators(); + for (PPL::Generator_System::const_iterator i = gs.begin(), + gs_end = gs.end(); i != gs_end; ++i) { + ++num_rows; + if (i->is_line()) + linearity.insert(linearity.end(), num_rows); + } + } +#elif defined(USE_POLKA) + // Don't even try to get frames if the polyhedron is empty. + const matrix_t* mat = (rep == H) + ? poly_constraints(ph) + : (poly_is_empty(ph) ? 0 : poly_frames(ph)); + const unsigned num_rows = (rep == V && poly_is_empty(ph)) ? 0 : mat->nbrows; + for (unsigned i = 0; i < num_rows; ++i) + if (pkint_sgn(mat->p[i][0]) == 0) + linearity.insert(linearity.end(), i+1); +#elif defined(USE_POLYLIB) + const Matrix* mat = (rep == H) + ? Polyhedron2Constraints(ph) + : Polyhedron2Rays(ph); + const unsigned num_rows = mat->NbRows; + for (unsigned i = 0; i < num_rows; ++i) + if (value_sign(mat->p[i][0]) == 0) + linearity.insert(linearity.end(), i+1); +#endif + + if (!linearity.empty()) { + guarded_write(out, "linearity "); + guarded_write(out, linearity.size()); + for (std::set<unsigned>::const_iterator j = linearity.begin(), + linearity_end = linearity.end(); j != linearity_end; ++j) { + guarded_write(out, ' '); + guarded_write(out, *j); + } + guarded_write(out, '\n'); + } + +#if defined(USE_PPL) + PPL::dimension_type space_dim = ph.space_dimension(); +#elif defined(USE_POLKA) + unsigned space_dim = poly_dimension(ph); +#elif defined(USE_POLYLIB) + unsigned space_dim = mat->NbColumns - 2; +#endif + + guarded_write(out, "begin\n"); + guarded_write(out, num_rows); + guarded_write(out, ' '); + guarded_write(out, space_dim+1); + guarded_write(out, ' '); + if (rep == H) + guarded_write(out, "integer\n"); + else + guarded_write(out, "rational\n"); + +#if defined(USE_PPL) + if (rep == H) { + const PPL::Constraint_System& cs = ph.constraints(); + for (PPL::Constraint_System::const_iterator i = cs.begin(), + cs_end = cs.end(); i != cs_end; ++i) { + const PPL::Constraint& c = *i; + guarded_write(out, c.inhomogeneous_term()); + for (PPL::dimension_type j = 0; j < space_dim; ++j) { + guarded_write(out, ' '); + guarded_write(out, c.coefficient(PPL::Variable(j))); + } + guarded_write(out, '\n'); + } + } + else { + assert(rep == V); + const PPL::Generator_System& gs = ph.generators(); + for (PPL::Generator_System::const_iterator i = gs.begin(), + gs_end = gs.end(); i != gs_end; ++i) { + const PPL::Generator& g = *i; + if (g.is_point()) { + guarded_write(out, '1'); + const PPL::Coefficient& divisor = g.divisor(); + for (PPL::dimension_type j = 0; j < space_dim; ++j) { + guarded_write(out, ' '); + if (g.coefficient(PPL::Variable(j)) == 0) + guarded_write(out, '0'); + else { + mpz_class num, den; + PPL::assign_r(num, + g.coefficient(PPL::Variable(j)), + PPL::ROUND_NOT_NEEDED); + PPL::assign_r(den, divisor, PPL::ROUND_NOT_NEEDED); + guarded_write(out, mpq_class(num, den)); + } + } + } + else { + // `g' is a ray or a line. + guarded_write(out, '0'); + for (PPL::dimension_type j = 0; j < space_dim; ++j) { + guarded_write(out, ' '); + guarded_write(out, g.coefficient(PPL::Variable(j))); + } + } + guarded_write(out, '\n'); + } + } +#elif defined(USE_POLKA) + if (rep == H) { + for (unsigned i = 0; i < num_rows; ++i) { + const pkint_t* c = mat->p[i]; + // The inhomogeneous term. + guarded_write(out, c[1]); + // The variables' coefficients. + for (unsigned j = 0; j < space_dim; ++j) { + guarded_write(out, ' '); + guarded_write(out, c[j+2]); + } + guarded_write(out, '\n'); + } + } + else { + assert(rep == V); + for (unsigned i = 0; i < num_rows; ++i) { + const pkint_t* g = mat->p[i]; + guarded_write(out, g[0]); + const pkint_t divisor = g[1]; + if (pkint_sgn(divisor) != 0) + // `g' is a point. + for (unsigned j = 0; j < space_dim; ++j) { + guarded_write(out, ' '); + if (pkint_sgn(g[j+2]) == 0) + guarded_write(out, '0'); + else + guarded_write(out, mpq_class(mpz_class(g[j+2].rep), + mpz_class(divisor.rep))); + } + else + // `g' is a ray or a line. + for (unsigned j = 0; j < space_dim; ++j) { + guarded_write(out, ' '); + guarded_write(out, g[j+2]); + } + guarded_write(out, '\n'); + } + } +#elif defined (USE_POLYLIB) + if (rep == H) { + for (unsigned i = 0; i < num_rows; ++i) { + const Value* c = mat->p[i]; + // The inhomogeneous term. + guarded_write(out, c[space_dim+1]); + // The variables' coefficients. + for (unsigned j = 0; j < space_dim; ++j) { + guarded_write(out, ' '); + guarded_write(out, c[j+1]); + } + guarded_write(out, '\n'); + } + } + else { + assert(rep == V); + for (unsigned i = 0; i < num_rows; ++i) { + const Value* g = mat->p[i]; + guarded_write(out, g[0]); + const Value& divisor = g[space_dim+1]; + if (value_sign(divisor) != 0) + // `g' is a point. + for (unsigned j = 0; j < space_dim; ++j) { + guarded_write(out, ' '); + if (value_sign(g[j+1]) == 0) + guarded_write(out, '0'); + else + guarded_write(out, mpq_class(mpz_class(g[j+1]), + mpz_class(divisor))); + } + else + // `g' is a ray or a line. + for (unsigned j = 0; j < space_dim; ++j) { + guarded_write(out, ' '); + guarded_write(out, g[j+1]); + } + guarded_write(out, '\n'); + } + } +#endif + guarded_write(out, "end\n"); + + // Flush `out'. + bool flush_succeeded = false; + try { + flush_succeeded = out.flush(); + } + catch (...) { + } + if (!flush_succeeded) + fatal("cannot write to output file `%s'", output_file_name); +} + +} // namespace + +int +main(int argc, char* argv[]) try { + program_name = argv[0]; + +#if defined(USE_PPL) + if (strcmp(PPL_VERSION, PPL::version()) != 0) + fatal("was compiled with PPL version %s, but linked with version %s", + PPL_VERSION, PPL::version()); + + if (verbose) + std::cerr << "Parma Polyhedra Library version:\n" << PPL::version() + << "\n\nParma Polyhedra Library banner:\n" << PPL::banner() + << std::endl; +#endif + + // Process command line options. + process_options(argc, argv); + +#ifdef PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME + + if (max_seconds_of_cpu_time > 0) + set_alarm_on_cpu_time(max_seconds_of_cpu_time, timeout); + +#endif // defined(PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME) + + if (max_bytes_of_virtual_memory > 0) + limit_virtual_memory(max_bytes_of_virtual_memory); + + // Set up the input and output streams. + set_input(input_file_name); + set_output(output_file_name); + + POLYHEDRON_TYPE ph; + Representation rep = read_polyhedron(input(), ph); + + enum Command { None, H_to_V, V_to_H }; + Command command = None; + + // Warn for misplaced linearity commands, and ignore all what follows. + std::string s; + while (guarded_read(input(), s)) { + if (s == "linearity" || s == "equality" || s == "partial_enum") + error("the `linearity' command must occur before `begin'"); + input().ignore(std::numeric_limits<std::streamsize>::max(), '\n'); + } + + +#if defined(USE_PPL) || defined(USE_POLKA) + maybe_start_clock(); +#endif + + // Compute the dual representation. + if (rep == V) { + command = V_to_H; +#if defined(USE_PPL) + ph.minimized_constraints(); +#elif defined(USE_POLKA) + poly_minimize(ph); +#endif + } + else { + command = H_to_V; +#if defined(USE_PPL) + ph.minimized_generators(); +#elif defined(USE_POLKA) + poly_minimize(ph); +#endif + } + +#if defined(USE_PPL) || defined(USE_POLKA) + maybe_print_clock(); +#endif + + // Write the result of the conversion. + if (rep == V) + write_polyhedron(output(), ph, H); + else + write_polyhedron(output(), ph, V); + +#if defined(USE_PPL) + // Check the result, if requested to do so. + if (check_file_name) { + set_input(check_file_name); + // Read the polyhedron containing the expected result. + PPL::C_Polyhedron e_ph; + Representation e_rep = read_polyhedron(input(), e_ph); + + switch (command) { + case H_to_V: + { + if (e_rep == H) + warning("checking an H-to-V conversion with an H representation"); + + // Count the number of generators of `ph'. + unsigned ph_num_generators = 0; + const PPL::Generator_System& ph_gs = ph.generators(); + for (PPL::Generator_System::const_iterator i = ph_gs.begin(), + ph_gs_end = ph_gs.end(); i != ph_gs_end; ++i) + ++ph_num_generators; + + // Count the number of generators of `e_ph'. + unsigned e_ph_num_generators = 0; + const PPL::Generator_System& e_ph_gs = e_ph.generators(); + for (PPL::Generator_System::const_iterator i = e_ph_gs.begin(), + e_ph_gs_end = e_ph_gs.end(); i != e_ph_gs_end; ++i) + ++e_ph_num_generators; + + // If the polyhedra differ, that is the problem. + if (ph != e_ph) { + if (verbose) + std::cerr << "Check failed: polyhedra differ" + << std::endl; + return 1; + } + else if (ph_num_generators != e_ph_num_generators) + // If we have different number of generators, we fail. + std::cerr << "Check failed: different number of generators:\n" + << "expected " << e_ph_num_generators + << ", obtained " << ph_num_generators + << std::endl; + break; + } + case V_to_H: + { + if (e_rep == V) + warning("checking an V-to-H conversion with a V representation"); + + // Count the number of constraints of `ph'. + unsigned ph_num_constraints = 0; + const PPL::Constraint_System& ph_cs = ph.constraints(); + for (PPL::Constraint_System::const_iterator i = ph_cs.begin(), + ph_cs_end = ph_cs.end(); i != ph_cs_end; ++i) + ++ph_num_constraints; + + // Count the number of constraints of `e_ph'. + unsigned e_ph_num_constraints = 0; + const PPL::Constraint_System& e_ph_cs = e_ph.constraints(); + for (PPL::Constraint_System::const_iterator i = e_ph_cs.begin(), + e_ph_cs_end = e_ph_cs.end(); i != e_ph_cs_end; ++i) + ++e_ph_num_constraints; + + // If the polyhedra differ, that is the problem. + if (ph != e_ph) { + if (verbose) + std::cerr << "Check failed: polyhedra differ" + << std::endl; + return 1; + } + else if (ph_num_constraints != e_ph_num_constraints) + // If we have different number of constraints, we fail. + std::cerr << "Check failed: different number of constraints:\n" + << "expected " << e_ph_num_constraints + << ", obtained " << ph_num_constraints + << std::endl; + break; + } + case None: + break; + } + } +#endif + +#if defined(USE_POLKA) + // Finalize the library. + polka_finalize(); +#endif + + return 0; +} +catch (const std::bad_alloc&) { + fatal("out of memory"); + exit(1); +} +catch (const std::overflow_error& e) { + fatal("arithmetic overflow (%s)", e.what()); + exit(1); +} +catch (...) { + fatal("internal error: please submit a bug report to ppl-devel@cs.unipr.it"); + exit(1); +} diff --git a/demos/ppl_lpsol/Makefile.am b/demos/ppl_lpsol/Makefile.am new file mode 100644 index 000000000..0b579d09b --- /dev/null +++ b/demos/ppl_lpsol/Makefile.am @@ -0,0 +1,325 @@ +# Automake source file for the Parma Polyhedra Library. +# Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> +# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) +# +# This file is part of the Parma Polyhedra Library (PPL). +# +# The PPL 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 3 of the License, or (at your +# option) any later version. +# +# The PPL 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 02111-1307, USA. +# +# For the most up-to-date information see the Parma Polyhedra Library +# site: http://www.cs.unipr.it/ppl/ . + +SUBDIRS = examples + +EXTRA_DIST = \ +ppl_lpsol.c \ +expected_mpz \ +expected_mpz_a \ +expected_int8 \ +expected_int8_a \ +expected_int16 \ +expected_int16_a \ +expected_int32 \ +expected_int32_a \ +expected_int64 \ +expected_int64_a + +if BUILD_C_INTERFACE +if HAVE_GLPK + +AM_CPPFLAGS = \ +-I$(top_builddir)/interfaces/C \ +@extra_includes@ + +bin_PROGRAMS = ppl_lpsol + +# dummy.cc serves the only purpose to force linking using the C++ compiler. +ppl_lpsol_SOURCES = \ +ppl_lpsol.c \ +dummy.cc + +if GCC + +# We cannot use -std=c89 because of the definition of sigaction in <signal.h>. +ppl_lpsol_CFLAGS = -pedantic -std=gnu89 -Werror + +endif GCC + +ppl_lpsol_LDADD = \ +libglpk_set_d_eps.a \ +-lglpk \ +$(top_builddir)/interfaces/C/libppl_c.la \ +$(top_builddir)/src/libppl.la \ +@extra_libraries@ + +noinst_LIBRARIES = libglpk_set_d_eps.a +libglpk_set_d_eps_a_SOURCES = \ +glpk_set_d_eps.c + +dist_man_MANS = \ +ppl_lpsol.1 + +COEFFICIENT_MNEMONIC = @coefficient_mnemonic@ + +if ASSERTIONS_ENABLED + +TOUGH_EXAMPLES_FOR_ENUM_IF_ASSERTIONS_ENABLED = \ +afiro.mps + +TOUGH_EXAMPLES_FOR_SIMPLEX_IF_ASSERTIONS_ENABLED = \ +opt1217.mps \ +rout.mps + +TOUGH_EXAMPLES_FOR_BB_SATISFIABILTY_IF_ASSERTIONS_ENABLED = \ +mas74.mps \ +mas76.mps \ +modglob.mps \ +noswot.mps \ +opt1217.mps \ +pk1.mps \ +rout.mps + +EXPECTED = expected_$(COEFFICIENT_MNEMONIC)_a + +CHECK_OPTION = + +else !ASSERTIONS_ENABLED + +EXPECTED = expected_$(COEFFICIENT_MNEMONIC) + +CHECK_OPTION = -c + +endif !ASSERTIONS_ENABLED + +TOUGH_EXAMPLES_FOR_ENUM = \ +adlittle.mps \ +blend.mps \ +boeing1.mps \ +boeing2.mps \ +egout.mps \ +kb2.mps \ +lseu.mps \ +markshare1.mps \ +markshare2.mps \ +mas74.mps \ +mas76.mps \ +modglob.mps \ +noswot.mps \ +opt1217.mps \ +p0033.mps \ +pk1.mps \ +rout.mps \ +sc105.mps \ +sc50a.mps \ +sc50b.mps \ +ship08l.mps \ +$(TOUGH_EXAMPLES_FOR_ENUM_IF_ASSERTIONS_ENABLED) + +TOUGH_EXAMPLES_FOR_SIMPLEX = \ +ship08l.mps\ +$(TOUGH_EXAMPLES_FOR_SIMPLEX_IF_ASSERTIONS_ENABLED) + +TOUGH_EXAMPLES_FOR_BB_SATISFIABILITY = \ +$(TOUGH_EXAMPLES_FOR_BB_SATISFIABILTY_IF_ASSERTIONS_ENABLED) + +TOUGH_EXAMPLES_FOR_BB_OPTIMALITY = \ +egout.mps \ +lseu.mps \ +markshare1.mps \ +markshare2.mps \ +mas74.mps \ +mas76.mps \ +modglob.mps \ +noswot.mps \ +opt1217.mps \ +pk1.mps \ +rout.mps + +LP_PROBLEMS = \ +adlittle.mps \ +afiro.mps \ +bgprtr.mps \ +blend.mps \ +boeing1.mps \ +boeing2.mps \ +kb2.mps \ +sample.mps \ +sc105.mps \ +sc50a.mps \ +sc50b.mps \ +ship08l.mps + +DO_NOT_OUTPUT_OPTIMUM_LOCATION_PROBLEMS = \ +adlittle.mps \ +boeing1.mps \ +boeing2.mps \ +rout.mps + +INDIVIDUALLY_CHECKED_PROBLEMS = \ +boeing1.mps \ +boeing2.mps \ +ex12.mps \ +mas74.mps \ +modglob.mps + +if HOST_OS_CYGWIN + +DIFF_COMMAND = \ +$(EGREP) "^Optimum value: " $(srcdir)/$(EXPECTED) >expected_optima \ +&& $(EGREP) "^Optimum value: " obtained >obtained_optima \ +&& diff -u expected_optima obtained_optima + +else !HOST_OS_CYGWIN + +if HOST_OS_DARWIN + +DIFF_COMMAND = \ +$(EGREP) "^Optimum value: " $(srcdir)/$(EXPECTED) >expected_optima \ +&& $(EGREP) "^Optimum value: " obtained >obtained_optima \ +&& diff -u expected_optima obtained_optima + +else !HOST_OS_DARWIN + +if HOST_OS_SOLARIS + +DIFF_COMMAND = \ +$(EGREP) "^Optimum value: " $(srcdir)/$(EXPECTED) \ +| $(SED) -e "s/^Optimum value: \(-*[0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.]\)[0-9]*$/Optimum value: \1/g" >expected_optima \ +&& $(EGREP) "^Optimum value: " obtained \ +| $(SED) -e "s/^Optimum value: \(-*[0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\\.][0-9\.][0-9\.]\)[0-9]*$/Optimum value: \1/g" >obtained_optima \ +&& diff -u expected_optima obtained_optima + +else !HOST_OS_SOLARIS + +if HOST_OS_MINGW + +DIFF_COMMAND = \ +tr -d '\015' <obtained \ +| sed -e "s/ppl_lpsol.exe/ppl_lpsol/g" -e "s/1e+012/1e+12/g" \ +| diff $(srcdir)/$(EXPECTED) - + +else !HOST_OS_MINGW + +DIFF_COMMAND = diff -u $(srcdir)/$(EXPECTED) obtained + +endif !HOST_OS_MINGW + +endif !HOST_OS_SOLARIS + +endif !HOST_OS_DARWIN + +endif !HOST_OS_CYGWIN + +# NOTE: use exact steepest-edge pricing (-p1) instead float-based one. +# This has an efficiency penalty, but it guarantees deterministic +# results across different architectures. +SIMPLEX = ./ppl_lpsol$(EXEEXT) -s -p1 $(CHECK_OPTION) -oobtained +SIMPLEX_NOCHECK = ./ppl_lpsol$(EXEEXT) -s -p1 -oobtained +ECHO_SIMPLEX = echo "***" $(SIMPLEX) +ECHO_SIMPLEX_NOCHECK = echo "***" $(SIMPLEX_NOCHECK) + +check-local: ppl_lpsol$(EXEEXT) + echo $(ECHO_N) "$(ECHO_C)" >obtained + echo $(LP_PROBLEMS) >lp_problems + echo $(INDIVIDUALLY_CHECKED_PROBLEMS) >individually_checked_problems + export LC_ALL=C; \ + echo $(TOUGH_EXAMPLES_FOR_BB_SATISFIABILITY) >tough_examples + -for path in $(srcdir)/examples/*.mps; \ + do \ + file=`basename $$path`; \ + $(FGREP) $$file lp_problems >/dev/null 2>&1 && continue; \ + $(FGREP) $$file individually_checked_problems >/dev/null 2>&1 && continue; \ + $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \ + $(ECHO_SIMPLEX) "-n $$m $$file" >>obtained; \ + $(SIMPLEX) -n $$path >/dev/null; \ + done + echo $(TOUGH_EXAMPLES_FOR_BB_OPTIMALITY) >tough_examples + -for path in $(srcdir)/examples/*.mps; \ + do \ + file=`basename $$path`; \ + $(FGREP) $$file lp_problems >/dev/null 2>&1 && continue; \ + $(FGREP) $$file individually_checked_problems >/dev/null 2>&1 && continue; \ + $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \ + for m in -m -M; \ + do \ + $(ECHO_SIMPLEX) "$$m $$file" >>obtained; \ + $(SIMPLEX) $$m $$path >/dev/null; \ + done \ + done + echo $(TOUGH_EXAMPLES_FOR_SIMPLEX) >tough_examples + echo $(DO_NOT_OUTPUT_OPTIMUM_LOCATION_PROBLEMS) >do_not_output_location + -for path in $(srcdir)/examples/*.mps; \ + do \ + file=`basename $$path`; \ + $(FGREP) $$file individually_checked_problems >/dev/null 2>&1 && continue; \ + $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \ + verbosity=''; \ + $(FGREP) $$file do_not_output_location >/dev/null 2>&1 && verbosity='-v 2'; \ + for m in -m -M; \ + do \ + $(ECHO_SIMPLEX) "-r $$m $$file" >>obtained; \ + $(SIMPLEX) -r $$verbosity $$m $$path >/dev/null; \ + done \ + done + echo $(TOUGH_EXAMPLES_FOR_ENUM) >tough_examples + -for path in $(srcdir)/examples/*.mps; \ + do \ + file=`basename $$path`; \ + $(FGREP) $$file individually_checked_problems >/dev/null 2>&1 && continue; \ + $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \ + echo "*** ppl_lpsol -e -r $$m -oobtained $$file" >>obtained; \ + ./ppl_lpsol$(EXEEXT) -e -r $(CHECK_OPTION) $$m -oobtained $$path >/dev/null; \ + done + $(ECHO_SIMPLEX_NOCHECK) "-r -m -c0.00000000518 boeing1.mps" >>obtained + -$(SIMPLEX_NOCHECK) -r -m -c0.00000000518 $(srcdir)/examples/boeing1.mps >/dev/null + $(ECHO_SIMPLEX_NOCHECK) "-r -M -c0.0000000105 boeing1.mps" >>obtained + -$(SIMPLEX_NOCHECK) -r -M -c0.0000000105 $(srcdir)/examples/boeing1.mps $$m >/dev/null + $(ECHO_SIMPLEX) "-n boeing1.mps" >>obtained + -$(SIMPLEX) -n $(srcdir)/examples/boeing1.mps >/dev/null + $(ECHO_SIMPLEX_NOCHECK) "-r -m -c0.00000000863 boeing2.mps" >>obtained + -$(SIMPLEX_NOCHECK) -r -m -c0.00000000863 $(srcdir)/examples/boeing2.mps >/dev/null + $(ECHO_SIMPLEX_NOCHECK) "-r -M -c0.00000000213 boeing2.mps" >>obtained + -$(SIMPLEX_NOCHECK) -r -M -c0.00000000213 $(srcdir)/examples/boeing2.mps $$m >/dev/null + $(ECHO_SIMPLEX) "-n boeing2.mps" >>obtained + -$(SIMPLEX) -n $(srcdir)/examples/boeing2.mps >/dev/null + + $(ECHO_SIMPLEX) "-r -m mas74.mps" >>obtained + -$(SIMPLEX) -r -m $(srcdir)/examples/mas74.mps >/dev/null + $(ECHO_SIMPLEX_NOCHECK) "-r -M -c0.000123 mas74.mps" >>obtained + -$(SIMPLEX_NOCHECK) -r -M -c0.000123 $(srcdir)/examples/mas74.mps $$m >/dev/null + $(ECHO_SIMPLEX) "-n mas74.mps" >>obtained + -$(SIMPLEX) -n $(srcdir)/examples/mas74.mps >/dev/null + $(ECHO_SIMPLEX_NOCHECK) "-r -m -c0.0000273 modglob.mps" >>obtained + -$(SIMPLEX_NOCHECK) -r -m -c0.0000273 $(srcdir)/examples/modglob.mps >/dev/null + $(ECHO_SIMPLEX_NOCHECK) "-r -M -c0.0290 modglob.mps" >>obtained + -$(SIMPLEX_NOCHECK) -r -M -c0.0290 $(srcdir)/examples/modglob.mps >/dev/null + $(ECHO_SIMPLEX) "-n modglob.mps" >>obtained + -$(SIMPLEX) -n $(srcdir)/examples/modglob.mps >/dev/null + $(DIFF_COMMAND) + +endif HAVE_GLPK +endif BUILD_C_INTERFACE + +MOSTLYCLEANFILES = \ +individually_checked_problems \ +do_not_output_location \ +expected_optima \ +lp_problems \ +obtained \ +obtained_optima \ +tough_examples + +$(top_builddir)/interfaces/C/libppl_c.la: + $(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/interfaces/C libppl_c.la diff --git a/demos/ppl_lpsol/Makefile.in b/demos/ppl_lpsol/Makefile.in new file mode 100644 index 000000000..d0a7ea94d --- /dev/null +++ b/demos/ppl_lpsol/Makefile.in @@ -0,0 +1,1232 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ + +# Automake source file for the Parma Polyhedra Library. +# Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> +# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) +# +# This file is part of the Parma Polyhedra Library (PPL). +# +# The PPL 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 3 of the License, or (at your +# option) any later version. +# +# The PPL 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 02111-1307, USA. +# +# For the most up-to-date information see the Parma Polyhedra Library +# site: http://www.cs.unipr.it/ppl/ . + + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@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@ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@bin_PROGRAMS = \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ ppl_lpsol$(EXEEXT) +subdir = demos/ppl_lpsol +DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \ + $(top_srcdir)/m4/ac_check_fpu_control.m4 \ + $(top_srcdir)/m4/ac_check_gmp.m4 \ + $(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \ + $(top_srcdir)/m4/ac_check_swi_prolog.m4 \ + $(top_srcdir)/m4/ac_check_xsb_prolog.m4 \ + $(top_srcdir)/m4/ac_check_yap.m4 \ + $(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \ + $(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \ + $(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \ + $(top_srcdir)/m4/ac_cxx_limit_memory.m4 \ + $(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \ + $(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \ + $(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \ + $(top_srcdir)/m4/ac_prog_jar.m4 \ + $(top_srcdir)/m4/ac_prog_java.m4 \ + $(top_srcdir)/m4/ac_prog_javac.m4 \ + $(top_srcdir)/m4/ac_prog_javah.m4 \ + $(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \ + $(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +LIBRARIES = $(noinst_LIBRARIES) +ARFLAGS = cru +AM_V_AR = $(am__v_AR_$(V)) +am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY)) +am__v_AR_0 = @echo " AR " $@; +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +libglpk_set_d_eps_a_AR = $(AR) $(ARFLAGS) +libglpk_set_d_eps_a_LIBADD = +am__libglpk_set_d_eps_a_SOURCES_DIST = glpk_set_d_eps.c +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@am_libglpk_set_d_eps_a_OBJECTS = glpk_set_d_eps.$(OBJEXT) +libglpk_set_d_eps_a_OBJECTS = $(am_libglpk_set_d_eps_a_OBJECTS) +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" +PROGRAMS = $(bin_PROGRAMS) +am__ppl_lpsol_SOURCES_DIST = ppl_lpsol.c dummy.cc +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@am_ppl_lpsol_OBJECTS = ppl_lpsol-ppl_lpsol.$(OBJEXT) \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ dummy.$(OBJEXT) +ppl_lpsol_OBJECTS = $(am_ppl_lpsol_OBJECTS) +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ppl_lpsol_DEPENDENCIES = \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ libglpk_set_d_eps.a \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(top_builddir)/interfaces/C/libppl_c.la \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(top_builddir)/src/libppl.la +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_$(V)) +am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) +am__v_CC_0 = @echo " CC " $@; +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_$(V)) +am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CCLD_0 = @echo " CCLD " $@; +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +SOURCES = $(libglpk_set_d_eps_a_SOURCES) $(ppl_lpsol_SOURCES) +DIST_SOURCES = $(am__libglpk_set_d_eps_a_SOURCES_DIST) \ + $(am__ppl_lpsol_SOURCES_DIST) +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 +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 = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +man1dir = $(mandir)/man1 +NROFF = nroff +MANS = $(dist_man_MANS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ + distdir +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CIAO_PROLOG = @CIAO_PROLOG@ +CIAO_PROLOG_INCLUDE_OPTIONS = @CIAO_PROLOG_INCLUDE_OPTIONS@ +CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +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@ +GNU_PROLOG = @GNU_PROLOG@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +ISODATE = @ISODATE@ +JAR = @JAR@ +JAVA = @JAVA@ +JAVAC = @JAVAC@ +JAVAH = @JAVAH@ +JNIFLAGS = @JNIFLAGS@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBEXT = @LIBEXT@ +LIBGMP = @LIBGMP@ +LIBGMPXX = @LIBGMPXX@ +LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@ +LIBGMP_PREFIX = @LIBGMP_PREFIX@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBGMP = @LTLIBGMP@ +LTLIBGMPXX = @LTLIBGMPXX@ +LTLIBOBJS = @LTLIBOBJS@ +M4 = @M4@ +M4_DEBUGFILE = @M4_DEBUGFILE@ +MAKEINFO = @MAKEINFO@ +MD5SUM = @MD5SUM@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OCAMLBEST = @OCAMLBEST@ +OCAMLBUILD = @OCAMLBUILD@ +OCAMLC = @OCAMLC@ +OCAMLCDOTOPT = @OCAMLCDOTOPT@ +OCAMLDEP = @OCAMLDEP@ +OCAMLDOC = @OCAMLDOC@ +OCAMLLIB = @OCAMLLIB@ +OCAMLMKLIB = @OCAMLMKLIB@ +OCAMLMKTOP = @OCAMLMKTOP@ +OCAMLOPT = @OCAMLOPT@ +OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@ +OCAMLVERSION = @OCAMLVERSION@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PPL_VERSION_BETA = @PPL_VERSION_BETA@ +PPL_VERSION_MAJOR = @PPL_VERSION_MAJOR@ +PPL_VERSION_MINOR = @PPL_VERSION_MINOR@ +PPL_VERSION_REVISION = @PPL_VERSION_REVISION@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SHREXT = @SHREXT@ +SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@ +STRIP = @STRIP@ +SWI_PROLOG = @SWI_PROLOG@ +SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@ +SWI_PROLOG_LD = @SWI_PROLOG_LD@ +SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@ +TEXT_MD5SUM = @TEXT_MD5SUM@ +VALGRIND = @VALGRIND@ +VERSION = @VERSION@ +XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@ +YAP_PROLOG = @YAP_PROLOG@ +YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@ +YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@ +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_CXX = @ac_ct_CXX@ +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@ +ciao_prolog = @ciao_prolog@ +coefficient_mnemonic = @coefficient_mnemonic@ +datadir = @datadir@ +datarootdir = @datarootdir@ +debug_flag = @debug_flag@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extra_includes = @extra_includes@ +extra_libraries = @extra_libraries@ +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@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +mlgmp_dir = @mlgmp_dir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +required_instantiations = @required_instantiations@ +required_instantiations_c_cxx_headers = @required_instantiations_c_cxx_headers@ +required_instantiations_c_cxx_objects = @required_instantiations_c_cxx_objects@ +required_instantiations_c_cxx_sources = @required_instantiations_c_cxx_sources@ +required_instantiations_canonical_names = @required_instantiations_canonical_names@ +required_instantiations_java_classes = @required_instantiations_java_classes@ +required_instantiations_java_cxx_headers = @required_instantiations_java_cxx_headers@ +required_instantiations_java_cxx_headers_sources = @required_instantiations_java_cxx_headers_sources@ +required_instantiations_java_cxx_objects = @required_instantiations_java_cxx_objects@ +required_instantiations_java_cxx_sources = @required_instantiations_java_cxx_sources@ +required_instantiations_java_sources = @required_instantiations_java_sources@ +required_instantiations_ocaml_cxx_headers = @required_instantiations_ocaml_cxx_headers@ +required_instantiations_ocaml_cxx_objects = @required_instantiations_ocaml_cxx_objects@ +required_instantiations_ocaml_cxx_sources = @required_instantiations_ocaml_cxx_sources@ +required_instantiations_prolog_cxx_headers = @required_instantiations_prolog_cxx_headers@ +required_instantiations_prolog_cxx_objects = @required_instantiations_prolog_cxx_objects@ +required_instantiations_prolog_cxx_sources = @required_instantiations_prolog_cxx_sources@ +required_instantiations_prolog_generated_test_sources = @required_instantiations_prolog_generated_test_sources@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sicstus_prolog = @sicstus_prolog@ +srcdir = @srcdir@ +subdirs = @subdirs@ +swi_prolog = @swi_prolog@ +swi_prolog_ld = @swi_prolog_ld@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +uudecode = @uudecode@ +xsb_prolog = @xsb_prolog@ +yap_prolog = @yap_prolog@ +SUBDIRS = examples +EXTRA_DIST = \ +ppl_lpsol.c \ +expected_mpz \ +expected_mpz_a \ +expected_int8 \ +expected_int8_a \ +expected_int16 \ +expected_int16_a \ +expected_int32 \ +expected_int32_a \ +expected_int64 \ +expected_int64_a + +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@AM_CPPFLAGS = \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@-I$(top_builddir)/interfaces/C \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@extra_includes@ + + +# dummy.cc serves the only purpose to force linking using the C++ compiler. +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ppl_lpsol_SOURCES = \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ppl_lpsol.c \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@dummy.cc + + +# We cannot use -std=c89 because of the definition of sigaction in <signal.h>. +@BUILD_C_INTERFACE_TRUE@@GCC_TRUE@@HAVE_GLPK_TRUE@ppl_lpsol_CFLAGS = -pedantic -std=gnu89 -Werror +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ppl_lpsol_LDADD = \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@libglpk_set_d_eps.a \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@-lglpk \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@$(top_builddir)/interfaces/C/libppl_c.la \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@$(top_builddir)/src/libppl.la \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@extra_libraries@ + +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@noinst_LIBRARIES = libglpk_set_d_eps.a +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@libglpk_set_d_eps_a_SOURCES = \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@glpk_set_d_eps.c + +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@dist_man_MANS = \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ppl_lpsol.1 + +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@COEFFICIENT_MNEMONIC = @coefficient_mnemonic@ +@ASSERTIONS_ENABLED_TRUE@@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@TOUGH_EXAMPLES_FOR_ENUM_IF_ASSERTIONS_ENABLED = \ +@ASSERTIONS_ENABLED_TRUE@@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@afiro.mps + +@ASSERTIONS_ENABLED_TRUE@@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@TOUGH_EXAMPLES_FOR_SIMPLEX_IF_ASSERTIONS_ENABLED = \ +@ASSERTIONS_ENABLED_TRUE@@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@opt1217.mps \ +@ASSERTIONS_ENABLED_TRUE@@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@rout.mps + +@ASSERTIONS_ENABLED_TRUE@@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@TOUGH_EXAMPLES_FOR_BB_SATISFIABILTY_IF_ASSERTIONS_ENABLED = \ +@ASSERTIONS_ENABLED_TRUE@@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@mas74.mps \ +@ASSERTIONS_ENABLED_TRUE@@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@mas76.mps \ +@ASSERTIONS_ENABLED_TRUE@@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@modglob.mps \ +@ASSERTIONS_ENABLED_TRUE@@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@noswot.mps \ +@ASSERTIONS_ENABLED_TRUE@@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@opt1217.mps \ +@ASSERTIONS_ENABLED_TRUE@@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@pk1.mps \ +@ASSERTIONS_ENABLED_TRUE@@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@rout.mps + +@ASSERTIONS_ENABLED_FALSE@@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@EXPECTED = expected_$(COEFFICIENT_MNEMONIC) +@ASSERTIONS_ENABLED_TRUE@@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@EXPECTED = expected_$(COEFFICIENT_MNEMONIC)_a +@ASSERTIONS_ENABLED_FALSE@@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@CHECK_OPTION = -c +@ASSERTIONS_ENABLED_TRUE@@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@CHECK_OPTION = +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@TOUGH_EXAMPLES_FOR_ENUM = \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@adlittle.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@blend.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@boeing1.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@boeing2.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@egout.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@kb2.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@lseu.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@markshare1.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@markshare2.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@mas74.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@mas76.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@modglob.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@noswot.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@opt1217.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@p0033.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@pk1.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@rout.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@sc105.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@sc50a.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@sc50b.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ship08l.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@$(TOUGH_EXAMPLES_FOR_ENUM_IF_ASSERTIONS_ENABLED) + +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@TOUGH_EXAMPLES_FOR_SIMPLEX = \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ship08l.mps\ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@$(TOUGH_EXAMPLES_FOR_SIMPLEX_IF_ASSERTIONS_ENABLED) + +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@TOUGH_EXAMPLES_FOR_BB_SATISFIABILITY = \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@$(TOUGH_EXAMPLES_FOR_BB_SATISFIABILTY_IF_ASSERTIONS_ENABLED) + +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@TOUGH_EXAMPLES_FOR_BB_OPTIMALITY = \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@egout.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@lseu.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@markshare1.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@markshare2.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@mas74.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@mas76.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@modglob.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@noswot.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@opt1217.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@pk1.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@rout.mps + +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@LP_PROBLEMS = \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@adlittle.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@afiro.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@bgprtr.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@blend.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@boeing1.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@boeing2.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@kb2.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@sample.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@sc105.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@sc50a.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@sc50b.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ship08l.mps + +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@DO_NOT_OUTPUT_OPTIMUM_LOCATION_PROBLEMS = \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@adlittle.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@boeing1.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@boeing2.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@rout.mps + +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@INDIVIDUALLY_CHECKED_PROBLEMS = \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@boeing1.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@boeing2.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ex12.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@mas74.mps \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@modglob.mps + +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_MINGW_FALSE@@HOST_OS_SOLARIS_FALSE@DIFF_COMMAND = diff -u $(srcdir)/$(EXPECTED) obtained +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_MINGW_TRUE@@HOST_OS_SOLARIS_FALSE@DIFF_COMMAND = \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_MINGW_TRUE@@HOST_OS_SOLARIS_FALSE@tr -d '\015' <obtained \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_MINGW_TRUE@@HOST_OS_SOLARIS_FALSE@| sed -e "s/ppl_lpsol.exe/ppl_lpsol/g" -e "s/1e+012/1e+12/g" \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_MINGW_TRUE@@HOST_OS_SOLARIS_FALSE@| diff $(srcdir)/$(EXPECTED) - + +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_SOLARIS_TRUE@DIFF_COMMAND = \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_SOLARIS_TRUE@$(EGREP) "^Optimum value: " $(srcdir)/$(EXPECTED) \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_SOLARIS_TRUE@| $(SED) -e "s/^Optimum value: \(-*[0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.]\)[0-9]*$/Optimum value: \1/g" >expected_optima \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_SOLARIS_TRUE@&& $(EGREP) "^Optimum value: " obtained \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_SOLARIS_TRUE@| $(SED) -e "s/^Optimum value: \(-*[0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\\.][0-9\.][0-9\.]\)[0-9]*$/Optimum value: \1/g" >obtained_optima \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_SOLARIS_TRUE@&& diff -u expected_optima obtained_optima + +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_TRUE@DIFF_COMMAND = \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_TRUE@$(EGREP) "^Optimum value: " $(srcdir)/$(EXPECTED) >expected_optima \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_TRUE@&& $(EGREP) "^Optimum value: " obtained >obtained_optima \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_TRUE@&& diff -u expected_optima obtained_optima + +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_TRUE@DIFF_COMMAND = \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_TRUE@$(EGREP) "^Optimum value: " $(srcdir)/$(EXPECTED) >expected_optima \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_TRUE@&& $(EGREP) "^Optimum value: " obtained >obtained_optima \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_TRUE@&& diff -u expected_optima obtained_optima + + +# NOTE: use exact steepest-edge pricing (-p1) instead float-based one. +# This has an efficiency penalty, but it guarantees deterministic +# results across different architectures. +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@SIMPLEX = ./ppl_lpsol$(EXEEXT) -s -p1 $(CHECK_OPTION) -oobtained +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@SIMPLEX_NOCHECK = ./ppl_lpsol$(EXEEXT) -s -p1 -oobtained +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ECHO_SIMPLEX = echo "***" $(SIMPLEX) +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ECHO_SIMPLEX_NOCHECK = echo "***" $(SIMPLEX_NOCHECK) +MOSTLYCLEANFILES = \ +individually_checked_problems \ +do_not_output_location \ +expected_optima \ +lp_problems \ +obtained \ +obtained_optima \ +tough_examples + +all: all-recursive + +.SUFFIXES: +.SUFFIXES: .c .cc .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) --foreign demos/ppl_lpsol/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign demos/ppl_lpsol/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 +$(am__aclocal_m4_deps): + +clean-noinstLIBRARIES: + -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) +libglpk_set_d_eps.a: $(libglpk_set_d_eps_a_OBJECTS) $(libglpk_set_d_eps_a_DEPENDENCIES) + $(AM_V_at)-rm -f libglpk_set_d_eps.a + $(AM_V_AR)$(libglpk_set_d_eps_a_AR) libglpk_set_d_eps.a $(libglpk_set_d_eps_a_OBJECTS) $(libglpk_set_d_eps_a_LIBADD) + $(AM_V_at)$(RANLIB) libglpk_set_d_eps.a +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p || test -f $$p1; \ + then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list +ppl_lpsol$(EXEEXT): $(ppl_lpsol_OBJECTS) $(ppl_lpsol_DEPENDENCIES) + @rm -f ppl_lpsol$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(ppl_lpsol_OBJECTS) $(ppl_lpsol_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dummy.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glpk_set_d_eps.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppl_lpsol-ppl_lpsol.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@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@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@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@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@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 $@ $< + +ppl_lpsol-ppl_lpsol.o: ppl_lpsol.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppl_lpsol_CFLAGS) $(CFLAGS) -MT ppl_lpsol-ppl_lpsol.o -MD -MP -MF $(DEPDIR)/ppl_lpsol-ppl_lpsol.Tpo -c -o ppl_lpsol-ppl_lpsol.o `test -f 'ppl_lpsol.c' || echo '$(srcdir)/'`ppl_lpsol.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ppl_lpsol-ppl_lpsol.Tpo $(DEPDIR)/ppl_lpsol-ppl_lpsol.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ppl_lpsol.c' object='ppl_lpsol-ppl_lpsol.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppl_lpsol_CFLAGS) $(CFLAGS) -c -o ppl_lpsol-ppl_lpsol.o `test -f 'ppl_lpsol.c' || echo '$(srcdir)/'`ppl_lpsol.c + +ppl_lpsol-ppl_lpsol.obj: ppl_lpsol.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppl_lpsol_CFLAGS) $(CFLAGS) -MT ppl_lpsol-ppl_lpsol.obj -MD -MP -MF $(DEPDIR)/ppl_lpsol-ppl_lpsol.Tpo -c -o ppl_lpsol-ppl_lpsol.obj `if test -f 'ppl_lpsol.c'; then $(CYGPATH_W) 'ppl_lpsol.c'; else $(CYGPATH_W) '$(srcdir)/ppl_lpsol.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ppl_lpsol-ppl_lpsol.Tpo $(DEPDIR)/ppl_lpsol-ppl_lpsol.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ppl_lpsol.c' object='ppl_lpsol-ppl_lpsol.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppl_lpsol_CFLAGS) $(CFLAGS) -c -o ppl_lpsol-ppl_lpsol.obj `if test -f 'ppl_lpsol.c'; then $(CYGPATH_W) 'ppl_lpsol.c'; else $(CYGPATH_W) '$(srcdir)/ppl_lpsol.c'; fi` + +.cc.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cc.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cc.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-man1: $(dist_man_MANS) + @$(NORMAL_INSTALL) + test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" + @list=''; test -n "$(man1dir)" || exit 0; \ + { for i in $$list; do echo "$$i"; done; \ + l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ + done; } + +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man1dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + test -z "$$files" || { \ + echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(man1dir)" && rm -f $$files; } + +# 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): + @fail= 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; \ + ($(am__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): + @fail= 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; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__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) + set x; \ + 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 || \ + set "$$@" "$$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; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + 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)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @list='$(MANS)'; if test -n "$$list"; then \ + list=`for p in $$list; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ + if test -n "$$list" && \ + grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ + echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ + grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ + echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ + echo " typically \`make maintainer-clean' will remove them" >&2; \ + exit 1; \ + else :; fi; \ + else :; fi + @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 "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$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; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +@BUILD_C_INTERFACE_FALSE@check-local: +@HAVE_GLPK_FALSE@check-local: +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-local +check: check-recursive +all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(MANS) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +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: + -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-binPROGRAMS clean-generic clean-libtool \ + clean-noinstLIBRARIES mostlyclean-am + +distclean: distclean-recursive + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: install-man + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: install-binPROGRAMS + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: install-man1 + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-man + +uninstall-man: uninstall-man1 + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) check-am \ + ctags-recursive install-am install-strip tags-recursive + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am check-local clean clean-binPROGRAMS \ + clean-generic clean-libtool clean-noinstLIBRARIES ctags \ + ctags-recursive 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-man1 \ + 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-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am uninstall-binPROGRAMS uninstall-man \ + uninstall-man1 + + +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@check-local: ppl_lpsol$(EXEEXT) +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ echo $(ECHO_N) "$(ECHO_C)" >obtained +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ echo $(LP_PROBLEMS) >lp_problems +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ echo $(INDIVIDUALLY_CHECKED_PROBLEMS) >individually_checked_problems +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ export LC_ALL=C; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ echo $(TOUGH_EXAMPLES_FOR_BB_SATISFIABILITY) >tough_examples +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ -for path in $(srcdir)/examples/*.mps; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ do \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ file=`basename $$path`; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(FGREP) $$file lp_problems >/dev/null 2>&1 && continue; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(FGREP) $$file individually_checked_problems >/dev/null 2>&1 && continue; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(ECHO_SIMPLEX) "-n $$m $$file" >>obtained; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(SIMPLEX) -n $$path >/dev/null; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ done +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ echo $(TOUGH_EXAMPLES_FOR_BB_OPTIMALITY) >tough_examples +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ -for path in $(srcdir)/examples/*.mps; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ do \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ file=`basename $$path`; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(FGREP) $$file lp_problems >/dev/null 2>&1 && continue; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(FGREP) $$file individually_checked_problems >/dev/null 2>&1 && continue; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ for m in -m -M; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ do \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(ECHO_SIMPLEX) "$$m $$file" >>obtained; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(SIMPLEX) $$m $$path >/dev/null; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ done \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ done +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ echo $(TOUGH_EXAMPLES_FOR_SIMPLEX) >tough_examples +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ echo $(DO_NOT_OUTPUT_OPTIMUM_LOCATION_PROBLEMS) >do_not_output_location +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ -for path in $(srcdir)/examples/*.mps; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ do \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ file=`basename $$path`; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(FGREP) $$file individually_checked_problems >/dev/null 2>&1 && continue; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ verbosity=''; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(FGREP) $$file do_not_output_location >/dev/null 2>&1 && verbosity='-v 2'; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ for m in -m -M; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ do \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(ECHO_SIMPLEX) "-r $$m $$file" >>obtained; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(SIMPLEX) -r $$verbosity $$m $$path >/dev/null; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ done \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ done +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ echo $(TOUGH_EXAMPLES_FOR_ENUM) >tough_examples +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ -for path in $(srcdir)/examples/*.mps; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ do \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ file=`basename $$path`; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(FGREP) $$file individually_checked_problems >/dev/null 2>&1 && continue; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ echo "*** ppl_lpsol -e -r $$m -oobtained $$file" >>obtained; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ ./ppl_lpsol$(EXEEXT) -e -r $(CHECK_OPTION) $$m -oobtained $$path >/dev/null; \ +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ done +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(ECHO_SIMPLEX_NOCHECK) "-r -m -c0.00000000518 boeing1.mps" >>obtained +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ -$(SIMPLEX_NOCHECK) -r -m -c0.00000000518 $(srcdir)/examples/boeing1.mps >/dev/null +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(ECHO_SIMPLEX_NOCHECK) "-r -M -c0.0000000105 boeing1.mps" >>obtained +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ -$(SIMPLEX_NOCHECK) -r -M -c0.0000000105 $(srcdir)/examples/boeing1.mps $$m >/dev/null +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(ECHO_SIMPLEX) "-n boeing1.mps" >>obtained +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ -$(SIMPLEX) -n $(srcdir)/examples/boeing1.mps >/dev/null +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(ECHO_SIMPLEX_NOCHECK) "-r -m -c0.00000000863 boeing2.mps" >>obtained +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ -$(SIMPLEX_NOCHECK) -r -m -c0.00000000863 $(srcdir)/examples/boeing2.mps >/dev/null +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(ECHO_SIMPLEX_NOCHECK) "-r -M -c0.00000000213 boeing2.mps" >>obtained +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ -$(SIMPLEX_NOCHECK) -r -M -c0.00000000213 $(srcdir)/examples/boeing2.mps $$m >/dev/null +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(ECHO_SIMPLEX) "-n boeing2.mps" >>obtained +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ -$(SIMPLEX) -n $(srcdir)/examples/boeing2.mps >/dev/null + +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(ECHO_SIMPLEX) "-r -m mas74.mps" >>obtained +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ -$(SIMPLEX) -r -m $(srcdir)/examples/mas74.mps >/dev/null +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(ECHO_SIMPLEX_NOCHECK) "-r -M -c0.000123 mas74.mps" >>obtained +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ -$(SIMPLEX_NOCHECK) -r -M -c0.000123 $(srcdir)/examples/mas74.mps $$m >/dev/null +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(ECHO_SIMPLEX) "-n mas74.mps" >>obtained +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ -$(SIMPLEX) -n $(srcdir)/examples/mas74.mps >/dev/null +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(ECHO_SIMPLEX_NOCHECK) "-r -m -c0.0000273 modglob.mps" >>obtained +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ -$(SIMPLEX_NOCHECK) -r -m -c0.0000273 $(srcdir)/examples/modglob.mps >/dev/null +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(ECHO_SIMPLEX_NOCHECK) "-r -M -c0.0290 modglob.mps" >>obtained +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ -$(SIMPLEX_NOCHECK) -r -M -c0.0290 $(srcdir)/examples/modglob.mps >/dev/null +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(ECHO_SIMPLEX) "-n modglob.mps" >>obtained +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ -$(SIMPLEX) -n $(srcdir)/examples/modglob.mps >/dev/null +@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@ $(DIFF_COMMAND) + +$(top_builddir)/interfaces/C/libppl_c.la: + $(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/interfaces/C libppl_c.la + +# 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/demos/ppl_lpsol/dummy.cc b/demos/ppl_lpsol/dummy.cc new file mode 100644 index 000000000..1d47c5fab --- /dev/null +++ b/demos/ppl_lpsol/dummy.cc @@ -0,0 +1,13 @@ +/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> + Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) + +This file is free software; as a special exception the author 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. */ + +// This file intentionally contains only this comment :-) diff --git a/demos/ppl_lpsol/examples/Makefile.am b/demos/ppl_lpsol/examples/Makefile.am new file mode 100644 index 000000000..9fb3bfbb9 --- /dev/null +++ b/demos/ppl_lpsol/examples/Makefile.am @@ -0,0 +1,52 @@ +# Automake source file for the Parma Polyhedra Library. +# Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> +# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) +# +# This file is part of the Parma Polyhedra Library (PPL). +# +# The PPL 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 3 of the License, or (at your +# option) any later version. +# +# The PPL 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 02111-1307, USA. +# +# For the most up-to-date information see the Parma Polyhedra Library +# site: http://www.cs.unipr.it/ppl/ . + +dist_noinst_DATA = \ +adlittle.mps \ +afiro.mps \ +bgprtr.mps \ +blend.mps \ +boeing1.mps \ +boeing2.mps \ +egout.mps \ +ex12.mps \ +ex1.mps \ +kb2.mps \ +lseu.mps \ +markshare1.mps \ +markshare2.mps \ +mas74.mps \ +mas76.mps \ +mip.mps \ +modglob.mps \ +noswot.mps \ +opt1217.mps \ +p0033.mps \ +pk1.mps \ +rout.mps \ +sample.mps \ +sc105.mps \ +sc50a.mps \ +sc50b.mps \ +ship08l.mps \ +unboundedmin.mps diff --git a/demos/ppl_lpsol/examples/Makefile.in b/demos/ppl_lpsol/examples/Makefile.in new file mode 100644 index 000000000..71bddadf2 --- /dev/null +++ b/demos/ppl_lpsol/examples/Makefile.in @@ -0,0 +1,523 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ + +# Automake source file for the Parma Polyhedra Library. +# Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> +# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) +# +# This file is part of the Parma Polyhedra Library (PPL). +# +# The PPL 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 3 of the License, or (at your +# option) any later version. +# +# The PPL 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 02111-1307, USA. +# +# For the most up-to-date information see the Parma Polyhedra Library +# site: http://www.cs.unipr.it/ppl/ . + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@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 = demos/ppl_lpsol/examples +DIST_COMMON = README $(dist_noinst_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \ + $(top_srcdir)/m4/ac_check_fpu_control.m4 \ + $(top_srcdir)/m4/ac_check_gmp.m4 \ + $(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \ + $(top_srcdir)/m4/ac_check_swi_prolog.m4 \ + $(top_srcdir)/m4/ac_check_xsb_prolog.m4 \ + $(top_srcdir)/m4/ac_check_yap.m4 \ + $(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \ + $(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \ + $(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \ + $(top_srcdir)/m4/ac_cxx_limit_memory.m4 \ + $(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \ + $(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \ + $(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \ + $(top_srcdir)/m4/ac_prog_jar.m4 \ + $(top_srcdir)/m4/ac_prog_java.m4 \ + $(top_srcdir)/m4/ac_prog_javac.m4 \ + $(top_srcdir)/m4/ac_prog_javah.m4 \ + $(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \ + $(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +SOURCES = +DIST_SOURCES = +DATA = $(dist_noinst_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CIAO_PROLOG = @CIAO_PROLOG@ +CIAO_PROLOG_INCLUDE_OPTIONS = @CIAO_PROLOG_INCLUDE_OPTIONS@ +CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +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@ +GNU_PROLOG = @GNU_PROLOG@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +ISODATE = @ISODATE@ +JAR = @JAR@ +JAVA = @JAVA@ +JAVAC = @JAVAC@ +JAVAH = @JAVAH@ +JNIFLAGS = @JNIFLAGS@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBEXT = @LIBEXT@ +LIBGMP = @LIBGMP@ +LIBGMPXX = @LIBGMPXX@ +LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@ +LIBGMP_PREFIX = @LIBGMP_PREFIX@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBGMP = @LTLIBGMP@ +LTLIBGMPXX = @LTLIBGMPXX@ +LTLIBOBJS = @LTLIBOBJS@ +M4 = @M4@ +M4_DEBUGFILE = @M4_DEBUGFILE@ +MAKEINFO = @MAKEINFO@ +MD5SUM = @MD5SUM@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OCAMLBEST = @OCAMLBEST@ +OCAMLBUILD = @OCAMLBUILD@ +OCAMLC = @OCAMLC@ +OCAMLCDOTOPT = @OCAMLCDOTOPT@ +OCAMLDEP = @OCAMLDEP@ +OCAMLDOC = @OCAMLDOC@ +OCAMLLIB = @OCAMLLIB@ +OCAMLMKLIB = @OCAMLMKLIB@ +OCAMLMKTOP = @OCAMLMKTOP@ +OCAMLOPT = @OCAMLOPT@ +OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@ +OCAMLVERSION = @OCAMLVERSION@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PPL_VERSION_BETA = @PPL_VERSION_BETA@ +PPL_VERSION_MAJOR = @PPL_VERSION_MAJOR@ +PPL_VERSION_MINOR = @PPL_VERSION_MINOR@ +PPL_VERSION_REVISION = @PPL_VERSION_REVISION@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SHREXT = @SHREXT@ +SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@ +STRIP = @STRIP@ +SWI_PROLOG = @SWI_PROLOG@ +SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@ +SWI_PROLOG_LD = @SWI_PROLOG_LD@ +SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@ +TEXT_MD5SUM = @TEXT_MD5SUM@ +VALGRIND = @VALGRIND@ +VERSION = @VERSION@ +XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@ +YAP_PROLOG = @YAP_PROLOG@ +YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@ +YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@ +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_CXX = @ac_ct_CXX@ +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@ +ciao_prolog = @ciao_prolog@ +coefficient_mnemonic = @coefficient_mnemonic@ +datadir = @datadir@ +datarootdir = @datarootdir@ +debug_flag = @debug_flag@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extra_includes = @extra_includes@ +extra_libraries = @extra_libraries@ +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@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +mlgmp_dir = @mlgmp_dir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +required_instantiations = @required_instantiations@ +required_instantiations_c_cxx_headers = @required_instantiations_c_cxx_headers@ +required_instantiations_c_cxx_objects = @required_instantiations_c_cxx_objects@ +required_instantiations_c_cxx_sources = @required_instantiations_c_cxx_sources@ +required_instantiations_canonical_names = @required_instantiations_canonical_names@ +required_instantiations_java_classes = @required_instantiations_java_classes@ +required_instantiations_java_cxx_headers = @required_instantiations_java_cxx_headers@ +required_instantiations_java_cxx_headers_sources = @required_instantiations_java_cxx_headers_sources@ +required_instantiations_java_cxx_objects = @required_instantiations_java_cxx_objects@ +required_instantiations_java_cxx_sources = @required_instantiations_java_cxx_sources@ +required_instantiations_java_sources = @required_instantiations_java_sources@ +required_instantiations_ocaml_cxx_headers = @required_instantiations_ocaml_cxx_headers@ +required_instantiations_ocaml_cxx_objects = @required_instantiations_ocaml_cxx_objects@ +required_instantiations_ocaml_cxx_sources = @required_instantiations_ocaml_cxx_sources@ +required_instantiations_prolog_cxx_headers = @required_instantiations_prolog_cxx_headers@ +required_instantiations_prolog_cxx_objects = @required_instantiations_prolog_cxx_objects@ +required_instantiations_prolog_cxx_sources = @required_instantiations_prolog_cxx_sources@ +required_instantiations_prolog_generated_test_sources = @required_instantiations_prolog_generated_test_sources@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sicstus_prolog = @sicstus_prolog@ +srcdir = @srcdir@ +subdirs = @subdirs@ +swi_prolog = @swi_prolog@ +swi_prolog_ld = @swi_prolog_ld@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +uudecode = @uudecode@ +xsb_prolog = @xsb_prolog@ +yap_prolog = @yap_prolog@ +dist_noinst_DATA = \ +adlittle.mps \ +afiro.mps \ +bgprtr.mps \ +blend.mps \ +boeing1.mps \ +boeing2.mps \ +egout.mps \ +ex12.mps \ +ex1.mps \ +kb2.mps \ +lseu.mps \ +markshare1.mps \ +markshare2.mps \ +mas74.mps \ +mas76.mps \ +mip.mps \ +modglob.mps \ +noswot.mps \ +opt1217.mps \ +p0033.mps \ +pk1.mps \ +rout.mps \ +sample.mps \ +sc105.mps \ +sc50a.mps \ +sc50b.mps \ +ship08l.mps \ +unboundedmin.mps + +all: all-am + +.SUFFIXES: +$(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) --foreign demos/ppl_lpsol/examples/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign demos/ppl_lpsol/examples/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 +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +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 "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$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 $(DATA) +installdirs: +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) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool 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-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-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am + + +# 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/demos/ppl_lpsol/examples/README b/demos/ppl_lpsol/examples/README new file mode 100644 index 000000000..671c21150 --- /dev/null +++ b/demos/ppl_lpsol/examples/README @@ -0,0 +1,9 @@ +Most of the examples in this directory have been taken from: + - the `lp' library of Netlib [1]; + - the problem sets MIPLIB 3.0 [2] and MIPLIB 2003 [3]. + +-------- + +[1] http://www.netlib.org/lp/index.html +[2] http://miplib.zib.de/miplib3/miplib3.html +[3] http://miplib.zib.de/miplib2003.php diff --git a/demos/ppl_lpsol/examples/adlittle.mps b/demos/ppl_lpsol/examples/adlittle.mps new file mode 100644 index 000000000..6620f06d5 --- /dev/null +++ b/demos/ppl_lpsol/examples/adlittle.mps @@ -0,0 +1,335 @@ +NAME ADLITTLE +ROWS + N .Z.... + L ....01 + E ....02 + L ....03 + L ....04 + L ....05 + L ....06 + L ....07 + L ....08 + L ....09 + E ....10 + L ....11 + L ....12 + L ....13 + L ....14 + L ....15 + L ....16 + L ....17 + L ....18 + L ....19 + L ....20 + L ....21 + L ....22 + L ....23 + L ....24 + E ....25 + L ....26 + L ....27 + E ....28 + L ....29 + L ....30 + E ....31 + E ....32 + E ....33 + L ....34 + L ....35 + E ....36 + L ....37 + L ....38 + L ....39 + E ....40 + L ....41 + E ....42 + E ....43 + E ....44 + L ....45 + L ....46 + L ....47 + L ....48 + E ....49 + E ....50 + G ....51 + L ....52 + L ....53 + E ....54 + L ....55 + L ....56 +COLUMNS + ...100 .Z.... -3280. ....01 .506 + ...100 ....04 1. ....05 .182 + ...100 ....55 .312 + ...101 .Z.... -3280. ....01 .638 + ...101 ....04 1. ....05 .05 + ...101 ....55 .312 + ...102 .Z.... 3310. ....01 -1. + ...103 .Z.... -1890. ....05 .92 + ...103 ....30 1. ....49 -9.5 + ...103 ....52 -.042 ....53 -.063 + ...103 ....55 .08 + ...104 ....34 .825 ....35 .175 + ...104 ....40 1. ....51 16. + ...105 ....35 .175 ....40 1. + ...105 ....46 .825 ....51 21. + ...106 .Z.... -1890. ....06 1. + ...106 ....30 1. ....49 3.6 + ...106 ....52 -.042 ....53 -.063 + ...107 .Z.... -903. ....06 1. + ...107 ....38 1. + ...108 ....06 1. ....50 -.8 + ...109 .Z.... 432. ....31 -1.23 + ...109 ....42 .23 + ...110 .Z.... 432. ....32 -1.23 + ...110 ....43 .23 ....56 1. + ...111 .Z.... 432. ....33 -1.23 + ...111 ....44 .23 ....56 1. + ...112 .Z.... 446. ....07 1. + ...112 ....31 -1. + ...113 .Z.... 446. ....07 1. + ...113 ....32 -1. + ...114 .Z.... 446. ....07 1. + ...114 ....33 -1. + ...115 .Z.... 450. ....08 1. + ...115 ....31 -.95 ....42 -.05 + ...116 .Z.... 450. ....08 1. + ...116 ....32 -.95 ....43 -.05 + ...117 .Z.... 450. ....08 1. + ...117 ....33 -.95 ....44 -.05 + ...118 .Z.... 459. ....09 1. + ...118 ....31 -.79 ....42 -.21 + ...119 .Z.... 459. ....09 1. + ...119 ....32 -.79 ....43 -.21 + ...120 .Z.... 459. ....09 1. + ...120 ....33 -.79 ....44 -.21 + ...121 .Z.... 483. ....11 1. + ...121 ....31 -.42 ....42 -.58 + ...122 .Z.... 483. ....11 1. + ...122 ....32 -.42 ....43 -.58 + ...123 .Z.... 483. ....11 1. + ...123 ....33 -.42 ....44 -.58 + ...124 .Z.... 500. ....12 1. + ...124 ....31 -.05 ....42 -.95 + ...125 .Z.... 500. ....12 1. + ...125 ....32 -.05 ....43 -.95 + ...126 .Z.... 500. ....12 1. + ...126 ....33 -.05 ....44 -.95 + ...127 .Z.... 493. ....13 1. + ...127 ....31 -.26 ....42 -.74 + ...128 .Z.... 493. ....13 1. + ...128 ....32 -.26 ....43 -.74 + ...129 .Z.... 493. ....13 1. + ...129 ....33 -.26 ....44 -.74 + ...130 .Z.... -1890. ....14 1. + ...130 ....30 1. ....49 -3.2 + ...130 ....52 -.042 ....53 -.063 + ...131 .Z.... -903. ....14 1. + ...131 ....38 1. + ...132 .Z.... 506. ....17 1. + ...132 ....31 .26 ....42 -1.26 + ...133 ....14 1. ....50 -.8 + ...134 .Z.... 506. ....17 1. + ...134 ....32 .26 ....43 -1.26 + ...135 .Z.... 506. ....17 1. + ...135 ....33 .26 ....44 -1.26 + ...136 .Z.... 505. ....15 1. + ...136 ....31 .16 ....42 -1.16 + ...137 .Z.... 505. ....15 1. + ...137 ....32 .16 ....43 -1.16 + ...138 .Z.... 505. ....15 1. + ...138 ....33 .16 ....44 -1.16 + ...139 .Z.... 499. ....16 1. + ...139 ....31 -.16 ....42 -.84 + ...140 .Z.... 499. ....16 1. + ...140 ....32 -.16 ....43 -.84 + ...141 .Z.... 499. ....16 1. + ...141 ....33 -.16 ....44 -.84 + ...142 ....10 -1. + ...143 ....02 1. ....03 .79 + ...143 ....10 37. ....28 .494 + ...143 ....34 .506 ....54 2.27424 + ...144 ....02 1. ....03 .53 + ...144 ....10 47. ....28 .492 + ...144 ....46 .508 ....54 2.2632 + ...145 .Z.... 512. ....18 1. + ...145 ....31 .62 ....42 -1.62 + ...146 .Z.... 512. ....18 1. + ...146 ....32 .62 ....43 -1.62 + ...147 .Z.... 512. ....18 1. + ...147 ....33 .62 ....44 -1.62 + ...148 .Z.... 70.9 ....01 -.247 + ...148 ....06 .1726 ....14 -.3122 + ...148 ....20 1.783 ....28 .4703 + ...148 ....50 -.0928 ....54 1.40015 + ...149 .Z.... 39.8 ....01 -.157 + ...149 ....14 -.2399 ....20 1. + ...149 ....28 .4273 ....50 -.0361 + ...149 ....54 1.20404 + ...150 .Z.... 39.8 ....01 -.157 + ...150 ....14 -.2789 ....20 1. + ...150 ....28 .4663 ....50 -.0361 + ...150 ....54 1.43498 + ...151 .Z.... 2.04 ....26 1. + ...151 ....28 .55 ....50 -.52 + ...151 ....54 .6 + ...152 ....28 1. ....50 -1. + ...152 ....54 1.8 + ...153 .Z.... 1.8 ....03 -.33 + ...153 ....21 1. ....50 .017 + ...154 .Z.... 1.8 ....21 1. + ...154 ....37 -.33 + ...155 .Z.... -2600. ....01 .2 + ...155 ....14 .73 ....29 1. + ...155 ....55 .07 + ...156 .Z.... -2600. ....14 .72 + ...156 ....29 1. ....47 .2 + ...156 ....55 .08 + ...157 .Z.... 10.4 ....02 1. + ...157 ....03 .25 ....10 45. + ...157 ....22 .875 ....28 .3675 + ...157 ....34 .6325 ....50 .02536 + ...157 ....54 1.614 + ...158 .Z.... 10.4 ....02 1. + ...158 ....03 .2 ....10 55. + ...158 ....22 .875 ....28 .365 + ...158 ....46 .635 ....50 .02538 + ...158 ....54 1.59 + ...159 .Z.... 28.8 ....19 1. + ...159 ....28 -.828 ....31 1. + ...159 ....34 -.095 ....35 -.02 + ...159 ....50 .012 ....54 -1.42 + ...159 ....55 -.0467 + ...160 .Z.... 43.4 ....01 -.0022 + ...160 ....06 -.0192 ....19 1. + ...160 ....27 .679 ....28 -.808 + ...160 ....32 1. ....34 -.095 + ...160 ....35 -.02 ....50 .0205 + ...160 ....54 -1.84 ....55 -.0467 + ...161 .Z.... 30.4 ....01 -.0022 + ...161 ....06 -.0192 ....24 1. + ...161 ....27 .679 ....28 -.808 + ...161 ....33 1. ....34 -.095 + ...161 ....35 -.02 ....50 .0205 + ...161 ....54 -1.84 ....55 -.0467 + ...162 ....28 -1. ....34 1. + ...162 ....54 -5.2 + ...163 ....28 -1. ....35 1. + ...163 ....54 -6.7 + ...164 .Z.... -1218. ....35 1. + ...164 ....48 1. + ...165 ....35 1. ....50 -.8 + ...166 ....28 .482 ....34 .498 + ...166 ....35 .02 ....36 1. + ...166 ....37 .79 ....54 2.217 + ...167 ....28 .474 ....35 .02 + ...167 ....36 1. ....37 .53 + ...167 ....46 .506 ....54 2.18 + ...168 .Z.... -1322. ....06 .07 + ...168 ....35 .1 ....39 1. + ...168 ....55 .83 + ...169 .Z.... -1322. ....35 .07 + ...169 ....39 1. ....46 .33 + ...169 ....55 .6 + ...170 .Z.... -1322. ....34 .33 + ...170 ....35 .07 ....39 1. + ...170 ....55 .6 + ...171 .Z.... -1660. ....22 .625 + ...171 ....28 -.125 ....34 1.125 + ...171 ....41 1. ....50 .01812 + ...171 ....54 -.65 + ...172 .Z.... -1670. ....41 1. + ...172 ....46 1. + ...173 .Z.... 14.8 ....22 1.25 + ...173 ....28 -.25 ....34 1.03125 + ...173 ....35 .21875 ....40 1. + ...173 ....50 .03625 ....51 30. + ...173 ....54 -1.36562 + ...174 .Z.... 14.8 ....22 1.25 + ...174 ....28 -.25 ....35 .21875 + ...174 ....40 1. ....46 1.03125 + ...174 ....50 .03625 ....51 35. + ...174 ....54 -1.38375 + ...175 .Z.... 28.8 ....19 1.072 + ...175 ....28 -.706 ....35 -.027 + ...175 ....42 1. ....46 -.128 + ...175 ....50 .0129 ....54 -1.61 + ...175 ....55 -.1203 + ...176 .Z.... 43. ....01 -.0012 + ...176 ....06 -.0159 ....19 1.072 + ...176 ....27 .534 ....28 -.69 + ...176 ....35 -.027 ....43 1. + ...176 ....46 -.128 ....50 .0195 + ...176 ....54 -1.84 ....55 -.1203 + ...177 .Z.... 30. ....01 -.0012 + ...177 ....06 -.0159 ....24 1. + ...177 ....27 .534 ....28 -.69 + ...177 ....35 -.027 ....44 1. + ...177 ....46 -.128 ....50 .0195 + ...177 ....54 -1.84 ....55 -.1203 + ...178 .Z.... -1763. ....05 .181 + ...178 ....45 1. ....47 .11 + ...178 ....55 .709 + ...179 .Z.... -1722. ....05 .051 + ...179 ....45 1. ....47 .055 + ...179 ....55 .894 + ...180 .Z.... -1680. ....05 .036 + ...180 ....45 1. ....55 .964 + ...181 ....28 -1. ....46 1. + ...181 ....54 -5.3 + ...182 .Z.... -1890. ....30 1. + ...182 ....47 .92 ....49 -10.1 + ...182 ....52 -.042 ....53 -.063 + ...182 ....55 .08 + ...183 .Z.... 1780. ....02 1. + ...183 ....03 .4 ....10 45. + ...184 .Z.... 1600. ....28 -1. + ...184 ....54 -4.35 + ...185 .Z.... 903. ....28 -1. + ...185 ....54 -2.1 + ...186 .Z.... 1760. ....36 1. + ...186 ....37 .8 + ...187 .Z.... 2100. ....40 1. + ...187 ....51 24. + ...188 .Z.... 1000. ....49 -64.3 + ...188 ....52 1. + ...189 .Z.... 1000. ....49 -27.4 + ...189 ....53 1. + ...190 .Z.... -1890. ....30 1. + ...190 ....49 9.1 ....52 -.042 + ...190 ....53 -.063 ....55 1. + ...191 .Z.... 92.1 ....05 -.36 + ...191 ....23 1. ....28 -.026 + ...191 ....47 -.134 ....50 -.182 + ...191 ....54 -.1742 ....55 .826 + ...192 .Z.... -903. ....38 1. + ...192 ....55 1. + ...193 .Z.... 78.7 ....55 1. + ...194 .Z.... -1218. ....48 1. + ...194 ....55 1. + ...195 .Z.... 15.6 ....05 -.396 + ...195 ....25 1. ....28 -.029 + ...195 ....47 -.147 ....50 -.119 + ...195 ....54 -.194 ....55 .81 + ...196 ....50 -.8 ....55 1. +RHS + ZZZZ0001 ....02 52.6 ....03 22.7 + ZZZZ0001 ....04 23.4 ....07 108. + ZZZZ0001 ....08 50. ....09 13. + ZZZZ0001 ....10 2366. ....11 200. + ZZZZ0001 ....12 265. ....13 300. + ZZZZ0001 ....15 31. ....16 60. + ZZZZ0001 ....17 134. ....18 34. + ZZZZ0001 ....19 413. ....20 41.5 + ZZZZ0001 ....21 15. ....22 20.6 + ZZZZ0001 ....23 13.5 ....24 440. + ZZZZ0001 ....26 16. ....27 290. + ZZZZ0001 ....28 -524.9 ....29 3.1 + ZZZZ0001 ....30 9.1 ....36 43. + ZZZZ0001 ....37 34.4 ....38 15.6 + ZZZZ0001 ....39 19.2 ....40 44.9 + ZZZZ0001 ....41 6.1 ....45 13.2 + ZZZZ0001 ....48 31.2 ....50 2.5 + ZZZZ0001 ....51 1080. ....54 -1231.6 + ZZZZ0001 ....56 107. +ENDATA diff --git a/demos/ppl_lpsol/examples/afiro.mps b/demos/ppl_lpsol/examples/afiro.mps new file mode 100644 index 000000000..26002a3ce --- /dev/null +++ b/demos/ppl_lpsol/examples/afiro.mps @@ -0,0 +1,83 @@ +NAME AFIRO +ROWS + E R09 + E R10 + L X05 + L X21 + E R12 + E R13 + L X17 + L X18 + L X19 + L X20 + E R19 + E R20 + L X27 + L X44 + E R22 + E R23 + L X40 + L X41 + L X42 + L X43 + L X45 + L X46 + L X47 + L X48 + L X49 + L X50 + L X51 + N COST +COLUMNS + X01 X48 .301 R09 -1. + X01 R10 -1.06 X05 1. + X02 X21 -1. R09 1. + X02 COST -.4 + X03 X46 -1. R09 1. + X04 X50 1. R10 1. + X06 X49 .301 R12 -1. + X06 R13 -1.06 X17 1. + X07 X49 .313 R12 -1. + X07 R13 -1.06 X18 1. + X08 X49 .313 R12 -1. + X08 R13 -.96 X19 1. + X09 X49 .326 R12 -1. + X09 R13 -.86 X20 1. + X10 X45 2.364 X17 -1. + X11 X45 2.386 X18 -1. + X12 X45 2.408 X19 -1. + X13 X45 2.429 X20 -1. + X14 X21 1.4 R12 1. + X14 COST -.32 + X15 X47 -1. R12 1. + X16 X51 1. R13 1. + X22 X46 .109 R19 -1. + X22 R20 -.43 X27 1. + X23 X44 -1. R19 1. + X23 COST -.6 + X24 X48 -1. R19 1. + X25 X45 -1. R19 1. + X26 X50 1. R20 1. + X28 X47 .109 R22 -.43 + X28 R23 1. X40 1. + X29 X47 .108 R22 -.43 + X29 R23 1. X41 1. + X30 X47 .108 R22 -.39 + X30 R23 1. X42 1. + X31 X47 .107 R22 -.37 + X31 R23 1. X43 1. + X32 X45 2.191 X40 -1. + X33 X45 2.219 X41 -1. + X34 X45 2.249 X42 -1. + X35 X45 2.279 X43 -1. + X36 X44 1.4 R23 -1. + X36 COST -.48 + X37 X49 -1. R23 1. + X38 X51 1. R22 1. + X39 R23 1. COST 10. +RHS + B X50 310. X51 300. + B X05 80. X17 80. + B X27 500. R23 44. + B X40 500. +ENDATA diff --git a/demos/ppl_lpsol/examples/bgprtr.mps b/demos/ppl_lpsol/examples/bgprtr.mps new file mode 100644 index 000000000..50e56cdd3 --- /dev/null +++ b/demos/ppl_lpsol/examples/bgprtr.mps @@ -0,0 +1,84 @@ +NAME BGPRTR +ROWS + N 1 + E 2 + E 3 + L 4 + L 5 + L 6 + L 7 + L 8 + L 9 + E 10 + E 11 + E 12 + E 13 + E 14 + E 15 + E 16 + E 17 + E 18 + E 19 + E 20 + E 21 +COLUMNS + P1T1 1 29970. 2 1. + P1T1 14 1. + P1T2 1 29970. 3 1. + P1T2 15 1. + P2T1 1 29910. 2 1. + P2T1 16 1. + P2T2 1 29910. 3 1. + P2T2 17 1. + I1T1 1 -1000. 8 1. + I1T1 10 -1. + I1T2 1 -1000. 9 1. + I1T2 12 -1. + I2T1 1 -1000. 8 1. + I2T1 11 -1. + I2T2 1 -1000. 9 1. + I2T2 13 -1. + E1T1 1 -1200. 10 -1. + E1T2 1 -1200. 12 -1. + E2T1 1 -1200. 11 -1. + E2T2 1 -1200. 13 -1. + C1T1 1 -20. 18 1. + C1T1 21 -1. + C1T2 1 -20. 19 1. + C2T1 1 -20. 19 -1. + C2T1 20 1. + C2T2 1 -20. 21 1. + NDT1 1 -3000. 2 -1. + NDT2 1 -3000. 3 -1. + R1T1 1 -20. 18 1. + R1T1 19 -1. + R1T2 1 -20. 19 1. + R2T1 1 -20. 20 1. + R2T1 21 -1. + R2T2 1 -20. 21 1. + N1T1 1 -300. 14 1. + N1T1 15 -1. + N1T2 1 -300. 15 1. + N2T1 1 -300. 16 1. + N2T1 17 -1. + N2T2 1 -300. 17 1. + B1T1 4 900. 10 6. + B1T1 14 -1. 18 1. + T1T1 4 90. 18 -1. + B1T2 5 900. 12 6. + B1T2 15 -1. 19 1. + T1T2 5 90. 19 -1. + B2T1 6 600. 11 6. + B2T1 16 -1. 20 1. + T2T1 6 60. 20 -1. + B2T2 7 600. 13 6. + B2T2 17 -1. 21 1. + T2T2 7 60. 21 -1. +RHS + RHS 2 130. 3 190. + RHS 4 8. 5 80000. + RHS 6 70000. 7 70000. + RHS 8 1000. 9 1000. + RHS 14 5. 16 2. + RHS 18 6. 20 4. +ENDATA diff --git a/demos/ppl_lpsol/examples/blend.mps b/demos/ppl_lpsol/examples/blend.mps new file mode 100644 index 000000000..cd267e592 --- /dev/null +++ b/demos/ppl_lpsol/examples/blend.mps @@ -0,0 +1,359 @@ +NAME BLEND BRUCE MURTAGHS BLENDING PROBLEM (MINIMIZE). +ROWS + E 1 + E 2 + E 3 + E 4 + E 5 + E 6 + E 7 + E 8 + E 9 + E 10 + E 11 + E 12 + E 13 + E 14 + E 15 + E 16 + E 17 + E 18 + E 19 + E 20 + E 21 + E 22 + E 23 + E 24 + E 25 + E 26 + E 27 + E 28 + E 29 + E 30 + E 31 + E 32 + E 33 + E 34 + E 35 + E 36 + E 37 + E 38 + E 39 + E 40 + E 41 + E 42 + E 43 + L 44 + L 45 + L 46 + L 47 + L 48 + L 49 + L 50 + L 51 + L 52 + L 53 + L 54 + L 55 + L 56 + L 57 + L 58 + L 59 + L 60 + L 61 + L 62 + L 63 + L 64 + L 65 + L 66 + L 67 + L 68 + L 69 + L 70 + L 71 + L 72 + L 73 + L 74 + N C +COLUMNS + 1 2 -.537 3 -.131 + 1 4 -.1155 5 -.0365 + 1 6 -.143 7 -.037 + 1 40 .003 41 .0587 + 1 42 .15 43 .302 + 1 67 1. C 3.2 + 2 1 -.2931 3 -.117 + 2 4 -.0649 5 -.1233 + 2 6 -.2217 8 -.18 + 2 39 .0042 40 .003 + 2 41 .1053 42 .185 + 2 43 .384 50 -.00862 + 2 51 -.00862 56 -.0101 + 2 57 -.0101 68 1. + 2 C 2.87 + 3 2 1. 9 -.0277 + 3 10 -.0563 11 -.199 + 3 12 -.6873 13 -.017 + 3 40 .01303 41 .0506 + 3 42 .209 43 .495 + 3 65 1. + 4 1 1. 9 -.0112 + 4 10 -.0378 11 -.1502 + 4 12 -.7953 13 -.0099 + 4 40 .01303 41 .0448 + 4 42 .185 43 .721 + 4 65 1. + 5 9 -.175 10 -.27 + 5 11 -.028 13 -.455 + 5 21 1. 40 .01303 + 5 41 .0506 42 .209 + 5 43 .495 + 6 9 -.271 10 -.3285 + 6 11 -.0255 13 -.2656 + 6 18 1. 40 .01303 + 6 41 .0506 42 .209 + 6 43 .495 + 7 9 -.2836 10 -.3285 + 7 11 -.0241 13 -.2502 + 7 17 1. 40 .01303 + 7 41 .0506 42 .209 + 7 43 .495 + 8 12 1. 14 -1. + 8 39 .0327 41 .094 + 8 42 .045 43 .793 + 8 C .0044 + 9 15 -1. 22 1. + 10 16 -1. 22 1. + 11 14 1. 15 -1. + 12 14 1. 16 -1. + 13 15 1. 17 -.0588 + 13 19 -.8145 23 -.0091 + 13 39 -.8239 40 .0081 + 13 41 -.2112 42 .387 + 13 43 1.03 69 1.3 + 13 C .07 + 14 16 1. 18 -.0404 + 14 20 -.8564 23 -.0069 + 14 39 -.7689 40 .0063 + 14 41 -.156 42 .297 + 14 43 .792 69 1. + 14 C .0378 + 15 5 1. 21 -.3321 + 15 22 -.5875 23 -.362 + 15 39 2.3 41 -.2049 + 15 42 .826 43 14.61 + 15 65 1. 70 1. + 15 C .155 + 16 6 1. 21 -.3321 + 16 22 -.5875 23 -.362 + 16 39 2.3 41 -.2049 + 16 42 .826 43 14.61 + 16 66 1. 70 1. + 16 C .155 + 17 4 1. 21 -.2414 + 17 22 -.6627 23 -.293 + 17 39 2.3 41 -.1531 + 17 42 .826 43 14.61 + 17 65 1. 70 1. + 17 C .155 + 18 21 -.2414 22 -.6627 + 18 23 -.293 28 1. + 18 39 2.3 41 -.1531 + 18 42 .826 43 14.61 + 18 70 1. C .155 + 19 5 1. 10 -.0185 + 19 13 -.0568 24 -.0806 + 19 25 -.0658 26 -.0328 + 19 27 -.4934 28 -.2922 + 19 29 -.0096 40 -.0654 + 19 41 -.2535 42 .632 + 19 43 .6807 65 1. + 19 71 1. C .0528 + 20 6 1. 10 -.0185 + 20 13 -.0568 24 -.0806 + 20 25 -.0658 26 -.0328 + 20 27 -.4934 28 -.2922 + 20 29 -.0096 40 -.0654 + 20 41 -.2535 42 .632 + 20 43 .6807 66 1. + 20 71 1. C .0528 + 21 4 1. 10 -.0184 + 21 13 -.0564 24 -.078 + 21 25 -.0655 26 -.0303 + 21 27 -.475 28 -.305 + 21 40 -.0654 41 -.2703 + 21 42 .632 43 .6807 + 21 65 1. 71 1. + 21 C .0528 + 22 3 1. 10 -.0184 + 22 13 -.0564 24 -.078 + 22 25 -.0655 26 -.0303 + 22 27 -.475 28 -.305 + 22 40 -.0654 41 -.2703 + 22 42 .632 43 .6807 + 22 65 1. 71 1. + 22 C .0528 + 23 13 .76 25 .5714 + 23 30 -1. 40 .1869 + 23 41 .2796 42 2.241 + 23 43 2.766 72 1. + 23 C .128 + 24 9 -.0571 10 -.0114 + 24 13 .6571 24 .5714 + 24 31 -1. 40 .1724 + 24 41 .2579 42 2.067 + 24 43 2.552 72 1. + 24 C .118 + 25 9 -1. 25 1. + 26 10 -1. 24 1. + 27 10 -1. 13 1. + 28 11 1. 32 -1. + 28 44 -7.95 45 -8.7 + 28 46 -3. 47 14. + 28 48 1. 49 -1. + 29 23 1. 32 -1. + 29 44 -8.84 45 -9.45 + 29 46 -3. 47 12. + 29 48 1. 49 -1. + 30 19 1. 32 -1. + 30 44 -9.43 45 -9.57 + 30 46 -3. 47 3.5 + 30 48 .233 49 -.358 + 31 20 1. 32 -1. + 31 44 -9.03 45 -9.32 + 31 46 -3. 47 3.5 + 31 48 .205 49 -.333 + 32 27 1. 32 -1. + 32 44 -9.23 45 -9.22 + 32 46 -3. 47 6. + 32 48 .381 49 -.509 + 33 30 1. 32 -1. + 33 44 -9.4 45 -9.85 + 33 46 -3. 47 2.5 + 33 48 .39 49 -.77 + 34 31 1. 32 -1. + 34 44 -9.74 45 -10.1 + 34 46 -3. 47 3.3 + 34 48 .233 49 -.58 + 35 10 1. 32 -1. + 35 44 -9.74 45 -9.9 + 35 46 -3. 47 66. + 35 48 1. 49 -1. + 36 44 -.493 45 -.165 + 36 46 1. C .0924 + 37 32 1. 44 10.03 + 37 45 10.03 47 -9.5 + 37 48 -.5 49 .5 + 37 73 .64 74 .35 + 37 C -5.36 + 38 11 1. 33 -1. + 38 50 -7.98 51 -8.58 + 38 52 -3. 53 14. + 38 54 1. 55 -1. + 39 23 1. 33 -1. + 39 50 -8.87 51 -9.33 + 39 52 -3. 53 12. + 39 54 1. 55 -1. + 40 19 1. 33 -1. + 40 50 -9.46 51 -9.45 + 40 52 -3. 53 3.5 + 40 54 .233 55 -.358 + 41 20 1. 33 -1. + 41 50 -9.06 51 -9.2 + 41 52 -3. 53 3.5 + 41 54 .205 55 -.333 + 42 27 1. 33 -1. + 42 50 -9.26 51 -9.13 + 42 52 -3. 53 6. + 42 54 .318 55 -.509 + 43 10 1. 33 -1. + 43 50 -9.77 51 -9.78 + 43 52 -3. 53 66. + 43 54 1. 55 -1. + 44 50 -.435 51 -.208 + 44 52 1. C .0924 + 45 33 1. 50 9.65 + 45 51 9.65 53 -9.5 + 45 54 -.5 55 .5 + 45 73 -.36 74 .35 + 45 C -5.08 + 46 11 1. 36 -1. + 46 56 -7.99 57 -8.59 + 46 58 -3. 59 14. + 46 60 1. 61 -1. + 47 23 1. 36 -1. + 47 56 -8.88 57 -9.34 + 47 58 -3. 59 12. + 47 60 1. 61 -1. + 48 19 1. 36 -1. + 48 56 -9.47 57 -9.46 + 48 58 -3. 59 3.5 + 48 60 .233 61 -.358 + 49 20 1. 36 -1. + 49 56 -9.07 57 -9.21 + 49 58 -3. 59 3.5 + 49 60 .205 61 -.333 + 50 27 1. 36 -1. + 50 56 -9.27 57 -9.14 + 50 58 -3. 59 6. + 50 60 .318 61 -.509 + 51 10 1. 36 -1. + 51 56 -9.78 57 -9.79 + 51 58 -3. 59 66. + 51 60 1. 61 -1. + 52 56 -.426 57 -.204 + 52 58 1. C .0924 + 53 36 1. 56 9.05 + 53 57 9.05 59 -9.5 + 53 60 -.5 61 .5 + 53 73 -.36 74 -.65 + 53 C -4.51 + 54 9 -1. 26 1. + 55 9 1. 37 -1. + 56 10 1. 37 -1. + 57 37 1. C -2.75 + 58 11 1. 38 -1. + 58 63 -14. 64 14. + 59 12 1. 38 -1. + 59 63 -.8 64 .8 + 60 38 1. 63 2. + 60 64 -3. C -4.2 + 61 4 1. 34 -1. + 62 3 1. 34 -1. + 63 34 1. 65 1. + 63 C -3.6 + 64 7 1. 35 -1. + 64 62 10.1 + 65 8 1. 35 -1. + 65 62 12.63 + 66 6 1. 35 -1. + 66 62 8.05 66 1. + 67 5 1. 35 -1. + 67 62 6.9 65 1. + 68 29 1. 35 -1. + 68 62 8.05 + 69 28 1. 35 -1. + 69 62 4.4 + 70 35 1. 62 -10.1 + 70 C -2. + 71 39 1. 41 -.325 + 72 13 1. 41 -4.153 + 73 10 1. 41 -4.316 + 74 9 1. 41 -3.814 + 75 25 1. 41 -3.808 + 76 24 1. 41 -4.44 + 77 40 -1. 41 1.42 + 77 C .04 + 78 40 1. + 79 10 -.5 13 -.5 + 79 C 3. + 80 41 -1. C .4 + 81 41 1. + 82 42 -1. C .0132 + 83 43 -1. C .01 +RHS + 65 23.26 66 5.25 + 67 26.32 68 21.05 + 69 13.45 70 2.58 + 71 10. 72 10. +ENDATA diff --git a/demos/ppl_lpsol/examples/boeing1.mps b/demos/ppl_lpsol/examples/boeing1.mps new file mode 100644 index 000000000..bbe16dd2d --- /dev/null +++ b/demos/ppl_lpsol/examples/boeing1.mps @@ -0,0 +1,2636 @@ +NAME BOEING1 (FLAPINTL) +ROWS + G REVENUES + G ACOCOSTS + N OBJECTIV + G SYSTDEPT + G ACMILES + G ASMILES + G PASSNGRS + G RPMILES + G LFRPMASM + G ATONMILE + G RTONMILE + G LFTNMILE + E FLAV*1 + E FLAV*2 + E FLAV*3 + E FLAV*4 + E FLAV*5 + E FLAV*6 + G LF1001S1 + G LF1002S1 + G LF1002S2 + G LF1003S1 + G LF1004S1 + G LF1004S2 + G LF1005S1 + G LF1005S2 + G LF1105S1 + G LF1105S2 + G LF1006S1 + G LF1006S2 + G LF1007S1 + G LF1007S2 + G LF1008S1 + G LF1008S2 + G LF1008S3 + G LF1009S1 + G LF1009S2 + G LF1010S1 + G LF1011S1 + G LF1011S2 + G LF1012S1 + G LF1013S1 + G LF1013S2 + G LF1014S1 + G LF1014S2 + G LF1015S1 + G LF1015S2 + G LF1016S1 + G LF1016S2 + G LF1017S1 + G LF1017S2 + G LF1018S1 + G LF1018S2 + G LF1019S1 + G LF1019S2 + G LF1020S1 + G LF1021S1 + G LF1022S1 + G LF1022S2 + G LF1022S3 + G LF1023S1 + G LF1023S2 + G LF1023S3 + G LF1026S1 + G LF1026S2 + G LF1026S3 + G LF1027S1 + G LF1027S2 + G LF1027S3 + G LF1028S1 + G LF1028S2 + G LF1028S3 + G LF1029S1 + G LF1029S2 + G LF1029S3 + G LF1029S4 + G LF1029S5 + G LF1030S1 + G LF1030S2 + G LF1030S3 + G LF1030S4 + G LF1032S1 + G LF1032S2 + G LF1032S3 + G LF1032S4 + G LF1032S5 + G LF1033S1 + G LF1033S2 + G LF1033S3 + G LF1034S1 + G LF1034S2 + G LF1035S1 + G LF1035S2 + G LF1036S1 + G LF1036S2 + G LF1037S1 + G LF1037S2 + G LF1038S1 + G LF1039S1 + G LF1040S1 + G LF1040S2 + G LF1041S1 + G LF1042S1 + G LF1043S1 + G LF1044S1 + G LF1046S1 + G LF1046S2 + G LF1047S1 + G LF1047S2 + G LF1047S3 + G LF1050S1 + G LF1050S2 + G LF1051S1 + L NOPTLON0 + G NOPTLON1 + L NOPTTYO0 + G NOPTTYO1 + L DMBOSHNL + L DMBOSLAX + L DMBOSSEA + L DMBOSSFO + L DMBOSTPE + L DMBOSTYO + L DMBOSYUL + L DMBOSYVR + L DMBOSYWG + L DMBOSYYZ + L DMBUROAK + L DMBURSEA + L DMBURSFO + L DMHNLLAX + L DMHNLLON + L DMHNLPAR + L DMHNLSEA + L DMHNLSFO + L DMHNLYVR + L DMLASSEA + L DMLASYVR + L DMLAXOAK + L DMLAXSEA + L DMLAXSFO + L DMLAXTPE + L DMLAXTYO + L DMLAXYVR + L DMLONPAR + L DMLONSEA + L DMLONYVR + L DMOAKONT + L DMOAKSEA + L DMONTSFO + L DMONTSEA + L DMPARSEA + L DMPARYVR + L DMRNOSEA + L DMRNOYVR + L DMSEASFO + L DMSEATPE + L DMSEATYO + L DMSEAYVR + L DMSFOTPE + L DMSFOTYO + L DMSFOYVR + L DMTPETYO + L DMTPEYVR + L DMTYOYVR + L DMYULYVR + L DMYULYWG + L DMYULYYZ + L DMYVRYWG + L DMYVRYYZ + L DMYWGYYZ + L DMBOSOAK + L DMBOSBUR + L DMBOSONT + L DMBURYVR + L DMBURTYO + L DMBURTPE + L DMBURHNL + L DMHNLOAK + L DMHNLONT + L DMHNLYWG + L DMHNLYYZ + L DMHNLYUL + L DMLASTYO + L DMLASTPE + L DMLAXLON + L DMLAXPAR + L DMBURLON + L DMBURPAR + L DMLONONT + L DMLONOAK + L DMOAKPAR + L DMOAKTYO + L DMOAKTPE + L DMONTPAR + L DMONTTYO + L DMONTTPE + L DMPARSFO + L DMRNOTYO + L DMRNOTPE + L DMTPEYWG + L DMTPEYYZ + L DMTPEYUL + L DMTYOYUL + L DMTYOYYZ + L DMTYOYWG + E DMSFOOAK + E DMLAXBUR + E DMLAXONT + G MSBOSHNL + G MSBOSSEA + G MSBOSSFO + G MSBOSYUL + G MSBOSYVR + G MSBOSYWG + G MSBOSYYZ + G MSBUROAK + G MSBURSEA + G MSBURSFO + G MSHNLLAX + G MSHNLSEA + G MSHNLSFO + G MSHNLYVR + G MSLASSEA + G MSLASYVR + G MSLAXOAK + G MSLAXSEA + G MSLAXSFO + G MSLAXTPE + G MSLAXYVR + G MSLONPAR + G MSLONSEA + L MSLONYVR + G MSOAKONT + G MSOAKSEA + G MSONTSFO + G MSONTSEA + L MSPARSEA + G MSRNOSEA + G MSRNOYVR + G MSSEASFO + G MSSEATPE + G MSSEATYO + G MSSEAYVR + G MSSFOYVR + G MSTPETYO + G MSYULYVR + G MSYULYWG + G MSYULYYZ + G MSYVRYWG + G MSYVRYYZ + G MSYWGYYZ + G MSBOSOAK + G MSHNLOAK + G MSLAXLON + G P1044X32 + G P1047X54 + G P1032X76 + G P1033X54 + G P1036X43 + G P1040X43 + G P1042X32 + G P1032X75 + G P1040X42 + G P1016X43 + G P1003X32 + G P1004X43 + G P1105X43 + G P1047X23 + G P1001X32 + G P1002X43 + G P1007X43 + G P1002X42 + G P1022X23 + G P1019X43 + G P1021X32 + G P1105X32 + G P1017X43 + G P1046X23 + G P1008X53 + G P1009X43 + G P1011X42 + G P1012X32 + G P1017X42 + G P1026X23 + G P1027X23 + G P1029X24 + G P1030X24 + G P1050X32 + G P1004X32 + G P1008X54 + G P1011X43 + G P1029X23 + G P1030X23 + G P1047X34 + G P1051X23 + G P1027X25 + G P1029X27 + G P1030X26 + G P1008X52 + G P1009X42 + G P1029X25 + G P1013X32 + G P1014X32 + G P1017X32 + G P1015X43 + G P1013X42 + G P1015X42 + G P1050X42 + G P1018X43 + G P1020X32 + G P1008X34 + G P1011X23 + G P1015X23 + G P1016X23 + G P1028X32 + G P1029X43 + G P1030X43 + G P1002X32 + G P1008X32 + G P1009X32 + G P1010X32 + G P1018X32 + G P1019X32 + G P1023X32 + G P1029X45 + G P1032X23 + G P1008X42 + G P1029X35 + G P1032X63 + G P1033X42 + G P1034X42 + G P1036X32 + G P1032X64 + G P1033X43 + G P1037X42 + G P1039X32 + G P1032X65 + G P1034X43 + G P1037X43 + G P1040X32 + G P1041X32 + G P1032X34 + G P1033X23 + G P1035X23 + G P1032X35 + G P1034X23 + G P1035X24 + G P1032X45 + G P1035X34 + G P1037X23 + G P1038X23 +COLUMNS + PBOSHNL0 REVENUES .23519 OBJECTIV -.23519 + PBOSHNL0 PASSNGRS 1. RPMILES 5.16595 + PBOSHNL0 LFRPMASM -5.16595 DMBOSHNL 1. + PBOSHNL0 LF1007S1 -1. LF1007S2 -1. + PBOSHNL1 REVENUES .23519 OBJECTIV -.23519 + PBOSHNL1 PASSNGRS 1. RPMILES 5.59035 + PBOSHNL1 LFRPMASM -5.59035 DMBOSHNL 1. + PBOSHNL1 LF1047S1 -1. LF1047S2 -1. + PBOSHNL1 LF1047S3 -1. + PBOSHNL7 REVENUES -.02469 OBJECTIV .02469 + PBOSHNL7 PASSNGRS -1. DMBOSHNL 1. + PBOSHNL7 DMBOSSEA -1. DMHNLSEA -1. + PBOSHNL8 REVENUES -.02665 OBJECTIV .02665 + PBOSHNL8 PASSNGRS -1. DMBOSHNL 1. + PBOSHNL8 DMBOSYVR -1. DMHNLYVR -1. + PBOSLAX0 REVENUES .13092 OBJECTIV -.13092 + PBOSLAX0 PASSNGRS 1. RPMILES 3.02542 + PBOSLAX0 LFRPMASM -3.02542 DMBOSLAX 1. + PBOSLAX0 LF1046S1 -1. LF1046S2 -1. + PBOSLAX1 REVENUES .13092 OBJECTIV -.13092 + PBOSLAX1 PASSNGRS 1. RPMILES 3.03697 + PBOSLAX1 LFRPMASM -3.03697 DMBOSLAX 1. + PBOSLAX1 LF1047S2 -1. LF1047S3 -1. + PBOSLAX7 REVENUES -.03462 OBJECTIV .03462 + PBOSLAX7 PASSNGRS -1. DMBOSLAX 1. + PBOSLAX7 DMBOSSFO -1. DMLAXSFO -1. + PBOSSEA0 REVENUES .12596 OBJECTIV -.12596 + PBOSSEA0 PASSNGRS 1. RPMILES 2.48884 + PBOSSEA0 LFRPMASM -2.48884 DMBOSSEA 1. + PBOSSEA0 LF1007S1 -1. + PBOSSEA1 REVENUES .12596 OBJECTIV -.12596 + PBOSSEA1 PASSNGRS 1. RPMILES 2.78679 + PBOSSEA1 LFRPMASM -2.78679 DMBOSSEA 1. + PBOSSEA1 LF1032S1 -1. LF1032S2 -1. + PBOSSEA1 LF1032S3 -1. LF1032S4 -1. + PBOSSEA1 LF1032S5 -1. + PBOSSEA2 REVENUES .12596 OBJECTIV -.12596 + PBOSSEA2 PASSNGRS 1. RPMILES 2.48884 + PBOSSEA2 LFRPMASM -2.48884 DMBOSSEA 1. + PBOSSEA2 LF1043S1 -1. + PBOSSFO0 REVENUES .13481 OBJECTIV -.13481 + PBOSSFO0 PASSNGRS 1. RPMILES 2.69845 + PBOSSFO0 LFRPMASM -2.69845 DMBOSSFO 1. + PBOSSFO0 P1044X32 -1. LF1044S1 -1. + PBOSSFO1 REVENUES .13481 OBJECTIV -.13481 + PBOSSFO1 PASSNGRS 1. RPMILES 2.69845 + PBOSSFO1 LFRPMASM -2.69845 DMBOSSFO 1. + PBOSSFO1 P1047X54 -1. LF1047S3 -1. + PBOSTPE1 REVENUES -.05629 OBJECTIV .05629 + PBOSTPE1 PASSNGRS -1. DMBOSTPE 1. + PBOSTPE1 DMBOSSEA -1. DMSEATPE -1. + PBOSTPE2 REVENUES -.0528 OBJECTIV .0528 + PBOSTPE2 PASSNGRS -1. DMBOSTPE 1. + PBOSTPE2 DMBOSYVR -1. DMTPEYVR -1. + PBOSTYO1 REVENUES -.04525 OBJECTIV .04525 + PBOSTYO1 PASSNGRS -1. DMBOSTYO 1. + PBOSTYO1 DMBOSSEA -1. DMSEATYO -1. + PBOSTYO2 REVENUES -.04206 OBJECTIV .04206 + PBOSTYO2 PASSNGRS -1. DMBOSTYO 1. + PBOSTYO2 DMBOSYVR -1. DMTYOYVR -1. + PBOSYUL0 REVENUES .02799 OBJECTIV -.02799 + PBOSYUL0 PASSNGRS 1. RPMILES .25418 + PBOSYUL0 LFRPMASM -.25418 DMBOSYUL 1. + PBOSYUL0 P1032X76 -1. LF1032S5 -1. + PBOSYUL1 REVENUES .02799 OBJECTIV -.02799 + PBOSYUL1 PASSNGRS 1. RPMILES .25418 + PBOSYUL1 LFRPMASM -.25418 DMBOSYUL 1. + PBOSYUL1 P1033X54 -1. LF1033S3 -1. + PBOSYUL2 REVENUES .02799 OBJECTIV -.02799 + PBOSYUL2 PASSNGRS 1. RPMILES .25418 + PBOSYUL2 LFRPMASM -.25418 DMBOSYUL 1. + PBOSYUL2 P1036X43 -1. LF1036S2 -1. + PBOSYUL3 REVENUES .02799 OBJECTIV -.02799 + PBOSYUL3 PASSNGRS 1. RPMILES .25418 + PBOSYUL3 LFRPMASM -.25418 DMBOSYUL 1. + PBOSYUL3 P1040X43 -1. LF1040S2 -1. + PBOSYUL4 REVENUES .02799 OBJECTIV -.02799 + PBOSYUL4 PASSNGRS 1. RPMILES .25418 + PBOSYUL4 LFRPMASM -.25418 DMBOSYUL 1. + PBOSYUL4 P1042X32 -1. LF1042S1 -1. + PBOSYVR0 REVENUES .12674 OBJECTIV -.12674 + PBOSYVR0 PASSNGRS 1. RPMILES 2.66058 + PBOSYVR0 LFRPMASM -2.66058 DMBOSYVR 1. + PBOSYVR0 LF1032S2 -1. LF1032S3 -1. + PBOSYVR0 LF1032S4 -1. LF1032S5 -1. + PBOSYVR1 REVENUES .12674 OBJECTIV -.12674 + PBOSYVR1 PASSNGRS 1. RPMILES 2.5415 + PBOSYVR1 LFRPMASM -2.5415 DMBOSYVR 1. + PBOSYVR1 LF1033S1 -1. LF1033S2 -1. + PBOSYVR1 LF1033S3 -1. + PBOSYVR2 REVENUES .12674 OBJECTIV -.12674 + PBOSYVR2 PASSNGRS 1. RPMILES 2.54144 + PBOSYVR2 LFRPMASM -2.54144 DMBOSYVR 1. + PBOSYVR2 LF1036S1 -1. LF1036S2 -1. + PBOSYWG0 REVENUES .07408 OBJECTIV -.07408 + PBOSYWG0 PASSNGRS 1. RPMILES 1.50255 + PBOSYWG0 LFRPMASM -1.50255 DMBOSYWG 1. + PBOSYWG0 LF1032S3 -1. LF1032S4 -1. + PBOSYWG0 LF1032S5 -1. + PBOSYWG1 REVENUES .07408 OBJECTIV -.07408 + PBOSYWG1 PASSNGRS 1. RPMILES 1.38348 + PBOSYWG1 LFRPMASM -1.38348 DMBOSYWG 1. + PBOSYWG1 LF1033S2 -1. LF1033S3 -1. + PBOSYWG7 REVENUES -.01789 OBJECTIV .01789 + PBOSYWG7 PASSNGRS -1. DMBOSYWG 1. + PBOSYWG7 DMBOSYUL -1. DMYULYWG -1. + PBOSYYZ0 REVENUES .03418 OBJECTIV -.03418 + PBOSYYZ0 PASSNGRS 1. RPMILES .56879 + PBOSYYZ0 LFRPMASM -.56879 DMBOSYYZ 1. + PBOSYYZ0 P1032X75 -1. LF1032S4 -1. + PBOSYYZ0 LF1032S5 -1. + PBOSYYZ1 REVENUES .03418 OBJECTIV -.03418 + PBOSYYZ1 PASSNGRS 1. RPMILES .56879 + PBOSYYZ1 LFRPMASM -.56879 DMBOSYYZ 1. + PBOSYYZ1 P1040X42 -1. LF1040S1 -1. + PBOSYYZ1 LF1040S2 -1. + PBUROAK0 REVENUES .03032 OBJECTIV -.03032 + PBUROAK0 PASSNGRS 1. RPMILES .32608 + PBUROAK0 LFRPMASM -.32608 DMBUROAK 1. + PBUROAK0 LF1005S1 -1. + PBUROAK1 REVENUES .03032 OBJECTIV -.03032 + PBUROAK1 PASSNGRS 1. RPMILES .32608 + PBUROAK1 LFRPMASM -.32608 DMBUROAK 1. + PBUROAK1 LF1014S2 -1. + PBURSEA0 REVENUES .05527 OBJECTIV -.05527 + PBURSEA0 PASSNGRS 1. RPMILES .9975 + PBURSEA0 LFRPMASM -.9975 DMBURSEA 1. + PBURSEA0 LF1014S1 -1. LF1014S2 -1. + PBURSEA1 REVENUES .05527 OBJECTIV -.05527 + PBURSEA1 PASSNGRS 1. RPMILES 1.00605 + PBURSEA1 LFRPMASM -1.00605 DMBURSEA 1. + PBURSEA1 LF1016S1 -1. LF1016S2 -1. + PBURSFO0 REVENUES .03033 OBJECTIV -.03033 + PBURSFO0 PASSNGRS 1. RPMILES .32657 + PBURSFO0 LFRPMASM -.32657 DMBURSFO 1. + PBURSFO0 P1016X43 -1. LF1016S2 -1. + PHNLLAX0 REVENUES .12871 OBJECTIV -.12871 + PHNLLAX0 PASSNGRS 1. RPMILES 2.55338 + PHNLLAX0 LFRPMASM -2.55338 DMHNLLAX 1. + PHNLLAX0 P1003X32 -1. LF1003S1 -1. + PHNLLAX1 REVENUES .12871 OBJECTIV -.12871 + PHNLLAX1 PASSNGRS 1. RPMILES 2.55338 + PHNLLAX1 LFRPMASM -2.55338 DMHNLLAX 1. + PHNLLAX1 P1004X43 -1. LF1004S2 -1. + PHNLLAX2 REVENUES .12871 OBJECTIV -.12871 + PHNLLAX2 PASSNGRS 1. RPMILES 2.55338 + PHNLLAX2 LFRPMASM -2.55338 DMHNLLAX 1. + PHNLLAX2 P1105X43 -1. LF1105S2 -1. + PHNLLAX3 REVENUES .12871 OBJECTIV -.12871 + PHNLLAX3 PASSNGRS 1. RPMILES 2.55338 + PHNLLAX3 LFRPMASM -2.55338 DMHNLLAX 1. + PHNLLAX3 P1047X23 -1. LF1047S1 -1. + PHNLLON0 REVENUES .32504 OBJECTIV -.32504 + PHNLLON0 PASSNGRS 1. RPMILES 7.41547 + PHNLLON0 LFRPMASM -7.41547 DMHNLLON 1. + PHNLLON0 LF1022S1 -1. LF1022S2 -1. + PHNLLON6 REVENUES -.03143 OBJECTIV .03143 + PHNLLON6 PASSNGRS -1. DMHNLLON 1. + PHNLLON6 DMHNLSEA -1. DMLONSEA -1. + PHNLPAR0 REVENUES .3343 OBJECTIV -.3343 + PHNLPAR0 PASSNGRS 1. RPMILES 7.64184 + PHNLPAR0 LFRPMASM -7.64184 DMHNLPAR 1. + PHNLPAR0 LF1022S1 -1. LF1022S2 -1. + PHNLPAR0 LF1022S3 -1. + PHNLPAR6 REVENUES -.03166 OBJECTIV .03166 + PHNLPAR6 PASSNGRS -1. DMHNLPAR 1. + PHNLPAR6 DMHNLSEA -1. DMPARSEA -1. + PHNLSEA0 REVENUES .13391 OBJECTIV -.13391 + PHNLSEA0 PASSNGRS 1. RPMILES 2.67711 + PHNLSEA0 LFRPMASM -2.67711 DMHNLSEA 1. + PHNLSEA0 P1001X32 -1. LF1001S1 -1. + PHNLSEA1 REVENUES .13391 OBJECTIV -.13391 + PHNLSEA1 PASSNGRS 1. RPMILES 2.67711 + PHNLSEA1 LFRPMASM -2.67711 DMHNLSEA 1. + PHNLSEA1 P1002X43 -1. LF1002S2 -1. + PHNLSEA2 REVENUES .13391 OBJECTIV -.13391 + PHNLSEA2 PASSNGRS 1. RPMILES 2.67711 + PHNLSEA2 LFRPMASM -2.67711 DMHNLSEA 1. + PHNLSEA2 P1007X43 -1. LF1007S2 -1. + PHNLSFO0 REVENUES .12174 OBJECTIV -.12174 + PHNLSFO0 PASSNGRS 1. RPMILES 2.8919 + PHNLSFO0 LFRPMASM -2.8919 DMHNLSFO 1. + PHNLSFO0 LF1004S1 -1. LF1004S2 -1. + PHNLSFO1 REVENUES .12174 OBJECTIV -.12174 + PHNLSFO1 PASSNGRS 1. RPMILES 2.8919 + PHNLSFO1 LFRPMASM -2.8919 DMHNLSFO 1. + PHNLSFO1 LF1047S1 -1. LF1047S2 -1. + PHNLSFO7 REVENUES -.0377 OBJECTIV .0377 + PHNLSFO7 PASSNGRS -1. DMHNLSFO 1. + PHNLSFO7 DMHNLLAX -1. DMLAXSFO -1. + PHNLYVR0 REVENUES .1351 OBJECTIV -.1351 + PHNLYVR0 PASSNGRS 1. RPMILES 2.80333 + PHNLYVR0 LFRPMASM -2.80333 DMHNLYVR 1. + PHNLYVR0 P1002X42 -1. LF1002S1 -1. + PHNLYVR0 LF1002S2 -1. + PHNLYVR1 REVENUES .1351 OBJECTIV -.1351 + PHNLYVR1 PASSNGRS 1. RPMILES 2.70531 + PHNLYVR1 LFRPMASM -2.70531 DMHNLYVR 1. + PHNLYVR1 P1022X23 -1. LF1022S1 -1. + PHNLYVR7 REVENUES -.01809 OBJECTIV .01809 + PHNLYVR7 PASSNGRS -1. DMHNLYVR 1. + PHNLYVR7 DMHNLSEA -1. DMSEAYVR -1. + PLASSEA0 REVENUES .05205 OBJECTIV -.05205 + PLASSEA0 PASSNGRS 1. RPMILES .86771 + PLASSEA0 LFRPMASM -.86771 DMLASSEA 1. + PLASSEA0 P1019X43 -1. LF1019S2 -1. + PLASSEA1 REVENUES .05205 OBJECTIV -.05205 + PLASSEA1 PASSNGRS 1. RPMILES .86771 + PLASSEA1 LFRPMASM -.86771 DMLASSEA 1. + PLASSEA1 P1021X32 -1. LF1021S1 -1. + PLASYVR0 REVENUES .05774 OBJECTIV -.05774 + PLASYVR0 PASSNGRS 1. RPMILES .99393 + PLASYVR0 LFRPMASM -.99393 DMLASYVR 1. + PLASYVR0 LF1019S1 -1. LF1019S2 -1. + PLASYVR6 REVENUES -.01359 OBJECTIV .01359 + PLASYVR6 PASSNGRS -1. DMLASYVR 1. + PLASYVR6 DMLASSEA -1. DMSEAYVR -1. + PLAXOAK0 REVENUES .03072 OBJECTIV -.03072 + PLAXOAK0 PASSNGRS 1. RPMILES .33855 + PLAXOAK0 LFRPMASM -.33855 DMLAXOAK 1. + PLAXOAK0 P1105X32 -1. LF1105S1 -1. + PLAXOAK1 REVENUES .03072 OBJECTIV -.03072 + PLAXOAK1 PASSNGRS 1. RPMILES .33855 + PLAXOAK1 LFRPMASM -.33855 DMLAXOAK 1. + PLAXOAK1 P1017X43 -1. LF1017S2 -1. + PLAXOAK2 REVENUES .03072 OBJECTIV -.03072 + PLAXOAK2 PASSNGRS 1. RPMILES .33855 + PLAXOAK2 LFRPMASM -.33855 DMLAXOAK 1. + PLAXOAK2 P1046X23 -1. LF1046S1 -1. + PLAXSEA0 REVENUES .05607 OBJECTIV -.05607 + PLAXSEA0 PASSNGRS 1. RPMILES 1.01801 + PLAXSEA0 LFRPMASM -1.01801 DMLAXSEA 1. + PLAXSEA0 P1008X53 -1. LF1008S2 -1. + PLAXSEA0 LF1008S3 -1. + PLAXSEA1 REVENUES .05607 OBJECTIV -.05607 + PLAXSEA1 PASSNGRS 1. RPMILES .95575 + PLAXSEA1 LFRPMASM -.95575 DMLAXSEA 1. + PLAXSEA1 P1009X43 -1. LF1009S2 -1. + PLAXSEA2 REVENUES .05607 OBJECTIV -.05607 + PLAXSEA2 PASSNGRS 1. RPMILES 1.01801 + PLAXSEA2 LFRPMASM -1.01801 DMLAXSEA 1. + PLAXSEA2 P1011X42 -1. LF1011S1 -1. + PLAXSEA2 LF1011S2 -1. + PLAXSEA3 REVENUES .05607 OBJECTIV -.05607 + PLAXSEA3 PASSNGRS 1. RPMILES .95575 + PLAXSEA3 LFRPMASM -.95575 DMLAXSEA 1. + PLAXSEA3 P1012X32 -1. LF1012S1 -1. + PLAXSEA4 REVENUES .05607 OBJECTIV -.05607 + PLAXSEA4 PASSNGRS 1. RPMILES 1.00997 + PLAXSEA4 LFRPMASM -1.00997 DMLAXSEA 1. + PLAXSEA4 P1017X42 -1. LF1017S1 -1. + PLAXSEA4 LF1017S2 -1. + PLAXSEA5 REVENUES .05607 OBJECTIV -.05607 + PLAXSEA5 PASSNGRS 1. RPMILES .95575 + PLAXSEA5 LFRPMASM -.95575 DMLAXSEA 1. + PLAXSEA5 P1026X23 -1. LF1026S1 -1. + PLAXSEA6 REVENUES .05607 OBJECTIV -.05607 + PLAXSEA6 PASSNGRS 1. RPMILES .95575 + PLAXSEA6 LFRPMASM -.95575 DMLAXSEA 1. + PLAXSEA6 P1027X23 -1. LF1027S1 -1. + PLAXSEA7 REVENUES .05607 OBJECTIV -.05607 + PLAXSEA7 PASSNGRS 1. RPMILES 1.01801 + PLAXSEA7 LFRPMASM -1.01801 DMLAXSEA 1. + PLAXSEA7 P1029X24 -1. LF1029S1 -1. + PLAXSEA7 LF1029S2 -1. + PLAXSEA8 REVENUES .05607 OBJECTIV -.05607 + PLAXSEA8 PASSNGRS 1. RPMILES 1.01801 + PLAXSEA8 LFRPMASM -1.01801 DMLAXSEA 1. + PLAXSEA8 P1030X24 -1. LF1030S1 -1. + PLAXSEA8 LF1030S2 -1. + PLAXSEA9 REVENUES .05607 OBJECTIV -.05607 + PLAXSEA9 PASSNGRS 1. RPMILES .95575 + PLAXSEA9 LFRPMASM -.95575 DMLAXSEA 1. + PLAXSEA9 P1050X32 -1. LF1050S1 -1. + PLAXSFO0 REVENUES .03072 OBJECTIV -.03072 + PLAXSFO0 PASSNGRS 1. RPMILES .33852 + PLAXSFO0 LFRPMASM -.33852 DMLAXSFO 1. + PLAXSFO0 P1004X32 -1. LF1004S1 -1. + PLAXSFO1 REVENUES .03072 OBJECTIV -.03072 + PLAXSFO1 PASSNGRS 1. RPMILES .33852 + PLAXSFO1 LFRPMASM -.33852 DMLAXSFO 1. + PLAXSFO1 P1008X54 -1. LF1008S3 -1. + PLAXSFO2 REVENUES .03072 OBJECTIV -.03072 + PLAXSFO2 PASSNGRS 1. RPMILES .33852 + PLAXSFO2 LFRPMASM -.33852 DMLAXSFO 1. + PLAXSFO2 P1011X43 -1. LF1011S2 -1. + PLAXSFO3 REVENUES .03072 OBJECTIV -.03072 + PLAXSFO3 PASSNGRS 1. RPMILES .33852 + PLAXSFO3 LFRPMASM -.33852 DMLAXSFO 1. + PLAXSFO3 P1029X23 -1. LF1029S1 -1. + PLAXSFO4 REVENUES .03072 OBJECTIV -.03072 + PLAXSFO4 PASSNGRS 1. RPMILES .33852 + PLAXSFO4 LFRPMASM -.33852 DMLAXSFO 1. + PLAXSFO4 P1030X23 -1. LF1030S1 -1. + PLAXSFO5 REVENUES .03072 OBJECTIV -.03072 + PLAXSFO5 PASSNGRS 1. RPMILES .33852 + PLAXSFO5 LFRPMASM -.33852 DMLAXSFO 1. + PLAXSFO5 P1047X34 -1. LF1047S2 -1. + PLAXSFO6 REVENUES .03072 OBJECTIV -.03072 + PLAXSFO6 PASSNGRS 1. RPMILES .33852 + PLAXSFO6 LFRPMASM -.33852 DMLAXSFO 1. + PLAXSFO6 P1051X23 -1. LF1051S1 -1. + PLAXTPE0 REVENUES .30609 OBJECTIV -.30609 + PLAXTPE0 PASSNGRS 1. RPMILES 7.05137 + PLAXTPE0 LFRPMASM -7.05137 DMLAXTPE 1. + PLAXTPE0 P1027X25 -1. LF1027S1 -1. + PLAXTPE0 LF1027S2 -1. LF1027S3 -1. + PLAXTPE1 REVENUES .30609 OBJECTIV -.30609 + PLAXTPE1 PASSNGRS 1. RPMILES 7.14547 + PLAXTPE1 LFRPMASM -7.14547 DMLAXTPE 1. + PLAXTPE1 P1029X27 -1. LF1029S1 -1. + PLAXTPE1 LF1029S2 -1. LF1029S3 -1. + PLAXTPE1 LF1029S4 -1. LF1029S5 -1. + PLAXTPE2 REVENUES .30609 OBJECTIV -.30609 + PLAXTPE2 PASSNGRS 1. RPMILES 7.11364 + PLAXTPE2 LFRPMASM -7.11364 DMLAXTPE 1. + PLAXTPE2 P1030X26 -1. LF1030S1 -1. + PLAXTPE2 LF1030S2 -1. LF1030S3 -1. + PLAXTPE2 LF1030S4 -1. + PLAXTPE8 REVENUES -.02571 OBJECTIV .02571 + PLAXTPE8 PASSNGRS -1. DMLAXTPE 1. + PLAXTPE8 DMLAXSEA -1. DMSEATPE -1. + PLAXTYO0 REVENUES .2516 OBJECTIV -.2516 + PLAXTYO0 PASSNGRS 1. RPMILES 5.74891 + PLAXTYO0 LFRPMASM -5.74891 DMLAXTYO 1. + PLAXTYO0 LF1027S1 -1. LF1027S2 -1. + PLAXTYO1 REVENUES .2516 OBJECTIV -.2516 + PLAXTYO1 PASSNGRS 1. RPMILES 5.843 + PLAXTYO1 LFRPMASM -5.843 DMLAXTYO 1. + PLAXTYO1 LF1029S1 -1. LF1029S2 -1. + PLAXTYO1 LF1029S3 -1. LF1029S4 -1. + PLAXTYO2 REVENUES .2516 OBJECTIV -.2516 + PLAXTYO2 PASSNGRS 1. RPMILES 5.81118 + PLAXTYO2 LFRPMASM -5.81118 DMLAXTYO 1. + PLAXTYO2 LF1030S1 -1. LF1030S2 -1. + PLAXTYO2 LF1030S3 -1. + PLAXTYO8 REVENUES -.0273 OBJECTIV .0273 + PLAXTYO8 PASSNGRS -1. DMLAXTYO 1. + PLAXTYO8 DMLAXSEA -1. DMSEATYO -1. + PLAXYVR0 REVENUES .06181 OBJECTIV -.06181 + PLAXYVR0 PASSNGRS 1. RPMILES 1.14422 + PLAXYVR0 LFRPMASM -1.14422 DMLAXYVR 1. + PLAXYVR0 P1008X52 -1. LF1008S1 -1. + PLAXYVR0 LF1008S2 -1. LF1008S3 -1. + PLAXYVR1 REVENUES .06181 OBJECTIV -.06181 + PLAXYVR1 PASSNGRS 1. RPMILES 1.08196 + PLAXYVR1 LFRPMASM -1.08196 DMLAXYVR 1. + PLAXYVR1 P1009X42 -1. LF1009S1 -1. + PLAXYVR1 LF1009S2 -1. + PLAXYVR2 REVENUES .06181 OBJECTIV -.06181 + PLAXYVR2 PASSNGRS 1. RPMILES 1.14422 + PLAXYVR2 LFRPMASM -1.14422 DMLAXYVR 1. + PLAXYVR2 P1029X25 -1. LF1029S1 -1. + PLAXYVR2 LF1029S2 -1. LF1029S3 -1. + PLONPAR0 REVENUES .02622 OBJECTIV -.02622 + PLONPAR0 PASSNGRS 1. RPMILES .22636 + PLONPAR0 LFRPMASM -.22636 DMLONPAR 1. + PLONPAR0 LF1022S3 -1. + PLONPAR1 REVENUES .02622 OBJECTIV -.02622 + PLONPAR1 PASSNGRS 1. RPMILES .22636 + PLONPAR1 LFRPMASM -.22636 DMLONPAR 1. + PLONPAR1 LF1023S3 -1. + PLONPAR2 REVENUES .02622 OBJECTIV -.02622 + PLONPAR2 PASSNGRS 1. RPMILES .22636 + PLONPAR2 LFRPMASM -.22636 DMLONPAR 1. + PLONPAR2 LF1026S3 -1. + PLONSEA0 REVENUES .22255 OBJECTIV -.22255 + PLONSEA0 PASSNGRS 1. RPMILES 4.78646 + PLONSEA0 LFRPMASM -4.78646 DMLONSEA 1. + PLONSEA0 LF1023S2 -1. + PLONSEA1 REVENUES .22255 OBJECTIV -.22255 + PLONSEA1 PASSNGRS 1. RPMILES 4.78646 + PLONSEA1 LFRPMASM -4.78646 DMLONSEA 1. + PLONSEA1 LF1026S2 -1. + PLONYVR0 REVENUES .21935 OBJECTIV -.21935 + PLONYVR0 PASSNGRS 1. RPMILES 4.71017 + PLONYVR0 LFRPMASM -4.71017 DMLONYVR 1. + PLONYVR0 LF1022S2 -1. + PLONYVR1 REVENUES .21935 OBJECTIV -.21935 + PLONYVR1 PASSNGRS 1. RPMILES 4.91267 + PLONYVR1 LFRPMASM -4.91267 DMLONYVR 1. + PLONYVR1 LF1023S1 -1. LF1023S2 -1. + PLONYVR7 REVENUES -.02248 OBJECTIV .02248 + PLONYVR7 PASSNGRS -1. DMLONYVR 1. + PLONYVR7 DMLONSEA -1. DMSEAYVR -1. + POAKONT0 REVENUES .03148 OBJECTIV -.03148 + POAKONT0 PASSNGRS 1. RPMILES .36196 + POAKONT0 LFRPMASM -.36196 DMOAKONT 1. + POAKONT0 LF1006S1 -1. + POAKONT1 REVENUES .03148 OBJECTIV -.03148 + POAKONT1 PASSNGRS 1. RPMILES .36196 + POAKONT1 LFRPMASM -.36196 DMOAKONT 1. + POAKONT1 LF1013S2 -1. + POAKSEA0 REVENUES .04311 OBJECTIV -.04311 + POAKSEA0 PASSNGRS 1. RPMILES .67142 + POAKSEA0 LFRPMASM -.67142 DMOAKSEA 1. + POAKSEA0 P1013X32 -1. LF1013S1 -1. + POAKSEA1 REVENUES .04311 OBJECTIV -.04311 + POAKSEA1 PASSNGRS 1. RPMILES .67142 + POAKSEA1 LFRPMASM -.67142 DMOAKSEA 1. + POAKSEA1 P1014X32 -1. LF1014S1 -1. + POAKSEA2 REVENUES .04311 OBJECTIV -.04311 + POAKSEA2 PASSNGRS 1. RPMILES .67142 + POAKSEA2 LFRPMASM -.67142 DMOAKSEA 1. + POAKSEA2 P1017X32 -1. LF1017S1 -1. + PONTSFO0 REVENUES .03152 OBJECTIV -.03152 + PONTSFO0 PASSNGRS 1. RPMILES .36328 + PONTSFO0 LFRPMASM -.36328 DMONTSFO 1. + PONTSFO0 P1015X43 -1. LF1015S2 -1. + PONTSEA0 REVENUES .05614 OBJECTIV -.05614 + PONTSEA0 PASSNGRS 1. RPMILES 1.03338 + PONTSEA0 LFRPMASM -1.03338 DMONTSEA 1. + PONTSEA0 P1013X42 -1. LF1013S1 -1. + PONTSEA0 LF1013S2 -1. + PONTSEA1 REVENUES .05614 OBJECTIV -.05614 + PONTSEA1 PASSNGRS 1. RPMILES 1.04277 + PONTSEA1 LFRPMASM -1.04277 DMONTSEA 1. + PONTSEA1 P1015X42 -1. LF1015S1 -1. + PONTSEA1 LF1015S2 -1. + PONTSEA2 REVENUES .05614 OBJECTIV -.05614 + PONTSEA2 PASSNGRS 1. RPMILES 1.00139 + PONTSEA2 LFRPMASM -1.00139 DMONTSEA 1. + PONTSEA2 P1050X42 -1. LF1050S1 -1. + PONTSEA2 LF1050S2 -1. + PPARSEA0 REVENUES .23205 OBJECTIV -.23205 + PPARSEA0 PASSNGRS 1. RPMILES 5.01282 + PPARSEA0 LFRPMASM -5.01282 DMPARSEA 1. + PPARSEA0 LF1023S2 -1. LF1023S3 -1. + PPARSEA1 REVENUES .23205 OBJECTIV -.23205 + PPARSEA1 PASSNGRS 1. RPMILES 5.01282 + PPARSEA1 LFRPMASM -5.01282 DMPARSEA 1. + PPARSEA1 LF1026S2 -1. LF1026S3 -1. + PPARYVR0 REVENUES .22885 OBJECTIV -.22885 + PPARYVR0 PASSNGRS 1. RPMILES 4.93653 + PPARYVR0 LFRPMASM -4.93653 DMPARYVR 1. + PPARYVR0 LF1022S2 -1. LF1022S3 -1. + PPARYVR1 REVENUES .22885 OBJECTIV -.22885 + PPARYVR1 PASSNGRS 1. RPMILES 5.13904 + PPARYVR1 LFRPMASM -5.13904 DMPARYVR 1. + PPARYVR1 LF1023S1 -1. LF1023S2 -1. + PPARYVR1 LF1023S3 -1. + PPARYVR7 REVENUES -.02247 OBJECTIV .02247 + PPARYVR7 PASSNGRS -1. DMPARYVR 1. + PPARYVR7 DMPARSEA -1. DMSEAYVR -1. + PRNOSEA0 REVENUES .0382 OBJECTIV -.0382 + PRNOSEA0 PASSNGRS 1. RPMILES .56374 + PRNOSEA0 LFRPMASM -.56374 DMRNOSEA 1. + PRNOSEA0 P1018X43 -1. LF1018S2 -1. + PRNOSEA1 REVENUES .0382 OBJECTIV -.0382 + PRNOSEA1 PASSNGRS 1. RPMILES .56374 + PRNOSEA1 LFRPMASM -.56374 DMRNOSEA 1. + PRNOSEA1 P1020X32 -1. LF1020S1 -1. + PRNOYVR0 REVENUES .04394 OBJECTIV -.04394 + PRNOYVR0 PASSNGRS 1. RPMILES .68996 + PRNOYVR0 LFRPMASM -.68996 DMRNOYVR 1. + PRNOYVR0 LF1018S1 -1. LF1018S2 -1. + PSEASFO0 REVENUES .04347 OBJECTIV -.04347 + PSEASFO0 PASSNGRS 1. RPMILES .67949 + PSEASFO0 LFRPMASM -.67949 DMSEASFO 1. + PSEASFO0 P1008X34 -1. LF1008S2 -1. + PSEASFO1 REVENUES .04347 OBJECTIV -.04347 + PSEASFO1 PASSNGRS 1. RPMILES .67949 + PSEASFO1 LFRPMASM -.67949 DMSEASFO 1. + PSEASFO1 P1011X23 -1. LF1011S1 -1. + PSEASFO2 REVENUES .04347 OBJECTIV -.04347 + PSEASFO2 PASSNGRS 1. RPMILES .67949 + PSEASFO2 LFRPMASM -.67949 DMSEASFO 1. + PSEASFO2 P1015X23 -1. LF1015S1 -1. + PSEASFO3 REVENUES .04347 OBJECTIV -.04347 + PSEASFO3 PASSNGRS 1. RPMILES .67949 + PSEASFO3 LFRPMASM -.67949 DMSEASFO 1. + PSEASFO3 P1016X23 -1. LF1016S1 -1. + PSEASFO4 REVENUES .04347 OBJECTIV -.04347 + PSEASFO4 PASSNGRS 1. RPMILES .67949 + PSEASFO4 LFRPMASM -.67949 DMSEASFO 1. + PSEASFO4 P1028X32 -1. LF1028S1 -1. + PSEASFO5 REVENUES .04347 OBJECTIV -.04347 + PSEASFO5 PASSNGRS 1. RPMILES .67949 + PSEASFO5 LFRPMASM -.67949 DMSEASFO 1. + PSEASFO5 P1029X43 -1. LF1029S2 -1. + PSEASFO6 REVENUES .04347 OBJECTIV -.04347 + PSEASFO6 PASSNGRS 1. RPMILES .67949 + PSEASFO6 LFRPMASM -.67949 DMSEASFO 1. + PSEASFO6 P1030X43 -1. LF1030S2 -1. + PSEATPE0 REVENUES .27573 OBJECTIV -.27573 + PSEATPE0 PASSNGRS 1. RPMILES 6.09563 + PSEATPE0 LFRPMASM -6.09563 DMSEATPE 1. + PSEATPE0 LF1027S2 -1. LF1027S3 -1. + PSEATPE1 REVENUES .27573 OBJECTIV -.27573 + PSEATPE1 PASSNGRS 1. RPMILES 6.09563 + PSEATPE1 LFRPMASM -6.09563 DMSEATPE 1. + PSEATPE1 LF1028S2 -1. LF1028S3 -1. + PSEATPE2 REVENUES .27573 OBJECTIV -.27573 + PSEATPE2 PASSNGRS 1. RPMILES 6.12746 + PSEATPE2 LFRPMASM -6.12746 DMSEATPE 1. + PSEATPE2 LF1029S3 -1. LF1029S4 -1. + PSEATPE2 LF1029S5 -1. + PSEATPE3 REVENUES .27573 OBJECTIV -.27573 + PSEATPE3 PASSNGRS 1. RPMILES 6.09563 + PSEATPE3 LFRPMASM -6.09563 DMSEATPE 1. + PSEATPE3 LF1030S3 -1. LF1030S4 -1. + PSEATYO0 REVENUES .22283 OBJECTIV -.22283 + PSEATYO0 PASSNGRS 1. RPMILES 4.79317 + PSEATYO0 LFRPMASM -4.79317 DMSEATYO 1. + PSEATYO0 LF1027S2 -1. + PSEATYO1 REVENUES .22283 OBJECTIV -.22283 + PSEATYO1 PASSNGRS 1. RPMILES 4.79317 + PSEATYO1 LFRPMASM -4.79317 DMSEATYO 1. + PSEATYO1 LF1028S2 -1. + PSEATYO2 REVENUES .22283 OBJECTIV -.22283 + PSEATYO2 PASSNGRS 1. RPMILES 4.825 + PSEATYO2 LFRPMASM -4.825 DMSEATYO 1. + PSEATYO2 LF1029S3 -1. LF1029S4 -1. + PSEATYO3 REVENUES .22283 OBJECTIV -.22283 + PSEATYO3 PASSNGRS 1. RPMILES 4.79317 + PSEATYO3 LFRPMASM -4.79317 DMSEATYO 1. + PSEATYO3 LF1030S3 -1. + PSEAYVR0 REVENUES .01928 OBJECTIV -.01928 + PSEAYVR0 PASSNGRS 1. RPMILES .12622 + PSEAYVR0 LFRPMASM -.12622 DMSEAYVR 1. + PSEAYVR0 P1002X32 -1. LF1002S1 -1. + PSEAYVR1 REVENUES .01928 OBJECTIV -.01928 + PSEAYVR1 PASSNGRS 1. RPMILES .12622 + PSEAYVR1 LFRPMASM -.12622 DMSEAYVR 1. + PSEAYVR1 P1008X32 -1. LF1008S1 -1. + PSEAYVR2 REVENUES .01928 OBJECTIV -.01928 + PSEAYVR2 PASSNGRS 1. RPMILES .12622 + PSEAYVR2 LFRPMASM -.12622 DMSEAYVR 1. + PSEAYVR2 P1009X32 -1. LF1009S1 -1. + PSEAYVR3 REVENUES .01928 OBJECTIV -.01928 + PSEAYVR3 PASSNGRS 1. RPMILES .12622 + PSEAYVR3 LFRPMASM -.12622 DMSEAYVR 1. + PSEAYVR3 P1010X32 -1. LF1010S1 -1. + PSEAYVR4 REVENUES .01928 OBJECTIV -.01928 + PSEAYVR4 PASSNGRS 1. RPMILES .12622 + PSEAYVR4 LFRPMASM -.12622 DMSEAYVR 1. + PSEAYVR4 P1018X32 -1. LF1018S1 -1. + PSEAYVR5 REVENUES .01928 OBJECTIV -.01928 + PSEAYVR5 PASSNGRS 1. RPMILES .12622 + PSEAYVR5 LFRPMASM -.12622 DMSEAYVR 1. + PSEAYVR5 P1019X32 -1. LF1019S1 -1. + PSEAYVR6 REVENUES .01928 OBJECTIV -.01928 + PSEAYVR6 PASSNGRS 1. RPMILES .12622 + PSEAYVR6 LFRPMASM -.12622 DMSEAYVR 1. + PSEAYVR6 P1023X32 -1. LF1023S1 -1. + PSEAYVR7 REVENUES .01928 OBJECTIV -.01928 + PSEAYVR7 PASSNGRS 1. RPMILES .12622 + PSEAYVR7 LFRPMASM -.12622 DMSEAYVR 1. + PSEAYVR7 P1029X45 -1. LF1029S3 -1. + PSEAYVR8 REVENUES .01928 OBJECTIV -.01928 + PSEAYVR8 PASSNGRS 1. RPMILES .12622 + PSEAYVR8 LFRPMASM -.12622 DMSEAYVR 1. + PSEAYVR8 P1032X23 -1. LF1032S1 -1. + PSFOTPE0 REVENUES .29218 OBJECTIV -.29218 + PSFOTPE0 PASSNGRS 1. RPMILES 6.77512 + PSFOTPE0 LFRPMASM -6.77512 DMSFOTPE 1. + PSFOTPE0 LF1028S1 -1. LF1028S2 -1. + PSFOTPE0 LF1028S3 -1. + PSFOTPE1 REVENUES .29218 OBJECTIV -.29218 + PSFOTPE1 PASSNGRS 1. RPMILES 6.80694 + PSFOTPE1 LFRPMASM -6.80694 DMSFOTPE 1. + PSFOTPE1 LF1029S2 -1. LF1029S3 -1. + PSFOTPE1 LF1029S4 -1. LF1029S5 -1. + PSFOTPE2 REVENUES .29218 OBJECTIV -.29218 + PSFOTPE2 PASSNGRS 1. RPMILES 6.77512 + PSFOTPE2 LFRPMASM -6.77512 DMSFOTPE 1. + PSFOTPE2 LF1030S2 -1. LF1030S3 -1. + PSFOTPE2 LF1030S4 -1. + PSFOTPE8 REVENUES -.02702 OBJECTIV .02702 + PSFOTPE8 PASSNGRS -1. DMSFOTPE 1. + PSFOTPE8 DMSEASFO -1. DMSEATPE -1. + PSFOTYO0 REVENUES .2378 OBJECTIV -.2378 + PSFOTYO0 PASSNGRS 1. RPMILES 5.47265 + PSFOTYO0 LFRPMASM -5.47265 DMSFOTYO 1. + PSFOTYO0 LF1028S1 -1. LF1028S2 -1. + PSFOTYO1 REVENUES .2378 OBJECTIV -.2378 + PSFOTYO1 PASSNGRS 1. RPMILES 5.50448 + PSFOTYO1 LFRPMASM -5.50448 DMSFOTYO 1. + PSFOTYO1 LF1029S2 -1. LF1029S3 -1. + PSFOTYO1 LF1029S4 -1. + PSFOTYO2 REVENUES .2378 OBJECTIV -.2378 + PSFOTYO2 PASSNGRS 1. RPMILES 5.47265 + PSFOTYO2 LFRPMASM -5.47265 DMSFOTYO 1. + PSFOTYO2 LF1030S2 -1. LF1030S3 -1. + PSFOTYO8 REVENUES -.0285 OBJECTIV .0285 + PSFOTYO8 PASSNGRS -1. DMSFOTYO 1. + PSFOTYO8 DMSEASFO -1. DMSEATYO -1. + PSFOYVR0 REVENUES .04898 OBJECTIV -.04898 + PSFOYVR0 PASSNGRS 1. RPMILES .8057 + PSFOYVR0 LFRPMASM -.8057 DMSFOYVR 1. + PSFOYVR0 P1008X42 -1. LF1008S1 -1. + PSFOYVR0 LF1008S2 -1. + PSFOYVR1 REVENUES .04898 OBJECTIV -.04898 + PSFOYVR1 PASSNGRS 1. RPMILES .8057 + PSFOYVR1 LFRPMASM -.8057 DMSFOYVR 1. + PSFOYVR1 P1029X35 -1. LF1029S2 -1. + PSFOYVR1 LF1029S3 -1. + PTPETYO0 REVENUES .07188 OBJECTIV -.07188 + PTPETYO0 PASSNGRS 1. RPMILES 1.30247 + PTPETYO0 LFRPMASM -1.30247 DMTPETYO 1. + PTPETYO0 LF1027S3 -1. + PTPETYO1 REVENUES .07188 OBJECTIV -.07188 + PTPETYO1 PASSNGRS 1. RPMILES 1.30247 + PTPETYO1 LFRPMASM -1.30247 DMTPETYO 1. + PTPETYO1 LF1028S3 -1. + PTPETYO2 REVENUES .07188 OBJECTIV -.07188 + PTPETYO2 PASSNGRS 1. RPMILES 1.30247 + PTPETYO2 LFRPMASM -1.30247 DMTPETYO 1. + PTPETYO2 LF1029S5 -1. + PTPETYO3 REVENUES .07188 OBJECTIV -.07188 + PTPETYO3 PASSNGRS 1. RPMILES 1.30247 + PTPETYO3 LFRPMASM -1.30247 DMTPETYO 1. + PTPETYO3 LF1030S4 -1. + PTPEYVR0 REVENUES .27146 OBJECTIV -.27146 + PTPEYVR0 PASSNGRS 1. RPMILES 6.00125 + PTPEYVR0 LFRPMASM -6.00125 DMTPEYVR 1. + PTPEYVR0 LF1029S4 -1. LF1029S5 -1. + PTYOYVR0 REVENUES .21887 OBJECTIV -.21887 + PTYOYVR0 PASSNGRS 1. RPMILES 4.69878 + PTYOYVR0 LFRPMASM -4.69878 DMTYOYVR 1. + PTYOYVR0 LF1029S4 -1. + PYULYVR0 REVENUES .11677 OBJECTIV -.11677 + PYULYVR0 PASSNGRS 1. RPMILES 2.4064 + PYULYVR0 LFRPMASM -2.4064 DMYULYVR 1. + PYULYVR0 P1032X63 -1. LF1032S2 -1. + PYULYVR0 LF1032S3 -1. LF1032S4 -1. + PYULYVR1 REVENUES .11677 OBJECTIV -.11677 + PYULYVR1 PASSNGRS 1. RPMILES 2.28733 + PYULYVR1 LFRPMASM -2.28733 DMYULYVR 1. + PYULYVR1 P1033X42 -1. LF1033S1 -1. + PYULYVR1 LF1033S2 -1. + PYULYVR2 REVENUES .11677 OBJECTIV -.11677 + PYULYVR2 PASSNGRS 1. RPMILES 2.39258 + PYULYVR2 LFRPMASM -2.39258 DMYULYVR 1. + PYULYVR2 P1034X42 -1. LF1034S1 -1. + PYULYVR2 LF1034S2 -1. + PYULYVR3 REVENUES .11677 OBJECTIV -.11677 + PYULYVR3 PASSNGRS 1. RPMILES 2.28726 + PYULYVR3 LFRPMASM -2.28726 DMYULYVR 1. + PYULYVR3 P1036X32 -1. LF1036S1 -1. + PYULYWG0 REVENUES .06398 OBJECTIV -.06398 + PYULYWG0 PASSNGRS 1. RPMILES 1.24837 + PYULYWG0 LFRPMASM -1.24837 DMYULYWG 1. + PYULYWG0 P1032X64 -1. LF1032S3 -1. + PYULYWG0 LF1032S4 -1. + PYULYWG1 REVENUES .06398 OBJECTIV -.06398 + PYULYWG1 PASSNGRS 1. RPMILES 1.1293 + PYULYWG1 LFRPMASM -1.1293 DMYULYWG 1. + PYULYWG1 P1033X43 -1. LF1033S2 -1. + PYULYWG2 REVENUES .06398 OBJECTIV -.06398 + PYULYWG2 PASSNGRS 1. RPMILES 1.24837 + PYULYWG2 LFRPMASM -1.24837 DMYULYWG 1. + PYULYWG2 P1037X42 -1. LF1037S1 -1. + PYULYWG2 LF1037S2 -1. + PYULYWG3 REVENUES .06398 OBJECTIV -.06398 + PYULYWG3 PASSNGRS 1. RPMILES 1.1293 + PYULYWG3 LFRPMASM -1.1293 DMYULYWG 1. + PYULYWG3 P1039X32 -1. LF1039S1 -1. + PYULYYZ0 REVENUES .02995 OBJECTIV -.02995 + PYULYYZ0 PASSNGRS 1. RPMILES .31461 + PYULYYZ0 LFRPMASM -.31461 DMYULYYZ 1. + PYULYYZ0 P1032X65 -1. LF1032S4 -1. + PYULYYZ1 REVENUES .02995 OBJECTIV -.02995 + PYULYYZ1 PASSNGRS 1. RPMILES .31461 + PYULYYZ1 LFRPMASM -.31461 DMYULYYZ 1. + PYULYYZ1 P1034X43 -1. LF1034S2 -1. + PYULYYZ2 REVENUES .02995 OBJECTIV -.02995 + PYULYYZ2 PASSNGRS 1. RPMILES .31461 + PYULYYZ2 LFRPMASM -.31461 DMYULYYZ 1. + PYULYYZ2 P1037X43 -1. LF1037S2 -1. + PYULYYZ3 REVENUES .02995 OBJECTIV -.02995 + PYULYYZ3 PASSNGRS 1. RPMILES .31461 + PYULYYZ3 LFRPMASM -.31461 DMYULYYZ 1. + PYULYYZ3 P1040X32 -1. LF1040S1 -1. + PYULYYZ4 REVENUES .02995 OBJECTIV -.02995 + PYULYYZ4 PASSNGRS 1. RPMILES .31461 + PYULYYZ4 LFRPMASM -.31461 DMYULYYZ 1. + PYULYYZ4 P1041X32 -1. LF1041S1 -1. + PYVRYWG0 REVENUES .06529 OBJECTIV -.06529 + PYVRYWG0 PASSNGRS 1. RPMILES 1.15803 + PYVRYWG0 LFRPMASM -1.15803 DMYVRYWG 1. + PYVRYWG0 P1032X34 -1. LF1032S2 -1. + PYVRYWG1 REVENUES .06529 OBJECTIV -.06529 + PYVRYWG1 PASSNGRS 1. RPMILES 1.15803 + PYVRYWG1 LFRPMASM -1.15803 DMYVRYWG 1. + PYVRYWG1 P1033X23 -1. LF1033S1 -1. + PYVRYWG2 REVENUES .06529 OBJECTIV -.06529 + PYVRYWG2 PASSNGRS 1. RPMILES 1.15803 + PYVRYWG2 LFRPMASM -1.15803 DMYVRYWG 1. + PYVRYWG2 P1035X23 -1. LF1035S1 -1. + PYVRYYZ0 REVENUES .10723 OBJECTIV -.10723 + PYVRYYZ0 PASSNGRS 1. RPMILES 2.09179 + PYVRYYZ0 LFRPMASM -2.09179 DMYVRYYZ 1. + PYVRYYZ0 P1032X35 -1. LF1032S2 -1. + PYVRYYZ0 LF1032S3 -1. + PYVRYYZ1 REVENUES .10723 OBJECTIV -.10723 + PYVRYYZ1 PASSNGRS 1. RPMILES 2.07796 + PYVRYYZ1 LFRPMASM -2.07796 DMYVRYYZ 1. + PYVRYYZ1 P1034X23 -1. LF1034S1 -1. + PYVRYYZ2 REVENUES .10723 OBJECTIV -.10723 + PYVRYYZ2 PASSNGRS 1. RPMILES 2.09179 + PYVRYYZ2 LFRPMASM -2.09179 DMYVRYYZ 1. + PYVRYYZ2 P1035X24 -1. LF1035S1 -1. + PYVRYYZ2 LF1035S2 -1. + PYWGYYZ0 REVENUES .05507 OBJECTIV -.05507 + PYWGYYZ0 PASSNGRS 1. RPMILES .93376 + PYWGYYZ0 LFRPMASM -.93376 DMYWGYYZ 1. + PYWGYYZ0 P1032X45 -1. LF1032S3 -1. + PYWGYYZ1 REVENUES .05507 OBJECTIV -.05507 + PYWGYYZ1 PASSNGRS 1. RPMILES .93376 + PYWGYYZ1 LFRPMASM -.93376 DMYWGYYZ 1. + PYWGYYZ1 P1035X34 -1. LF1035S2 -1. + PYWGYYZ2 REVENUES .05507 OBJECTIV -.05507 + PYWGYYZ2 PASSNGRS 1. RPMILES .93376 + PYWGYYZ2 LFRPMASM -.93376 DMYWGYYZ 1. + PYWGYYZ2 P1037X23 -1. LF1037S1 -1. + PYWGYYZ3 REVENUES .05507 OBJECTIV -.05507 + PYWGYYZ3 PASSNGRS 1. RPMILES .93376 + PYWGYYZ3 LFRPMASM -.93376 DMYWGYYZ 1. + PYWGYYZ3 P1038X23 -1. LF1038S1 -1. + PBOSOAK0 REVENUES .13432 OBJECTIV -.13432 + PBOSOAK0 PASSNGRS 1. RPMILES 2.68687 + PBOSOAK0 LFRPMASM -2.68687 DMBOSOAK 1. + PBOSOAK0 LF1046S2 -1. + PBOSOAK6 REVENUES -.01157 OBJECTIV .01157 + PBOSOAK6 PASSNGRS -1. DMBOSOAK 1. + PBOSOAK6 DMBOSSFO -1. DMSFOOAK -1. + PBOSBUR1 REVENUES -.03469 OBJECTIV .03469 + PBOSBUR1 PASSNGRS -1. DMBOSBUR 1. + PBOSBUR1 DMBOSSFO -1. DMBURSFO -1. + PBOSBUR2 REVENUES -.04664 OBJECTIV .04664 + PBOSBUR2 PASSNGRS -2. DMBOSBUR 1. + PBOSBUR2 DMBOSSFO -1. DMLAXSFO -1. + PBOSBUR2 DMLAXBUR -1. + PBOSONT1 REVENUES -.03725 OBJECTIV .03725 + PBOSONT1 PASSNGRS -1. DMBOSONT 1. + PBOSONT1 DMBOSSFO -1. DMONTSFO -1. + PBOSONT2 REVENUES -.04996 OBJECTIV .04996 + PBOSONT2 PASSNGRS -2. DMBOSONT 1. + PBOSONT2 DMBOSSFO -1. DMLAXSFO -1. + PBOSONT2 DMLAXONT -1. + PBURYVR1 REVENUES -.01353 OBJECTIV .01353 + PBURYVR1 PASSNGRS -1. DMBURYVR 1. + PBURYVR1 DMBURSEA -1. DMSEAYVR -1. + PBURTYO1 REVENUES -.02686 OBJECTIV .02686 + PBURTYO1 PASSNGRS -1. DMBURTYO 1. + PBURTYO1 DMBURSEA -1. DMSEATYO -1. + PBURTPE1 REVENUES -.02529 OBJECTIV .02529 + PBURTPE1 PASSNGRS -1. DMBURTPE 1. + PBURTPE1 DMBURSEA -1. DMSEATPE -1. + PBURHNL0 REVENUES .12896 OBJECTIV -.12896 + PBURHNL0 PASSNGRS 1. RPMILES 2.55929 + PBURHNL0 LFRPMASM -2.55929 DMBURHNL 1. + PBURHNL0 LF1005S2 -1. + PBURHNL6 REVENUES -.01132 OBJECTIV .01132 + PBURHNL6 PASSNGRS -1. DMBURHNL 1. + PBURHNL6 DMLAXBUR -1. DMHNLLAX -1. + PHNLOAK0 REVENUES .12225 OBJECTIV -.12225 + PHNLOAK0 PASSNGRS 1. RPMILES 2.88537 + PHNLOAK0 LFRPMASM -2.88537 DMHNLOAK 1. + PHNLOAK0 LF1005S1 -1. LF1005S2 -1. + PHNLOAK1 REVENUES .12225 OBJECTIV -.12225 + PHNLOAK1 PASSNGRS 1. RPMILES 2.89192 + PHNLOAK1 LFRPMASM -2.89192 DMHNLOAK 1. + PHNLOAK1 LF1105S1 -1. LF1105S2 -1. + PHNLOAK2 REVENUES .12225 OBJECTIV -.12225 + PHNLOAK2 PASSNGRS 1. RPMILES 2.96093 + PHNLOAK2 LFRPMASM -2.96093 DMHNLOAK 1. + PHNLOAK2 LF1006S1 -1. LF1006S2 -1. + PHNLOAK8 REVENUES -.03719 OBJECTIV .03719 + PHNLOAK8 PASSNGRS -1. DMHNLOAK 1. + PHNLOAK8 DMHNLLAX -1. DMLAXOAK -1. + PHNLONT0 REVENUES .13063 OBJECTIV -.13063 + PHNLONT0 PASSNGRS 1. RPMILES 2.59897 + PHNLONT0 LFRPMASM -2.59897 DMHNLONT 1. + PHNLONT0 LF1006S2 -1. + PHNLONT6 REVENUES -.0116 OBJECTIV .0116 + PHNLONT6 PASSNGRS -1. DMHNLONT 1. + PHNLONT6 DMHNLLAX -1. DMLAXONT -1. + PHNLYWG1 REVENUES -.01893 OBJECTIV .01893 + PHNLYWG1 PASSNGRS -1. DMHNLYWG 1. + PHNLYWG1 DMHNLYVR -1. DMYVRYWG -1. + PHNLYYZ1 REVENUES -.02585 OBJECTIV .02585 + PHNLYYZ1 PASSNGRS -1. DMHNLYYZ 1. + PHNLYYZ1 DMHNLYVR -1. DMYVRYYZ -1. + PHNLYUL1 REVENUES -.02429 OBJECTIV .02429 + PHNLYUL1 PASSNGRS -1. DMHNLYUL 1. + PHNLYUL1 DMHNLYVR -1. DMYULYVR -1. + PLASTYO1 REVENUES -.02076 OBJECTIV .02076 + PLASTYO1 PASSNGRS -1. DMLASTYO 1. + PLASTYO1 DMLASSEA -1. DMSEATYO -1. + PLASTPE1 REVENUES -.01956 OBJECTIV .01956 + PLASTPE1 PASSNGRS -1. DMLASTPE 1. + PLASTPE1 DMLASSEA -1. DMSEATPE -1. + PLAXLON0 REVENUES .25019 OBJECTIV -.25019 + PLAXLON0 PASSNGRS 1. RPMILES 5.7422 + PLAXLON0 LFRPMASM -5.7422 DMLAXLON 1. + PLAXLON0 LF1026S1 -1. LF1026S2 -1. + PLAXLON6 REVENUES -.02843 OBJECTIV .02843 + PLAXLON6 PASSNGRS -1. DMLAXLON 1. + PLAXLON6 DMLAXSEA -1. DMLONSEA -1. + PLAXLON7 REVENUES -.03096 OBJECTIV .03096 + PLAXLON7 PASSNGRS -1. DMLAXLON 1. + PLAXLON7 DMLAXYVR -1. DMLONYVR -1. + PLAXPAR0 REVENUES .25943 OBJECTIV -.25943 + PLAXPAR0 PASSNGRS 1. RPMILES 5.96857 + PLAXPAR0 LFRPMASM -5.96857 DMLAXPAR 1. + PLAXPAR0 LF1026S1 -1. LF1026S2 -1. + PLAXPAR0 LF1026S3 -1. + PLAXPAR6 REVENUES -.02868 OBJECTIV .02868 + PLAXPAR6 PASSNGRS -1. DMLAXPAR 1. + PLAXPAR6 DMLAXSEA -1. DMPARSEA -1. + PLAXPAR7 REVENUES -.03123 OBJECTIV .03123 + PLAXPAR7 PASSNGRS -1. DMLAXPAR 1. + PLAXPAR7 DMLAXYVR -1. DMPARYVR -1. + PBURLON1 REVENUES -.02834 OBJECTIV .02834 + PBURLON1 PASSNGRS -1. DMBURLON 1. + PBURLON1 DMBURSEA -1. DMLONSEA -1. + PBURPAR1 REVENUES -.02859 OBJECTIV .02859 + PBURPAR1 PASSNGRS -1. DMBURPAR 1. + PBURPAR1 DMBURSEA -1. DMPARSEA -1. + PLONONT1 REVENUES -.02984 OBJECTIV .02984 + PLONONT1 PASSNGRS -1. DMLONONT 1. + PLONONT1 DMLONSEA -1. DMONTSEA -1. + PLONOAK1 REVENUES -.0197 OBJECTIV .0197 + PLONOAK1 PASSNGRS -1. DMLONOAK 1. + PLONOAK1 DMLONSEA -1. DMOAKSEA -1. + POAKPAR1 REVENUES -.0198 OBJECTIV .0198 + POAKPAR1 PASSNGRS -1. DMOAKPAR 1. + POAKPAR1 DMOAKSEA -1. DMPARSEA -1. + POAKTYO1 REVENUES -.028 OBJECTIV .028 + POAKTYO1 PASSNGRS -1. DMOAKTYO 1. + POAKTYO1 DMOAKSEA -1. DMSEATYO -1. + POAKTPE1 REVENUES -.02654 OBJECTIV .02654 + POAKTPE1 PASSNGRS -1. DMOAKTPE 1. + POAKTPE1 DMOAKSEA -1. DMSEATPE -1. + PONTPAR1 REVENUES -.03012 OBJECTIV .03012 + PONTPAR1 PASSNGRS -1. DMONTPAR 1. + PONTPAR1 DMONTSEA -1. DMPARSEA -1. + PONTTYO1 REVENUES -.02605 OBJECTIV .02605 + PONTTYO1 PASSNGRS -1. DMONTTYO 1. + PONTTYO1 DMONTSEA -1. DMSEATYO -1. + PONTTPE1 REVENUES -.02451 OBJECTIV .02451 + PONTTPE1 PASSNGRS -1. DMONTTPE 1. + PONTTPE1 DMONTSEA -1. DMSEATPE -1. + PPARSFO1 REVENUES -.01968 OBJECTIV .01968 + PPARSFO1 PASSNGRS -1. DMPARSFO 1. + PPARSFO1 DMPARSEA -1. DMSEASFO -1. + PRNOTYO1 REVENUES -.02132 OBJECTIV .02132 + PRNOTYO1 PASSNGRS -1. DMRNOTYO 1. + PRNOTYO1 DMRNOSEA -1. DMSEATYO -1. + PRNOTPE1 REVENUES -.0202 OBJECTIV .0202 + PRNOTPE1 PASSNGRS -1. DMRNOTPE 1. + PRNOTPE1 DMRNOSEA -1. DMSEATPE -1. + PTPEYWG1 REVENUES -.03219 OBJECTIV .03219 + PTPEYWG1 PASSNGRS -1. DMTPEYWG 1. + PTPEYWG1 DMTPEYVR -1. DMYVRYWG -1. + PTPEYYZ1 REVENUES -.04208 OBJECTIV .04208 + PTPEYYZ1 PASSNGRS -1. DMTPEYYZ 1. + PTPEYYZ1 DMTPEYVR -1. DMYVRYYZ -1. + PTPEYUL1 REVENUES -.05292 OBJECTIV .05292 + PTPEYUL1 PASSNGRS -1. DMTPEYUL 1. + PTPEYUL1 DMTPEYVR -1. DMYULYVR -1. + PTYOYUL1 REVENUES -.0427 OBJECTIV .0427 + PTYOYUL1 PASSNGRS -1. DMTYOYUL 1. + PTYOYUL1 DMTYOYVR -1. DMYULYVR -1. + PTYOYYZ1 REVENUES -.03452 OBJECTIV .03452 + PTYOYYZ1 PASSNGRS -1. DMTYOYYZ 1. + PTYOYYZ1 DMTYOYVR -1. DMYVRYYZ -1. + PTYOYWG1 REVENUES -.02803 OBJECTIV .02803 + PTYOYWG1 PASSNGRS -1. DMTYOYWG 1. + PTYOYWG1 DMTYOYVR -1. DMYVRYWG -1. + PLAXONT0 REVENUES .01351 OBJECTIV -.01351 + PLAXONT0 PASSNGRS 1. RPMILES .04564 + PLAXONT0 LFRPMASM -.04564 DMLAXONT 1. + PLAXONT0 LF1050S2 -1. + GRDTIMO1 FLAV*1 1. ACOCOSTS .457 + GRDTIMO1 OBJECTIV .457 + GRDTIMN1 FLAV*1 1. ACOCOSTS -.13333 + GRDTIMN1 OBJECTIV -.13333 + GRDTIMO2 FLAV*2 1. ACOCOSTS .318 + GRDTIMO2 OBJECTIV .318 + GRDTIMN2 FLAV*2 1. ACOCOSTS -.10692 + GRDTIMN2 OBJECTIV -.10692 + GRDTIMO3 FLAV*3 1. ACOCOSTS .206 + GRDTIMO3 OBJECTIV .206 + GRDTIMN3 FLAV*3 1. + GRDTIMO4 FLAV*4 1. ACOCOSTS .25 + GRDTIMO4 OBJECTIV .25 + GRDTIMN4 FLAV*4 1. + GRDTIMO5 FLAV*5 1. ACOCOSTS .163 + GRDTIMO5 OBJECTIV .163 + GRDTIMN5 FLAV*5 1. + GRDTIMO6 FLAV*6 1. ACOCOSTS .095 + GRDTIMO6 OBJECTIV .095 + GRDTIMN6 FLAV*6 1. + N1001AC1 ACOCOSTS 14.0062 OBJECTIV 14.0062 + N1001AC1 SYSTDEPT 1. ACMILES 2.67711 + N1001AC1 ASMILES 1086.90576 LFRPMASM 760.834032 + N1001AC1 FLAV*1 5.53037 LF1001S1 284. + N1001AC1 MSHNLSEA 1. P1001X32 67. + N1001AC2 ACOCOSTS 10.44277 OBJECTIV 10.44277 + N1001AC2 SYSTDEPT 1. ACMILES 2.67711 + N1001AC2 ASMILES 690.69434 LFRPMASM 483.486038 + N1001AC2 FLAV*2 5.5491 LF1001S1 180. + N1001AC2 MSHNLSEA 1. P1001X32 67. + N1001AC3 ACOCOSTS 7.65023 OBJECTIV 7.65023 + N1001AC3 SYSTDEPT 1. ACMILES 2.67711 + N1001AC3 ASMILES 492.58813 LFRPMASM 344.811691 + N1001AC3 FLAV*3 5.74745 LF1001S1 128. + N1001AC3 MSHNLSEA 1. P1001X32 67. + N1002AC1 ACOCOSTS 16.89049 OBJECTIV 16.89049 + N1002AC1 SYSTDEPT 2. ACMILES 2.80333 + N1002AC1 ASMILES 1138.1499 LFRPMASM 796.70493 + N1002AC1 FLAV*1 6.41046 LF1002S1 243. + N1002AC1 LF1002S2 284. MSSEAYVR 1. + N1002AC1 MSHNLYVR 1. MSHNLSEA 1. + N1002AC1 P1002X32 109. P1002X42 40. + N1002AC1 P1002X43 67. + N1002AC2 ACOCOSTS 12.39107 OBJECTIV 12.39107 + N1002AC2 SYSTDEPT 2. ACMILES 2.80333 + N1002AC2 ASMILES 723.25806 LFRPMASM 506.280642 + N1002AC2 FLAV*2 6.35099 LF1002S1 154. + N1002AC2 LF1002S2 180. MSSEAYVR 1. + N1002AC2 MSHNLYVR 1. MSHNLSEA 1. + N1002AC2 P1002X32 109. P1002X42 40. + N1002AC2 P1002X43 67. + N1002AC3 ACOCOSTS 8.97425 OBJECTIV 8.97425 + N1002AC3 SYSTDEPT 2. ACMILES 2.80333 + N1002AC3 ASMILES 515.81177 LFRPMASM 361.068239 + N1002AC3 FLAV*3 6.41862 LF1002S1 110. + N1002AC3 LF1002S2 128. MSSEAYVR 1. + N1002AC3 MSHNLYVR 1. MSHNLSEA 1. + N1002AC3 P1002X32 109. P1002X42 40. + N1002AC3 P1002X43 67. + N1003AC1 ACOCOSTS 13.46672 OBJECTIV 13.46672 + N1003AC1 SYSTDEPT 1. ACMILES 2.55338 + N1003AC1 ASMILES 1036.67114 LFRPMASM 725.669798 + N1003AC1 FLAV*1 5.30481 LF1003S1 243. + N1003AC1 MSHNLLAX 1. P1003X32 118. + N1003AC2 ACOCOSTS 10.03075 OBJECTIV 10.03075 + N1003AC2 SYSTDEPT 1. ACMILES 2.55338 + N1003AC2 ASMILES 658.77124 LFRPMASM 461.139868 + N1003AC2 FLAV*2 5.31883 LF1003S1 154. + N1003AC2 MSHNLLAX 1. P1003X32 118. + N1003AC3 ACOCOSTS 7.34337 OBJECTIV 7.34337 + N1003AC3 SYSTDEPT 1. ACMILES 2.55338 + N1003AC3 ASMILES 469.82129 LFRPMASM 328.874903 + N1003AC3 FLAV*3 5.50122 LF1003S1 110. + N1003AC3 MSHNLLAX 1. P1003X32 118. + N1004AC1 ACOCOSTS 17.27667 OBJECTIV 17.27667 + N1004AC1 SYSTDEPT 2. ACMILES 2.8919 + N1004AC1 ASMILES 1174.11182 LFRPMASM 821.878274 + N1004AC1 FLAV*1 6.57193 LF1004S1 243. + N1004AC1 LF1004S2 243. MSLAXSFO 1. + N1004AC1 MSHNLSFO 1. MSHNLLAX 1. + N1004AC1 P1004X32 168. P1004X43 118. + N1004AC2 ACOCOSTS 12.68603 OBJECTIV 12.68603 + N1004AC2 SYSTDEPT 2. ACMILES 2.8919 + N1004AC2 ASMILES 746.11035 LFRPMASM 522.277245 + N1004AC2 FLAV*2 6.51583 LF1004S1 154. + N1004AC2 LF1004S2 154. MSLAXSFO 1. + N1004AC2 MSHNLSFO 1. MSHNLLAX 1. + N1004AC2 P1004X32 168. P1004X43 118. + N1004AC3 ACOCOSTS 9.19391 OBJECTIV 9.19391 + N1004AC3 SYSTDEPT 2. ACMILES 2.8919 + N1004AC3 ASMILES 532.10986 LFRPMASM 372.476902 + N1004AC3 FLAV*3 6.59488 LF1004S1 110. + N1004AC3 LF1004S2 110. MSLAXSFO 1. + N1004AC3 MSHNLSFO 1. MSHNLLAX 1. + N1004AC3 P1004X32 168. P1004X43 118. + N1005AC3 ACOCOSTS 9.1777 OBJECTIV 9.1777 + N1005AC3 SYSTDEPT 2. ACMILES 2.88537 + N1005AC3 ASMILES 530.90723 LFRPMASM 371.635061 + N1005AC3 FLAV*3 6.58188 LF1005S1 128. + N1005AC3 LF1005S2 128. MSBUROAK 1. + N1005AC3 MSHNLOAK 1. + N1105AC3 ACOCOSTS 9.19396 OBJECTIV 9.19396 + N1105AC3 SYSTDEPT 2. ACMILES 2.89192 + N1105AC3 ASMILES 532.11377 LFRPMASM 372.479639 + N1105AC3 FLAV*3 6.59493 LF1105S1 128. + N1105AC3 LF1105S2 110. MSLAXOAK 1. + N1105AC3 MSHNLOAK 1. MSHNLLAX 1. + N1105AC3 P1105X32 46. P1105X43 118. + N1006AC3 ACOCOSTS 9.3651 OBJECTIV 9.3651 + N1006AC3 SYSTDEPT 2. ACMILES 2.96093 + N1006AC3 ASMILES 544.81104 LFRPMASM 381.367728 + N1006AC3 FLAV*3 6.73225 LF1006S1 128. + N1006AC3 LF1006S2 128. MSOAKONT 1. + N1006AC3 MSHNLOAK 1. + N1007AC1 ACOCOSTS 27.19154 OBJECTIV 27.19154 + N1007AC1 SYSTDEPT 2. ACMILES 5.16595 + N1007AC1 ASMILES 2097.37598 LFRPMASM 1468.163186 + N1007AC1 FLAV*1 10.71753 LF1007S1 284. + N1007AC1 LF1007S2 284. MSBOSSEA 1. + N1007AC1 MSBOSHNL 1. MSHNLSEA 1. + N1007AC1 P1007X43 67. + N1007AC2 ACOCOSTS 20.25861 OBJECTIV 20.25861 + N1007AC2 SYSTDEPT 2. ACMILES 5.16595 + N1007AC2 ASMILES 1332.81494 LFRPMASM 932.970458 + N1007AC2 FLAV*2 10.74784 LF1007S1 180. + N1007AC2 LF1007S2 180. MSBOSSEA 1. + N1007AC2 MSBOSHNL 1. MSHNLSEA 1. + N1007AC2 P1007X43 67. + N1007AC3 ACOCOSTS 14.83356 OBJECTIV 14.83356 + N1007AC3 SYSTDEPT 2. ACMILES 5.16595 + N1007AC3 ASMILES 950.53516 LFRPMASM 665.374612 + N1007AC3 FLAV*3 11.12024 LF1007S1 128. + N1007AC3 LF1007S2 128. MSBOSSEA 1. + N1007AC3 MSBOSHNL 1. MSHNLSEA 1. + N1007AC3 P1007X43 67. + N1008AC1 ACOCOSTS 11.99082 OBJECTIV 11.99082 + N1008AC1 SYSTDEPT 3. ACMILES 1.14422 + N1008AC1 ASMILES 464.55518 LFRPMASM 325.188626 + N1008AC1 FLAV*1 4.03592 LF1008S1 243. + N1008AC1 LF1008S2 243. LF1008S3 243. + N1008AC1 MSSEAYVR 1. MSSFOYVR 1. + N1008AC1 MSLAXYVR 1. MSSEASFO 1. + N1008AC1 MSLAXSEA 1. MSLAXSFO 1. + N1008AC1 P1008X32 109. P1008X42 71. + N1008AC1 P1008X52 77. P1008X34 170. + N1008AC1 P1008X53 139. P1008X54 168. + N1008AC2 ACOCOSTS 8.39427 OBJECTIV 8.39427 + N1008AC2 SYSTDEPT 3. ACMILES 1.14422 + N1008AC2 ASMILES 295.20972 LFRPMASM 206.646804 + N1008AC2 FLAV*2 3.8304 LF1008S1 154. + N1008AC2 LF1008S2 154. LF1008S3 154. + N1008AC2 MSSEAYVR 1. MSSFOYVR 1. + N1008AC2 MSLAXYVR 1. MSSEASFO 1. + N1008AC2 MSLAXSEA 1. MSLAXSFO 1. + N1008AC2 P1008X32 109. P1008X42 71. + N1008AC2 P1008X52 77. P1008X34 170. + N1008AC2 P1008X53 139. P1008X54 168. + N1008AC3 ACOCOSTS 5.87068 OBJECTIV 5.87068 + N1008AC3 SYSTDEPT 3. ACMILES 1.14422 + N1008AC3 ASMILES 210.53731 LFRPMASM 147.376117 + N1008AC3 FLAV*3 3.53701 LF1008S1 110. + N1008AC3 LF1008S2 110. LF1008S3 110. + N1008AC3 MSSEAYVR 1. MSSFOYVR 1. + N1008AC3 MSLAXYVR 1. MSSEASFO 1. + N1008AC3 MSLAXSEA 1. MSLAXSFO 1. + N1008AC3 P1008X32 109. P1008X42 71. + N1008AC3 P1008X52 77. P1008X34 170. + N1008AC3 P1008X53 139. P1008X54 168. + N1008AC4 ACOCOSTS 3.99147 OBJECTIV 3.99147 + N1008AC4 SYSTDEPT 3. ACMILES 1.14422 + N1008AC4 ASMILES 109.84555 LFRPMASM 76.891885 + N1008AC4 FLAV*4 3.40841 LF1008S1 57. + N1008AC4 LF1008S2 57. LF1008S3 57. + N1008AC4 MSSEAYVR 1. MSSFOYVR 1. + N1008AC4 MSLAXYVR 1. MSSEASFO 1. + N1008AC4 MSLAXSEA 1. MSLAXSFO 1. + N1008AC4 P1008X32 109. P1008X42 71. + N1008AC4 P1008X52 77. P1008X34 170. + N1008AC4 P1008X53 139. P1008X54 168. + N1008AC5 ACOCOSTS 4.41133 OBJECTIV 4.41133 + N1008AC5 SYSTDEPT 3. ACMILES 1.14422 + N1008AC5 ASMILES 141.8838 LFRPMASM 99.31866 + N1008AC5 FLAV*5 3.42334 LF1008S1 74. + N1008AC5 LF1008S2 74. LF1008S3 74. + N1008AC5 MSSEAYVR 1. MSSFOYVR 1. + N1008AC5 MSLAXYVR 1. MSSEASFO 1. + N1008AC5 MSLAXSEA 1. MSLAXSFO 1. + N1008AC5 P1008X32 109. P1008X42 71. + N1008AC5 P1008X52 77. P1008X34 170. + N1008AC5 P1008X53 139. P1008X54 168. + N1008AC6 ACOCOSTS 3.43737 OBJECTIV 3.43737 + N1008AC6 SYSTDEPT 3. ACMILES 1.14422 + N1008AC6 ASMILES 108.70131 LFRPMASM 76.090917 + N1008AC6 FLAV*6 3.59515 LF1008S1 56. + N1008AC6 LF1008S2 56. LF1008S3 56. + N1008AC6 MSSEAYVR 1. MSSFOYVR 1. + N1008AC6 MSLAXYVR 1. MSSEASFO 1. + N1008AC6 MSLAXSEA 1. MSLAXSFO 1. + N1008AC6 P1008X32 109. P1008X42 71. + N1008AC6 P1008X52 77. P1008X34 170. + N1008AC6 P1008X53 139. P1008X54 168. + N1009AC1 ACOCOSTS 9.38535 OBJECTIV 9.38535 + N1009AC1 SYSTDEPT 2. ACMILES 1.08196 + N1009AC1 ASMILES 439.27612 LFRPMASM 307.493284 + N1009AC1 FLAV*1 3.27241 LF1009S1 243. + N1009AC1 LF1009S2 243. MSSEAYVR 1. + N1009AC1 MSLAXYVR 1. MSLAXSEA 1. + N1009AC1 P1009X32 109. P1009X42 77. + N1009AC1 P1009X43 139. + N1009AC2 ACOCOSTS 6.65893 OBJECTIV 6.65893 + N1009AC2 SYSTDEPT 2. ACMILES 1.08196 + N1009AC2 ASMILES 279.14575 LFRPMASM 195.402025 + N1009AC2 FLAV*2 3.14753 LF1009S1 154. + N1009AC2 LF1009S2 154. MSSEAYVR 1. + N1009AC2 MSLAXYVR 1. MSLAXSEA 1. + N1009AC2 P1009X32 109. P1009X42 77. + N1009AC2 P1009X43 139. + N1009AC3 ACOCOSTS 4.70526 OBJECTIV 4.70526 + N1009AC3 SYSTDEPT 2. ACMILES 1.08196 + N1009AC3 ASMILES 199.08081 LFRPMASM 139.356567 + N1009AC3 FLAV*3 2.9931 LF1009S1 110. + N1009AC3 LF1009S2 110. MSSEAYVR 1. + N1009AC3 MSLAXYVR 1. MSLAXSEA 1. + N1009AC3 P1009X32 109. P1009X42 77. + N1009AC3 P1009X43 139. + N1009AC4 ACOCOSTS 3.27055 OBJECTIV 3.27055 + N1009AC4 SYSTDEPT 2. ACMILES 1.08196 + N1009AC4 ASMILES 103.86824 LFRPMASM 72.707768 + N1009AC4 FLAV*4 2.90163 LF1009S1 57. + N1009AC4 LF1009S2 57. MSSEAYVR 1. + N1009AC4 MSLAXYVR 1. MSLAXSEA 1. + N1009AC4 P1009X32 109. P1009X42 77. + N1009AC4 P1009X43 139. + N1009AC5 ACOCOSTS 3.58556 OBJECTIV 3.58556 + N1009AC5 SYSTDEPT 2. ACMILES 1.08196 + N1009AC5 ASMILES 134.16312 LFRPMASM 93.914184 + N1009AC5 FLAV*5 2.92913 LF1009S1 74. + N1009AC5 LF1009S2 74. MSSEAYVR 1. + N1009AC5 MSLAXYVR 1. MSLAXSEA 1. + N1009AC5 P1009X32 109. P1009X42 77. + N1009AC5 P1009X43 139. + N1010AC1 ACOCOSTS 2.8843 OBJECTIV 2.8843 + N1010AC1 SYSTDEPT 1. ACMILES .12622 + N1010AC1 ASMILES 51.24359 LFRPMASM 35.870513 + N1010AC1 FLAV*1 .88009 LF1010S1 243. + N1010AC1 MSSEAYVR 1. P1010X32 109. + N1010AC2 ACOCOSTS 1.9483 OBJECTIV 1.9483 + N1010AC2 SYSTDEPT 1. ACMILES .12622 + N1010AC2 ASMILES 32.56366 LFRPMASM 22.794562 + N1010AC2 FLAV*2 .80189 LF1010S1 154. + N1010AC2 MSSEAYVR 1. P1010X32 109. + N1010AC3 ACOCOSTS 1.32401 OBJECTIV 1.32401 + N1010AC3 SYSTDEPT 1. ACMILES .12622 + N1010AC3 ASMILES 23.22369 LFRPMASM 16.256583 + N1010AC3 FLAV*3 .67117 LF1010S1 110. + N1010AC3 MSSEAYVR 1. P1010X32 109. + N1010AC4 ACOCOSTS .84307 OBJECTIV .84307 + N1010AC4 SYSTDEPT 1. ACMILES .12622 + N1010AC4 ASMILES 12.11671 LFRPMASM 8.481697 + N1010AC4 FLAV*4 .6329 LF1010S1 57. + N1010AC4 MSSEAYVR 1. P1010X32 109. + N1010AC5 ACOCOSTS .95496 OBJECTIV .95496 + N1010AC5 SYSTDEPT 1. ACMILES .12622 + N1010AC5 ASMILES 15.65075 LFRPMASM 10.955525 + N1010AC5 FLAV*5 .62384 LF1010S1 74. + N1010AC5 MSSEAYVR 1. P1010X32 109. + N1010AC6 ACOCOSTS .67624 OBJECTIV .67624 + N1010AC6 SYSTDEPT 1. ACMILES .12622 + N1010AC6 ASMILES 11.9905 LFRPMASM 8.39335 + N1010AC6 FLAV*6 .61067 LF1010S1 56. + N1010AC6 MSSEAYVR 1. P1010X32 109. + N1011AC1 ACOCOSTS 9.10651 OBJECTIV 9.10651 + N1011AC1 SYSTDEPT 2. ACMILES 1.01801 + N1011AC1 ASMILES 413.31152 LFRPMASM 289.318064 + N1011AC1 FLAV*1 3.15583 LF1011S1 243. + N1011AC1 LF1011S2 243. MSSEASFO 1. + N1011AC1 MSLAXSEA 1. MSLAXSFO 1. + N1011AC1 P1011X23 170. P1011X42 139. + N1011AC1 P1011X43 168. + N1011AC2 ACOCOSTS 6.44597 OBJECTIV 6.44597 + N1011AC2 SYSTDEPT 2. ACMILES 1.01801 + N1011AC2 ASMILES 262.64624 LFRPMASM 183.852368 + N1011AC2 FLAV*2 3.02851 LF1011S1 154. + N1011AC2 LF1011S2 154. MSSEASFO 1. + N1011AC2 MSLAXSEA 1. MSLAXSFO 1. + N1011AC2 P1011X23 170. P1011X42 139. + N1011AC2 P1011X43 168. + N1011AC3 ACOCOSTS 4.54666 OBJECTIV 4.54666 + N1011AC3 SYSTDEPT 2. ACMILES 1.01801 + N1011AC3 ASMILES 187.31361 LFRPMASM 131.119527 + N1011AC3 FLAV*3 2.86584 LF1011S1 110. + N1011AC3 LF1011S2 110. MSSEASFO 1. + N1011AC3 MSLAXSEA 1. MSLAXSFO 1. + N1011AC3 P1011X23 170. P1011X42 139. + N1011AC3 P1011X43 168. + N1011AC4 ACOCOSTS 3.1484 OBJECTIV 3.1484 + N1011AC4 SYSTDEPT 2. ACMILES 1.01801 + N1011AC4 ASMILES 97.72881 LFRPMASM 68.410167 + N1011AC4 FLAV*4 2.77551 LF1011S1 57. + N1011AC4 LF1011S2 57. MSSEASFO 1. + N1011AC4 MSLAXSEA 1. MSLAXSFO 1. + N1011AC4 P1011X23 170. P1011X42 139. + N1011AC4 P1011X43 168. + N1011AC5 ACOCOSTS 3.45638 OBJECTIV 3.45638 + N1011AC5 SYSTDEPT 2. ACMILES 1.01801 + N1011AC5 ASMILES 126.23305 LFRPMASM 88.363135 + N1011AC5 FLAV*5 2.7995 LF1011S1 74. + N1011AC5 LF1011S2 74. MSSEASFO 1. + N1011AC5 MSLAXSEA 1. MSLAXSFO 1. + N1011AC5 P1011X23 170. P1011X42 139. + N1011AC5 P1011X43 168. + N1011AC6 ACOCOSTS 2.76114 OBJECTIV 2.76114 + N1011AC6 SYSTDEPT 2. ACMILES 1.01801 + N1011AC6 ASMILES 96.7108 LFRPMASM 67.69756 + N1011AC6 FLAV*6 2.98447 LF1011S1 56. + N1011AC6 LF1011S2 56. MSSEASFO 1. + N1011AC6 MSLAXSEA 1. MSLAXSFO 1. + N1011AC6 P1011X23 170. P1011X42 139. + N1011AC6 P1011X43 168. + N1012AC1 ACOCOSTS 6.50105 OBJECTIV 6.50105 + N1012AC1 SYSTDEPT 1. ACMILES .95575 + N1012AC1 ASMILES 388.03247 LFRPMASM 271.622729 + N1012AC1 FLAV*1 2.39232 LF1012S1 243. + N1012AC1 MSLAXSEA 1. P1012X32 139. + N1012AC2 ACOCOSTS 4.71063 OBJECTIV 4.71063 + N1012AC2 SYSTDEPT 1. ACMILES .95575 + N1012AC2 ASMILES 246.58224 LFRPMASM 172.607568 + N1012AC2 FLAV*2 2.34564 LF1012S1 154. + N1012AC2 MSLAXSEA 1. P1012X32 139. + N1012AC3 ACOCOSTS 3.38125 OBJECTIV 3.38125 + N1012AC3 SYSTDEPT 1. ACMILES .95575 + N1012AC3 ASMILES 175.85712 LFRPMASM 123.099984 + N1012AC3 FLAV*3 2.32193 LF1012S1 110. + N1012AC3 MSLAXSEA 1. P1012X32 139. + N1012AC4 ACOCOSTS 2.42747 OBJECTIV 2.42747 + N1012AC4 SYSTDEPT 1. ACMILES .95575 + N1012AC4 ASMILES 91.7515 LFRPMASM 64.22605 + N1012AC4 FLAV*4 2.26873 LF1012S1 57. + N1012AC4 MSLAXSEA 1. P1012X32 139. + N1012AC5 MSLAXSEA 1. P1012X32 139. + N1012AC5 ASMILES 118.51237 LFRPMASM 82.958659 + N1012AC5 FLAV*5 2.30529 SYSTDEPT 1. + N1012AC5 ACMILES .95575 ACOCOSTS 2.6306 + N1012AC5 OBJECTIV 2.6306 LF1012S1 74. + N1013AC3 ACOCOSTS 4.58479 OBJECTIV 4.58479 + N1013AC3 SYSTDEPT 2. ACMILES 1.03338 + N1013AC3 ASMILES 190.14275 LFRPMASM 133.099925 + N1013AC3 FLAV*3 2.89643 LF1013S1 128. + N1013AC3 LF1013S2 128. MSOAKSEA 1. + N1013AC3 MSONTSEA 1. MSOAKONT 1. + N1013AC3 P1013X32 43. P1013X42 25. + N1013AC4 ACOCOSTS 3.17776 OBJECTIV 3.17776 + N1013AC4 SYSTDEPT 2. ACMILES 1.03338 + N1013AC4 ASMILES 99.20493 LFRPMASM 69.443451 + N1013AC4 FLAV*4 2.80583 LF1013S1 67. + N1013AC4 LF1013S2 67. MSOAKSEA 1. + N1013AC4 MSONTSEA 1. MSOAKONT 1. + N1013AC4 P1013X32 43. P1013X42 25. + N1013AC5 ACOCOSTS 3.48744 OBJECTIV 3.48744 + N1013AC5 SYSTDEPT 2. ACMILES 1.03338 + N1013AC5 ASMILES 128.13968 LFRPMASM 89.697776 + N1013AC5 FLAV*5 2.83067 LF1013S1 86. + N1013AC5 LF1013S2 86. MSOAKSEA 1. + N1013AC5 MSONTSEA 1. MSOAKONT 1. + N1013AC5 P1013X32 43. P1013X42 25. + N1013AC6 ACOCOSTS 2.78943 OBJECTIV 2.78943 + N1013AC6 SYSTDEPT 2. ACMILES 1.03338 + N1013AC6 ASMILES 98.17149 LFRPMASM 68.720043 + N1013AC6 FLAV*6 3.01988 LF1013S1 66. + N1013AC6 LF1013S2 66. MSOAKSEA 1. + N1013AC6 MSONTSEA 1. MSOAKONT 1. + N1013AC6 P1013X32 43. P1013X42 25. + N1014AC3 ACOCOSTS 4.4958 OBJECTIV 4.4958 + N1014AC3 SYSTDEPT 2. ACMILES .9975 + N1014AC3 ASMILES 183.53999 LFRPMASM 128.477993 + N1014AC3 FLAV*3 2.82502 LF1014S1 128. + N1014AC3 LF1014S2 128. MSOAKSEA 1. + N1014AC3 MSBURSEA 1. MSBUROAK 1. + N1014AC3 P1014X32 43. + N1014AC4 ACOCOSTS 3.10922 OBJECTIV 3.10922 + N1014AC4 SYSTDEPT 2. ACMILES .9975 + N1014AC4 ASMILES 95.75999 LFRPMASM 67.031993 + N1014AC4 FLAV*4 2.73507 LF1014S1 67. + N1014AC4 LF1014S2 67. MSOAKSEA 1. + N1014AC4 MSBURSEA 1. MSBUROAK 1. + N1014AC4 P1014X32 43. + N1014AC5 ACOCOSTS 3.41495 OBJECTIV 3.41495 + N1014AC5 SYSTDEPT 2. ACMILES .9975 + N1014AC5 ASMILES 123.68999 LFRPMASM 86.582993 + N1014AC5 FLAV*5 2.75793 LF1014S1 86. + N1014AC5 LF1014S2 86. MSOAKSEA 1. + N1014AC5 MSBURSEA 1. MSBUROAK 1. + N1014AC5 P1014X32 43. + N1014AC6 ACOCOSTS 2.7234 OBJECTIV 2.7234 + N1014AC6 SYSTDEPT 2. ACMILES .9975 + N1014AC6 ASMILES 94.7625 LFRPMASM 66.33375 + N1014AC6 FLAV*6 2.93724 LF1014S1 66. + N1014AC6 LF1014S2 66. MSOAKSEA 1. + N1014AC6 MSBURSEA 1. MSBUROAK 1. + N1014AC6 P1014X32 43. + N1015AC3 ACOCOSTS 4.60806 OBJECTIV 4.60806 + N1015AC3 SYSTDEPT 2. ACMILES 1.04277 + N1015AC3 ASMILES 191.86919 LFRPMASM 134.308433 + N1015AC3 FLAV*3 2.91511 LF1015S1 110. + N1015AC3 LF1015S2 128. MSSEASFO 1. + N1015AC3 MSONTSEA 1. MSONTSFO 1. + N1015AC3 P1015X23 170. P1015X42 25. + N1015AC3 P1015X43 69. + N1015AC4 ACOCOSTS 3.19568 OBJECTIV 3.19568 + N1015AC4 SYSTDEPT 2. ACMILES 1.04277 + N1015AC4 ASMILES 100.10562 LFRPMASM 70.073934 + N1015AC4 FLAV*4 2.82434 LF1015S1 57. + N1015AC4 LF1015S2 67. MSSEASFO 1. + N1015AC4 MSONTSEA 1. MSONTSFO 1. + N1015AC4 P1015X23 170. P1015X42 25. + N1015AC4 P1015X43 69. + N1015AC5 ACOCOSTS 3.50639 OBJECTIV 3.50639 + N1015AC5 SYSTDEPT 2. ACMILES 1.04277 + N1015AC5 ASMILES 129.30312 LFRPMASM 90.512184 + N1015AC5 FLAV*5 2.84969 LF1015S1 74. + N1015AC5 LF1015S2 86. MSSEASFO 1. + N1015AC5 MSONTSEA 1. MSONTSFO 1. + N1015AC5 P1015X23 170. P1015X42 25. + N1015AC5 P1015X43 69. + N1015AC6 ACOCOSTS 2.80669 OBJECTIV 2.80669 + N1015AC6 SYSTDEPT 2. ACMILES 1.04277 + N1015AC6 ASMILES 99.06287 LFRPMASM 69.344009 + N1015AC6 FLAV*6 3.04149 LF1015S1 56. + N1015AC6 LF1015S2 66. MSSEASFO 1. + N1015AC6 MSONTSEA 1. MSONTSFO 1. + N1015AC6 P1015X23 170. P1015X42 25. + N1015AC6 P1015X43 69. + N1016AC3 ACOCOSTS 4.51701 OBJECTIV 4.51701 + N1016AC3 SYSTDEPT 2. ACMILES 1.00605 + N1016AC3 ASMILES 185.11406 LFRPMASM 129.579842 + N1016AC3 FLAV*3 2.84205 LF1016S1 110. + N1016AC3 LF1016S2 128. MSSEASFO 1. + N1016AC3 MSBURSEA 1. MSBURSFO 1. + N1016AC3 P1016X23 170. P1016X43 81. + N1016AC4 ACOCOSTS 3.12556 OBJECTIV 3.12556 + N1016AC4 SYSTDEPT 2. ACMILES 1.00605 + N1016AC4 ASMILES 96.58124 LFRPMASM 67.606868 + N1016AC4 FLAV*4 2.75194 LF1016S1 57. + N1016AC4 LF1016S2 67. MSSEASFO 1. + N1016AC4 MSBURSEA 1. MSBURSFO 1. + N1016AC4 P1016X23 170. P1016X43 81. + N1016AC5 ACOCOSTS 3.43223 OBJECTIV 3.43223 + N1016AC5 SYSTDEPT 2. ACMILES 1.00605 + N1016AC5 ASMILES 124.75075 LFRPMASM 87.325525 + N1016AC5 FLAV*5 2.77527 LF1016S1 74. + N1016AC5 LF1016S2 86. MSSEASFO 1. + N1016AC5 MSBURSEA 1. MSBURSFO 1. + N1016AC5 P1016X23 170. P1016X43 81. + N1016AC6 ACOCOSTS 2.73914 OBJECTIV 2.73914 + N1016AC6 SYSTDEPT 2. ACMILES 1.00605 + N1016AC6 ASMILES 95.57518 LFRPMASM 66.902626 + N1016AC6 FLAV*6 2.95694 LF1016S1 56. + N1016AC6 LF1016S2 66. MSSEASFO 1. + N1016AC6 MSBURSEA 1. MSBURSFO 1. + N1016AC6 P1016X23 170. P1016X43 81. + N1017AC3 ACOCOSTS 4.52672 OBJECTIV 4.52672 + N1017AC3 SYSTDEPT 2. ACMILES 1.00997 + N1017AC3 ASMILES 185.8343 LFRPMASM 130.08401 + N1017AC3 FLAV*3 2.84984 LF1017S1 128. + N1017AC3 LF1017S2 128. MSOAKSEA 1. + N1017AC3 MSLAXSEA 1. MSLAXOAK 1. + N1017AC3 P1017X32 43. P1017X42 139. + N1017AC3 P1017X43 46. + N1017AC4 ACOCOSTS 3.13304 OBJECTIV 3.13304 + N1017AC4 SYSTDEPT 2. ACMILES 1.00997 + N1017AC4 ASMILES 96.95699 LFRPMASM 67.869893 + N1017AC4 FLAV*4 2.75966 LF1017S1 67. + N1017AC4 LF1017S2 67. MSOAKSEA 1. + N1017AC4 MSLAXSEA 1. MSLAXOAK 1. + N1017AC4 P1017X32 43. P1017X42 139. + N1017AC4 P1017X43 46. + N1017AC5 ACOCOSTS 3.44014 OBJECTIV 3.44014 + N1017AC5 SYSTDEPT 2. ACMILES 1.00997 + N1017AC5 ASMILES 125.23611 LFRPMASM 87.665277 + N1017AC5 FLAV*5 2.78321 LF1017S1 86. + N1017AC5 LF1017S2 86. MSOAKSEA 1. + N1017AC5 MSLAXSEA 1. MSLAXOAK 1. + N1017AC5 P1017X32 43. P1017X42 139. + N1017AC5 P1017X43 46. + N1017AC6 ACOCOSTS 2.74634 OBJECTIV 2.74634 + N1017AC6 SYSTDEPT 2. ACMILES 1.00997 + N1017AC6 ASMILES 95.94705 LFRPMASM 67.162935 + N1017AC6 FLAV*6 2.96596 LF1017S1 66. + N1017AC6 LF1017S2 66. MSOAKSEA 1. + N1017AC6 MSLAXSEA 1. MSLAXOAK 1. + N1017AC6 P1017X32 43. P1017X42 139. + N1017AC6 P1017X43 46. + N1018AC1 ACOCOSTS 7.67623 OBJECTIV 7.67623 + N1018AC1 SYSTDEPT 2. ACMILES .68996 + N1018AC1 ASMILES 280.12378 LFRPMASM 196.086646 + N1018AC1 FLAV*1 2.5578 LF1018S1 243. + N1018AC1 LF1018S2 243. MSSEAYVR 1. + N1018AC1 MSRNOYVR 1. MSRNOSEA 1. + N1018AC1 P1018X32 109. P1018X43 85. + N1018AC2 ACOCOSTS 5.35357 OBJECTIV 5.35357 + N1018AC2 SYSTDEPT 2. ACMILES .68996 + N1018AC2 ASMILES 178.00974 LFRPMASM 124.606818 + N1018AC2 FLAV*2 2.41802 LF1018S1 154. + N1018AC2 LF1018S2 154. MSSEAYVR 1. + N1018AC2 MSRNOYVR 1. MSRNOSEA 1. + N1018AC2 P1018X32 109. P1018X43 85. + N1018AC3 ACOCOSTS 3.7331 OBJECTIV 3.7331 + N1018AC3 SYSTDEPT 2. ACMILES .68996 + N1018AC3 ASMILES 126.95268 LFRPMASM 88.866876 + N1018AC3 FLAV*3 2.21302 LF1018S1 110. + N1018AC3 LF1018S2 110. MSSEAYVR 1. + N1018AC3 MSRNOYVR 1. MSRNOSEA 1. + N1018AC3 P1018X32 109. P1018X43 85. + N1018AC4 ACOCOSTS 2.52182 OBJECTIV 2.52182 + N1018AC4 SYSTDEPT 2. ACMILES .68996 + N1018AC4 ASMILES 66.23618 LFRPMASM 46.365326 + N1018AC4 FLAV*4 2.1286 LF1018S1 57. + N1018AC4 LF1018S2 57. MSSEAYVR 1. + N1018AC4 MSRNOYVR 1. MSRNOSEA 1. + N1018AC4 P1018X32 109. P1018X43 85. + N1018AC5 ACOCOSTS 2.79372 OBJECTIV 2.79372 + N1018AC5 SYSTDEPT 2. ACMILES .68996 + N1018AC5 ASMILES 85.55505 LFRPMASM 59.888535 + N1018AC5 FLAV*5 2.13455 LF1018S1 74. + N1018AC5 LF1018S2 74. MSSEAYVR 1. + N1018AC5 MSRNOYVR 1. MSRNOSEA 1. + N1018AC5 P1018X32 109. P1018X43 85. + N1018AC6 ACOCOSTS 2.15753 OBJECTIV 2.15753 + N1018AC6 SYSTDEPT 2. ACMILES .68996 + N1018AC6 ASMILES 65.54617 LFRPMASM 45.882319 + N1018AC6 FLAV*6 2.22898 LF1018S1 56. + N1018AC6 LF1018S2 56. MSSEAYVR 1. + N1018AC6 MSRNOYVR 1. MSRNOSEA 1. + N1018AC6 P1018X32 109. P1018X43 85. + N1019AC1 ACOCOSTS 9.00153 OBJECTIV 9.00153 + N1019AC1 SYSTDEPT 2. ACMILES .99393 + N1019AC1 ASMILES 403.53516 LFRPMASM 282.474612 + N1019AC1 FLAV*1 3.11193 LF1019S1 243. + N1019AC1 LF1019S2 243. MSSEAYVR 1. + N1019AC1 MSLASYVR 1. MSLASSEA 1. + N1019AC1 P1019X32 109. P1019X43 110. + N1019AC2 ACOCOSTS 6.36578 OBJECTIV 6.36578 + N1019AC2 SYSTDEPT 2. ACMILES .99393 + N1019AC2 ASMILES 256.43359 LFRPMASM 179.503513 + N1019AC2 FLAV*2 2.9837 LF1019S1 154. + N1019AC2 LF1019S2 154. MSSEAYVR 1. + N1019AC2 MSLASYVR 1. MSLASSEA 1. + N1019AC2 P1019X32 109. P1019X43 110. + N1019AC3 ACOCOSTS 4.48694 OBJECTIV 4.48694 + N1019AC3 SYSTDEPT 2. ACMILES .99393 + N1019AC3 ASMILES 182.88293 LFRPMASM 128.018051 + N1019AC3 FLAV*3 2.81792 LF1019S1 110. + N1019AC3 LF1019S2 110. MSSEAYVR 1. + N1019AC3 MSLASYVR 1. MSLASSEA 1. + N1019AC3 P1019X32 109. P1019X43 110. + N1019AC4 ACOCOSTS 3.1024 OBJECTIV 3.1024 + N1019AC4 SYSTDEPT 2. ACMILES .99393 + N1019AC4 ASMILES 95.41718 LFRPMASM 66.792026 + N1019AC4 FLAV*4 2.72803 LF1019S1 57. + N1019AC4 LF1019S2 57. MSSEAYVR 1. + N1019AC4 MSLASYVR 1. MSLASSEA 1. + N1019AC4 P1019X32 109. P1019X43 110. + N1019AC5 ACOCOSTS 3.40774 OBJECTIV 3.40774 + N1019AC5 SYSTDEPT 2. ACMILES .99393 + N1019AC5 ASMILES 123.24718 LFRPMASM 86.273026 + N1019AC5 FLAV*5 2.75069 LF1019S1 74. + N1019AC5 LF1019S2 74. MSSEAYVR 1. + N1019AC5 MSLASYVR 1. MSLASSEA 1. + N1019AC5 P1019X32 109. P1019X43 110. + N1020AC1 ACOCOSTS 4.79193 OBJECTIV 4.79193 + N1020AC1 SYSTDEPT 1. ACMILES .56374 + N1020AC1 ASMILES 228.88037 LFRPMASM 160.216259 + N1020AC1 FLAV*1 1.67771 LF1020S1 243. + N1020AC1 MSRNOSEA 1. P1020X32 85. + N1020AC2 ACOCOSTS 3.40527 OBJECTIV 3.40527 + N1020AC2 SYSTDEPT 1. ACMILES .56374 + N1020AC2 ASMILES 145.44612 LFRPMASM 101.812284 + N1020AC2 FLAV*2 1.61613 LF1020S1 154. + N1020AC2 MSRNOSEA 1. P1020X32 85. + N1020AC3 ACOCOSTS 2.40909 OBJECTIV 2.40909 + N1020AC3 SYSTDEPT 1. ACMILES .56374 + N1020AC3 ASMILES 103.72899 LFRPMASM 72.610293 + N1020AC3 FLAV*3 1.54185 LF1020S1 110. + N1020AC3 MSRNOSEA 1. P1020X32 85. + N1020AC4 ACOCOSTS 1.67875 OBJECTIV 1.67875 + N1020AC4 SYSTDEPT 1. ACMILES .56374 + N1020AC4 ASMILES 54.11951 LFRPMASM 37.883657 + N1020AC4 FLAV*4 1.4957 LF1020S1 57. + N1020AC4 MSRNOSEA 1. P1020X32 85. + N1020AC5 ACOCOSTS 1.83876 OBJECTIV 1.83876 + N1020AC5 SYSTDEPT 1. ACMILES .56374 + N1020AC5 ASMILES 69.90431 LFRPMASM 48.933017 + N1020AC5 FLAV*5 1.51071 LF1020S1 74. + N1020AC5 MSRNOSEA 1. P1020X32 85. + N1020AC6 ACOCOSTS 1.48129 OBJECTIV 1.48129 + N1020AC6 SYSTDEPT 1. ACMILES .56374 + N1020AC6 ASMILES 53.55576 LFRPMASM 37.489032 + N1020AC6 FLAV*6 1.6183 LF1020S1 56. + N1020AC6 MSRNOSEA 1. P1020X32 85. + N1021AC1 ACOCOSTS 6.11723 OBJECTIV 6.11723 + N1021AC1 SYSTDEPT 1. ACMILES .86771 + N1021AC1 ASMILES 352.2915 LFRPMASM 246.60405 + N1021AC1 FLAV*1 2.23184 LF1021S1 243. + N1021AC1 MSLASSEA 1. P1021X32 110. + N1021AC2 ACOCOSTS 4.41748 OBJECTIV 4.41748 + N1021AC2 SYSTDEPT 1. ACMILES .86771 + N1021AC2 ASMILES 223.87006 LFRPMASM 156.709042 + N1021AC2 FLAV*2 2.18181 LF1021S1 154. + N1021AC2 MSLASSEA 1. P1021X32 110. + N1021AC3 ACOCOSTS 3.16293 OBJECTIV 3.16293 + N1021AC3 SYSTDEPT 1. ACMILES .86771 + N1021AC3 ASMILES 159.65924 LFRPMASM 111.761468 + N1021AC3 FLAV*3 2.14675 LF1021S1 110. + N1021AC3 MSLASSEA 1. P1021X32 110. + N1021AC4 ACOCOSTS 2.25933 OBJECTIV 2.25933 + N1021AC4 SYSTDEPT 1. ACMILES .86771 + N1021AC4 ASMILES 83.30049 LFRPMASM 58.310343 + N1021AC4 FLAV*4 2.09513 LF1021S1 57. + N1021AC4 MSLASSEA 1. P1021X32 110. + N1021AC5 ACOCOSTS 2.45278 OBJECTIV 2.45278 + N1021AC5 SYSTDEPT 1. ACMILES .86771 + N1021AC5 ASMILES 107.59644 LFRPMASM 75.317508 + N1021AC5 FLAV*5 2.12685 LF1021S1 74. + N1021AC5 MSLASSEA 1. P1021X32 110. + N1022AC1 ACOCOSTS 40.32039 OBJECTIV 40.32039 + N1022AC1 SYSTDEPT 3. ACMILES 7.64184 + N1022AC1 ASMILES 3102.58496 LFRPMASM 2171.809472 + N1022AC1 FLAV*1 15.88107 LF1022S1 284. + N1022AC1 LF1022S2 284. LF1022S3 284. + N1022AC1 NOPTLON1 2. NOPTLON0 2. + N1022AC1 MSHNLYVR 1. MSLONYVR 1. + N1022AC1 MSLONPAR 1. P1022X23 40. + N1023AC1 ACOCOSTS 29.4082 OBJECTIV 29.4082 + N1023AC1 SYSTDEPT 3. ACMILES 5.13904 + N1023AC1 ASMILES 2086.44897 LFRPMASM 1460.514279 + N1023AC1 FLAV*1 11.31847 LF1023S1 243. + N1023AC1 LF1023S2 243. LF1023S3 284. + N1023AC1 NOPTLON1 2. NOPTLON0 2. + N1023AC1 MSSEAYVR 1. MSLONYVR 1. + N1023AC1 MSLONSEA 1. MSPARSEA 1. + N1023AC1 MSLONPAR 1. P1023X32 109. + N1026AC1 ACOCOSTS 33.02493 OBJECTIV 33.02493 + N1026AC1 SYSTDEPT 3. ACMILES 5.96857 + N1026AC1 ASMILES 2423.23682 LFRPMASM 1696.265774 + N1026AC1 FLAV*1 12.8307 LF1026S1 243. + N1026AC1 LF1026S2 243. LF1026S3 284. + N1026AC1 NOPTLON1 2. NOPTLON0 2. + N1026AC1 MSLAXSEA 1. MSLAXLON 1. + N1026AC1 MSLONSEA 1. MSPARSEA 1. + N1026AC1 MSLONPAR 1. P1026X23 139. + N1027AC1 ACOCOSTS 37.74599 OBJECTIV 37.74599 + N1027AC1 SYSTDEPT 3. ACMILES 7.05137 + N1027AC1 ASMILES 2862.85791 LFRPMASM 2004.000537 + N1027AC1 FLAV*1 14.80466 LF1027S1 243. + N1027AC1 LF1027S2 263. LF1027S3 284. + N1027AC1 NOPTTYO1 2. NOPTTYO0 2. + N1027AC1 MSLAXSEA 1. MSLAXTPE 1. + N1027AC1 MSSEATYO 1. MSSEATPE 1. + N1027AC1 MSTPETYO 1. P1027X23 139. + N1027AC1 P1027X25 18. + N1028AC1 ACOCOSTS 36.5415 OBJECTIV 36.5415 + N1028AC1 SYSTDEPT 3. ACMILES 6.77512 + N1028AC1 ASMILES 2750.69678 LFRPMASM 1925.487746 + N1028AC1 FLAV*1 14.30104 LF1028S1 243. + N1028AC1 LF1028S2 263. LF1028S3 284. + N1028AC1 NOPTTYO1 2. NOPTTYO0 2. + N1028AC1 MSSEASFO 1. MSSEATYO 1. + N1028AC1 MSSEATPE 1. MSTPETYO 1. + N1028AC1 P1028X32 170. + N1029AC1 ACOCOSTS 42.82423 OBJECTIV 42.82423 + N1029AC1 SYSTDEPT 5. ACMILES 7.14547 + N1029AC1 ASMILES 2901.05981 LFRPMASM 2030.741867 + N1029AC1 FLAV*1 16.27618 LF1029S1 243. + N1029AC1 LF1029S2 243. LF1029S3 243. + N1029AC1 LF1029S4 304. LF1029S5 284. + N1029AC1 NOPTTYO1 2. NOPTTYO0 2. + N1029AC1 MSLAXSFO 1. MSLAXSEA 1. + N1029AC1 MSLAXYVR 1. MSLAXTPE 1. + N1029AC1 MSSEASFO 1. MSSFOYVR 1. + N1029AC1 MSSEAYVR 1. MSSEATYO 1. + N1029AC1 MSSEATPE 1. MSTPETYO 1. + N1029AC1 P1029X23 168. P1029X24 139. + N1029AC1 P1029X25 77. P1029X27 18. + N1029AC1 P1029X43 170. P1029X35 71. + N1029AC1 P1029X45 109. + N1030AC1 ACOCOSTS 40.35146 OBJECTIV 40.35146 + N1030AC1 SYSTDEPT 4. ACMILES 7.11364 + N1030AC1 ASMILES 2888.13794 LFRPMASM 2021.696558 + N1030AC1 FLAV*1 15.56816 LF1030S1 243. + N1030AC1 LF1030S2 243. LF1030S3 263. + N1030AC1 LF1030S4 284. NOPTTYO1 2. + N1030AC1 NOPTTYO0 2. MSLAXSFO 1. + N1030AC1 MSLAXSEA 1. MSLAXTPE 1. + N1030AC1 MSSEASFO 1. MSSEATYO 1. + N1030AC1 MSSEATPE 1. MSTPETYO 1. + N1030AC1 P1030X23 168. P1030X24 139. + N1030AC1 P1030X26 18. P1030X43 170. + N1032AC1 ACOCOSTS 23.8204 OBJECTIV 23.8204 + N1032AC1 SYSTDEPT 5. ACMILES 2.78679 + N1032AC1 ASMILES 1131.43799 LFRPMASM 792.006593 + N1032AC1 FLAV*1 8.33032 LF1032S1 243. + N1032AC1 LF1032S2 284. LF1032S3 284. + N1032AC1 LF1032S4 284. LF1032S5 243. + N1032AC1 MSSEAYVR 1. MSBOSSEA 1. + N1032AC1 MSYVRYWG 1. MSYVRYYZ 1. + N1032AC1 MSYULYVR 1. MSBOSYVR 1. + N1032AC1 MSYWGYYZ 1. MSYULYWG 1. + N1032AC1 MSBOSYWG 1. MSYULYYZ 1. + N1032AC1 MSBOSYYZ 1. MSBOSYUL 1. + N1032AC1 P1032X23 109. P1032X34 89. + N1032AC1 P1032X35 76. P1032X63 44. + N1032AC1 P1032X45 83. P1032X64 99. + N1032AC1 P1032X65 130. P1032X75 85. + N1032AC1 P1032X76 115. + N1032AC2 ACOCOSTS 16.92001 OBJECTIV 16.92001 + N1032AC2 SYSTDEPT 5. ACMILES 2.78679 + N1032AC2 ASMILES 718.99268 LFRPMASM 503.294876 + N1032AC2 FLAV*2 8.02122 LF1032S1 154. + N1032AC2 LF1032S2 180. LF1032S3 180. + N1032AC2 LF1032S4 180. LF1032S5 154. + N1032AC2 MSSEAYVR 1. MSBOSSEA 1. + N1032AC2 MSYVRYWG 1. MSYVRYYZ 1. + N1032AC2 MSYULYVR 1. MSBOSYVR 1. + N1032AC2 MSYWGYYZ 1. MSYULYWG 1. + N1032AC2 MSBOSYWG 1. MSYULYYZ 1. + N1032AC2 MSBOSYYZ 1. MSBOSYUL 1. + N1032AC2 P1032X23 109. P1032X34 89. + N1032AC2 P1032X35 76. P1032X63 44. + N1032AC2 P1032X45 83. P1032X64 99. + N1032AC2 P1032X65 130. P1032X75 85. + N1032AC2 P1032X76 115. + N1032AC3 ACOCOSTS 11.96625 OBJECTIV 11.96625 + N1032AC3 SYSTDEPT 5. ACMILES 2.78679 + N1032AC3 ASMILES 512.76978 LFRPMASM 358.938846 + N1032AC3 FLAV*3 7.64572 LF1032S1 110. + N1032AC3 LF1032S2 128. LF1032S3 128. + N1032AC3 LF1032S4 128. LF1032S5 110. + N1032AC3 MSSEAYVR 1. MSBOSSEA 1. + N1032AC3 MSYVRYWG 1. MSYVRYYZ 1. + N1032AC3 MSYULYVR 1. MSBOSYVR 1. + N1032AC3 MSYWGYYZ 1. MSYULYWG 1. + N1032AC3 MSBOSYWG 1. MSYULYYZ 1. + N1032AC3 MSBOSYYZ 1. MSBOSYUL 1. + N1032AC3 P1032X23 109. P1032X34 89. + N1032AC3 P1032X35 76. P1032X63 44. + N1032AC3 P1032X45 83. P1032X64 99. + N1032AC3 P1032X65 130. P1032X75 85. + N1032AC3 P1032X76 115. + N1032AC4 ACOCOSTS 8.33277 OBJECTIV 8.33277 + N1032AC4 SYSTDEPT 5. ACMILES 2.78679 + N1032AC4 ASMILES 267.53198 LFRPMASM 187.272386 + N1032AC4 FLAV*4 7.41556 LF1032S1 57. + N1032AC4 LF1032S2 67. LF1032S3 67. + N1032AC4 LF1032S4 67. LF1032S5 57. + N1032AC4 MSSEAYVR 1. MSBOSSEA 1. + N1032AC4 MSYVRYWG 1. MSYVRYYZ 1. + N1032AC4 MSYULYVR 1. MSBOSYVR 1. + N1032AC4 MSYWGYYZ 1. MSYULYWG 1. + N1032AC4 MSBOSYWG 1. MSYULYYZ 1. + N1032AC4 MSBOSYYZ 1. MSBOSYUL 1. + N1032AC4 P1032X23 109. P1032X34 89. + N1032AC4 P1032X35 76. P1032X63 44. + N1032AC4 P1032X45 83. P1032X64 99. + N1032AC4 P1032X65 130. P1032X75 85. + N1032AC4 P1032X76 115. + N1032AC5 ACOCOSTS 9.12932 OBJECTIV 9.12932 + N1032AC5 SYSTDEPT 5. ACMILES 2.78679 + N1032AC5 ASMILES 345.56226 LFRPMASM 241.893582 + N1032AC5 FLAV*5 7.48883 LF1032S1 74. + N1032AC5 LF1032S2 86. LF1032S3 86. + N1032AC5 LF1032S4 86. LF1032S5 74. + N1032AC5 MSSEAYVR 1. MSBOSSEA 1. + N1032AC5 MSYVRYWG 1. MSYVRYYZ 1. + N1032AC5 MSYULYVR 1. MSBOSYVR 1. + N1032AC5 MSYWGYYZ 1. MSYULYWG 1. + N1032AC5 MSBOSYWG 1. MSYULYYZ 1. + N1032AC5 MSBOSYYZ 1. MSBOSYUL 1. + N1032AC5 P1032X23 109. P1032X34 89. + N1032AC5 P1032X35 76. P1032X63 44. + N1032AC5 P1032X45 83. P1032X64 99. + N1032AC5 P1032X65 130. P1032X75 85. + N1032AC5 P1032X76 115. + N1033AC1 ACOCOSTS 18.08295 OBJECTIV 18.08295 + N1033AC1 SYSTDEPT 3. ACMILES 2.5415 + N1033AC1 ASMILES 1031.8501 LFRPMASM 722.29507 + N1033AC1 FLAV*1 6.58316 LF1033S1 284. + N1033AC1 LF1033S2 284. LF1033S3 243. + N1033AC1 MSYVRYWG 1. MSYULYVR 1. + N1033AC1 MSBOSYVR 1. MSYULYWG 1. + N1033AC1 MSBOSYWG 1. MSBOSYUL 1. + N1033AC1 P1033X23 89. P1033X42 44. + N1033AC1 P1033X43 99. P1033X54 115. + N1033AC2 ACOCOSTS 13.0472 OBJECTIV 13.0472 + N1033AC2 SYSTDEPT 3. ACMILES 2.5415 + N1033AC2 ASMILES 655.70752 LFRPMASM 458.995264 + N1033AC2 FLAV*2 6.43074 LF1033S1 180. + N1033AC2 LF1033S2 180. LF1033S3 154. + N1033AC2 MSYVRYWG 1. MSYULYVR 1. + N1033AC2 MSBOSYVR 1. MSYULYWG 1. + N1033AC2 MSBOSYWG 1. MSBOSYUL 1. + N1033AC2 P1033X23 89. P1033X42 44. + N1033AC2 P1033X43 99. P1033X54 115. + N1033AC3 ACOCOSTS 9.33593 OBJECTIV 9.33593 + N1033AC3 SYSTDEPT 3. ACMILES 2.5415 + N1033AC3 ASMILES 467.63647 LFRPMASM 327.345529 + N1033AC3 FLAV*3 6.31759 LF1033S1 128. + N1033AC3 LF1033S2 128. LF1033S3 110. + N1033AC3 MSYVRYWG 1. MSYULYVR 1. + N1033AC3 MSBOSYVR 1. MSYULYWG 1. + N1033AC3 MSBOSYWG 1. MSBOSYUL 1. + N1033AC3 P1033X23 89. P1033X42 44. + N1033AC3 P1033X43 99. P1033X54 115. + N1033AC4 ACOCOSTS 6.66027 OBJECTIV 6.66027 + N1033AC4 SYSTDEPT 3. ACMILES 2.5415 + N1033AC4 ASMILES 243.98424 LFRPMASM 170.788968 + N1033AC4 FLAV*4 6.16384 LF1033S1 67. + N1033AC4 LF1033S2 67. LF1033S3 57. + N1033AC4 MSYVRYWG 1. MSYULYVR 1. + N1033AC4 MSBOSYVR 1. MSYULYWG 1. + N1033AC4 MSBOSYWG 1. MSBOSYUL 1. + N1033AC4 P1033X23 89. P1033X42 44. + N1033AC4 P1033X43 99. P1033X54 115. + N1033AC5 ACOCOSTS 7.23383 OBJECTIV 7.23383 + N1033AC5 SYSTDEPT 3. ACMILES 2.5415 + N1033AC5 ASMILES 315.14624 LFRPMASM 220.602368 + N1033AC5 FLAV*5 6.25562 LF1033S1 86. + N1033AC5 LF1033S2 86. LF1033S3 74. + N1033AC5 MSYVRYWG 1. MSYULYVR 1. + N1033AC5 MSBOSYVR 1. MSYULYWG 1. + N1033AC5 MSBOSYWG 1. MSBOSYUL 1. + N1033AC5 P1033X23 89. P1033X42 44. + N1033AC5 P1033X43 99. P1033X54 115. + N1034AC1 ACOCOSTS 15.09963 OBJECTIV 15.09963 + N1034AC1 SYSTDEPT 2. ACMILES 2.39258 + N1034AC1 ASMILES 971.38599 LFRPMASM 679.970193 + N1034AC1 FLAV*1 5.66166 LF1034S1 284. + N1034AC1 LF1034S2 284. MSYVRYYZ 1. + N1034AC1 MSYULYVR 1. MSYULYYZ 1. + N1034AC1 P1034X23 76. P1034X42 44. + N1034AC1 P1034X43 130. + N1034AC2 ACOCOSTS 11.02328 OBJECTIV 11.02328 + N1034AC2 SYSTDEPT 2. ACMILES 2.39258 + N1034AC2 ASMILES 617.28467 LFRPMASM 432.099269 + N1034AC2 FLAV*2 5.58658 LF1034S1 180. + N1034AC2 LF1034S2 180. MSYVRYYZ 1. + N1034AC2 MSYULYVR 1. MSYULYYZ 1. + N1034AC2 P1034X23 76. P1034X42 44. + N1034AC2 P1034X43 130. + N1034AC3 ACOCOSTS 7.95559 OBJECTIV 7.95559 + N1034AC3 SYSTDEPT 2. ACMILES 2.39258 + N1034AC3 ASMILES 440.23389 LFRPMASM 308.163723 + N1034AC3 FLAV*3 5.60122 LF1034S1 128. + N1034AC3 LF1034S2 128. MSYVRYYZ 1. + N1034AC3 MSYULYVR 1. MSYULYYZ 1. + N1034AC3 P1034X23 76. P1034X42 44. + N1034AC3 P1034X43 130. + N1035AC1 ACOCOSTS 13.78819 OBJECTIV 13.78819 + N1035AC1 SYSTDEPT 2. ACMILES 2.09179 + N1035AC1 ASMILES 849.26563 LFRPMASM 594.485941 + N1035AC1 FLAV*1 5.11333 LF1035S1 284. + N1035AC1 LF1035S2 284. MSYVRYWG 1. + N1035AC1 MSYVRYYZ 1. MSYWGYYZ 1. + N1035AC1 P1035X23 89. P1035X24 76. + N1035AC1 P1035X34 83. + N1035AC2 ACOCOSTS 10.02165 OBJECTIV 10.02165 + N1035AC2 SYSTDEPT 2. ACMILES 2.09179 + N1035AC2 ASMILES 539.68115 LFRPMASM 377.776805 + N1035AC2 FLAV*2 5.02682 LF1035S1 180. + N1035AC2 LF1035S2 180. MSYVRYWG 1. + N1035AC2 MSYVRYYZ 1. MSYWGYYZ 1. + N1035AC2 P1035X23 89. P1035X24 76. + N1035AC2 P1035X34 83. + N1035AC3 ACOCOSTS 7.20963 OBJECTIV 7.20963 + N1035AC3 SYSTDEPT 2. ACMILES 2.09179 + N1035AC3 ASMILES 384.88867 LFRPMASM 269.422069 + N1035AC3 FLAV*3 5.00266 LF1035S1 128. + N1035AC3 LF1035S2 128. MSYVRYWG 1. + N1035AC3 MSYVRYYZ 1. MSYWGYYZ 1. + N1035AC3 P1035X23 89. P1035X24 76. + N1035AC3 P1035X34 83. + N1035AC4 ACOCOSTS 5.19931 OBJECTIV 5.19931 + N1035AC4 SYSTDEPT 2. ACMILES 2.09179 + N1035AC4 ASMILES 200.81155 LFRPMASM 140.568085 + N1035AC4 FLAV*4 4.893 LF1035S1 67. + N1035AC4 LF1035S2 67. MSYVRYWG 1. + N1035AC4 MSYVRYYZ 1. MSYWGYYZ 1. + N1035AC4 P1035X23 89. P1035X24 76. + N1035AC4 P1035X34 83. + N1035AC5 ACOCOSTS 5.62541 OBJECTIV 5.62541 + N1035AC5 SYSTDEPT 2. ACMILES 2.09179 + N1035AC5 ASMILES 259.38159 LFRPMASM 181.567113 + N1035AC5 FLAV*5 4.97605 LF1035S1 86. + N1035AC5 LF1035S2 86. MSYVRYWG 1. + N1035AC5 MSYVRYYZ 1. MSYWGYYZ 1. + N1035AC5 P1035X23 89. P1035X24 76. + N1035AC5 P1035X34 83. + N1036AC1 ACOCOSTS 15.74868 OBJECTIV 15.74868 + N1036AC1 SYSTDEPT 2. ACMILES 2.54144 + N1036AC1 ASMILES 1031.82446 LFRPMASM 722.277122 + N1036AC1 FLAV*1 5.93304 LF1036S1 284. + N1036AC1 LF1036S2 243. MSYULYVR 1. + N1036AC1 MSBOSYVR 1. MSBOSYUL 1. + N1036AC1 P1036X32 44. P1036X43 115. + N1036AC2 ACOCOSTS 11.51899 OBJECTIV 11.51899 + N1036AC2 SYSTDEPT 2. ACMILES 2.54144 + N1036AC2 ASMILES 655.69141 LFRPMASM 458.983987 + N1036AC2 FLAV*2 5.86362 LF1036S1 180. + N1036AC2 LF1036S2 154. MSYULYVR 1. + N1036AC2 MSBOSYVR 1. MSBOSYUL 1. + N1036AC2 P1036X32 44. P1036X43 115. + N1036AC3 ACOCOSTS 8.32477 OBJECTIV 8.32477 + N1036AC3 SYSTDEPT 2. ACMILES 2.54144 + N1036AC3 ASMILES 467.62476 LFRPMASM 327.337332 + N1036AC3 FLAV*3 5.89746 LF1036S1 128. + N1036AC3 LF1036S2 110. MSYULYVR 1. + N1036AC3 MSBOSYVR 1. MSBOSYUL 1. + N1036AC3 P1036X32 44. P1036X43 115. + N1037AC4 ACOCOSTS 3.5884 OBJECTIV 3.5884 + N1037AC4 SYSTDEPT 2. ACMILES 1.24837 + N1037AC4 ASMILES 119.84406 LFRPMASM 83.890842 + N1037AC4 FLAV*4 3.2298 LF1037S1 67. + N1037AC4 LF1037S2 67. MSYWGYYZ 1. + N1037AC4 MSYULYWG 1. MSYULYYZ 1. + N1037AC4 P1037X23 83. P1037X42 99. + N1037AC4 P1037X43 130. + N1037AC5 ACOCOSTS 3.92172 OBJECTIV 3.92172 + N1037AC5 SYSTDEPT 2. ACMILES 1.24837 + N1037AC5 ASMILES 154.79855 LFRPMASM 108.358985 + N1037AC5 FLAV*5 3.26646 LF1037S1 86. + N1037AC5 LF1037S2 86. MSYWGYYZ 1. + N1037AC5 MSYULYWG 1. MSYULYYZ 1. + N1037AC5 P1037X23 83. P1037X42 99. + N1037AC5 P1037X43 130. + N1038AC4 ACOCOSTS 2.38548 OBJECTIV 2.38548 + N1038AC4 SYSTDEPT 1. ACMILES .93376 + N1038AC4 ASMILES 89.64105 LFRPMASM 62.748735 + N1038AC4 FLAV*4 2.22538 LF1038S1 67. + N1038AC4 MSYWGYYZ 1. P1038X23 83. + N1038AC5 ACOCOSTS 2.5862 OBJECTIV 2.5862 + N1038AC5 SYSTDEPT 1. ACMILES .93376 + N1038AC5 ASMILES 115.78636 LFRPMASM 81.050452 + N1038AC5 FLAV*5 2.26073 LF1038S1 86. + N1038AC5 MSYWGYYZ 1. P1038X23 83. + N1039AC4 ACOCOSTS 2.75896 OBJECTIV 2.75896 + N1039AC4 SYSTDEPT 1. ACMILES 1.1293 + N1039AC4 ASMILES 108.41281 LFRPMASM 75.888967 + N1039AC4 FLAV*4 2.61098 LF1039S1 67. + N1039AC4 MSYULYWG 1. P1039X32 99. + N1039AC5 ACOCOSTS 2.98119 OBJECTIV 2.98119 + N1039AC5 SYSTDEPT 1. ACMILES 1.1293 + N1039AC5 ASMILES 140.03325 LFRPMASM 98.023275 + N1039AC5 FLAV*5 2.65709 LF1039S1 86. + N1039AC5 MSYULYWG 1. P1039X32 99. + N1040AC4 ACOCOSTS 2.29039 OBJECTIV 2.29039 + N1040AC4 SYSTDEPT 2. ACMILES .56879 + N1040AC4 ASMILES 54.60388 LFRPMASM 38.222716 + N1040AC4 FLAV*4 1.88965 LF1040S1 67. + N1040AC4 LF1040S2 57. MSYULYYZ 1. + N1040AC4 MSBOSYYZ 1. MSBOSYUL 1. + N1040AC4 P1040X32 130. P1040X42 85. + N1040AC4 P1040X43 115. + N1040AC5 ACOCOSTS 2.54896 OBJECTIV 2.54896 + N1040AC5 SYSTDEPT 2. ACMILES .56879 + N1040AC5 ASMILES 70.53 LFRPMASM 49.371 + N1040AC5 FLAV*5 1.88894 LF1040S1 86. + N1040AC5 LF1040S2 74. MSYULYYZ 1. + N1040AC5 MSBOSYYZ 1. MSBOSYUL 1. + N1040AC5 P1040X32 130. P1040X42 85. + N1040AC5 P1040X43 115. + N1040AC6 ACOCOSTS 1.93457 OBJECTIV 1.93457 + N1040AC6 SYSTDEPT 2. ACMILES .56879 + N1040AC6 ASMILES 54.0351 LFRPMASM 37.82457 + N1040AC6 FLAV*6 1.94992 LF1040S1 66. + N1040AC6 LF1040S2 56. MSYULYYZ 1. + N1040AC6 MSBOSYYZ 1. MSBOSYUL 1. + N1040AC6 P1040X32 130. P1040X42 85. + N1040AC6 P1040X43 115. + N1041AC4 ACOCOSTS 1.20291 OBJECTIV 1.20291 + N1041AC4 SYSTDEPT 1. ACMILES .31461 + N1041AC4 ASMILES 30.20299 LFRPMASM 21.142093 + N1041AC4 FLAV*4 1.00442 LF1041S1 67. + N1041AC4 MSYULYYZ 1. P1041X32 130. + N1041AC5 ACOCOSTS 1.33552 OBJECTIV 1.33552 + N1041AC5 SYSTDEPT 1. ACMILES .31461 + N1041AC5 ASMILES 39.01219 LFRPMASM 27.308533 + N1041AC5 FLAV*5 1.00572 LF1041S1 86. + N1041AC5 MSYULYYZ 1. P1041X32 130. + N1041AC6 ACOCOSTS 1.02289 OBJECTIV 1.02289 + N1041AC6 SYSTDEPT 1. ACMILES .31461 + N1041AC6 ASMILES 29.88837 LFRPMASM 20.921859 + N1041AC6 FLAV*6 1.04456 LF1041S1 66. + N1041AC6 MSYULYYZ 1. P1041X32 130. + N1042AC4 ACOCOSTS 1.08748 OBJECTIV 1.08748 + N1042AC4 SYSTDEPT 1. ACMILES .25418 + N1042AC4 ASMILES 24.40089 LFRPMASM 17.080623 + N1042AC4 FLAV*4 .88524 LF1042S1 57. + N1042AC4 MSBOSYUL 1. P1042X32 115. + N1042AC5 ACOCOSTS 1.21344 OBJECTIV 1.21344 + N1042AC5 SYSTDEPT 1. ACMILES .25418 + N1042AC5 ASMILES 31.51784 LFRPMASM 22.062488 + N1042AC5 FLAV*5 .88321 LF1042S1 74. + N1042AC5 MSBOSYUL 1. P1042X32 115. + N1042AC6 ACOCOSTS .91168 OBJECTIV .91168 + N1042AC6 SYSTDEPT 1. ACMILES .25418 + N1042AC6 ASMILES 24.14673 LFRPMASM 16.902711 + N1042AC6 FLAV*6 .90537 LF1042S1 56. + N1042AC6 MSBOSYUL 1. P1042X32 115. + N1043AC1 ACOCOSTS 13.18536 OBJECTIV 13.18536 + N1043AC1 SYSTDEPT 1. ACMILES 2.48884 + N1043AC1 ASMILES 1010.47021 LFRPMASM 707.329147 + N1043AC1 FLAV*1 5.18716 LF1043S1 284. + N1043AC1 MSBOSSEA 1. + N1043AC2 ACOCOSTS 9.81585 OBJECTIV 9.81585 + N1043AC2 SYSTDEPT 1. ACMILES 2.48884 + N1043AC2 ASMILES 642.12134 LFRPMASM 449.484938 + N1043AC2 FLAV*2 5.19874 LF1043S1 180. + N1043AC2 MSBOSSEA 1. + N1043AC3 ACOCOSTS 7.18333 OBJECTIV 7.18333 + N1043AC3 SYSTDEPT 1. ACMILES 2.48884 + N1043AC3 ASMILES 457.94702 LFRPMASM 320.562914 + N1043AC3 FLAV*3 5.3728 LF1043S1 128. + N1043AC3 MSBOSSEA 1. + N1044AC1 ACOCOSTS 14.09924 OBJECTIV 14.09924 + N1044AC1 SYSTDEPT 1. ACMILES 2.69845 + N1044AC1 ASMILES 1095.56982 LFRPMASM 766.898874 + N1044AC1 FLAV*1 5.56927 LF1044S1 243. + N1044AC1 MSBOSSFO 1. P1044X32 73. + N1044AC2 ACOCOSTS 10.51384 OBJECTIV 10.51384 + N1044AC2 SYSTDEPT 1. ACMILES 2.69845 + N1044AC2 ASMILES 696.19995 LFRPMASM 487.339965 + N1044AC2 FLAV*2 5.58881 LF1044S1 154. + N1044AC2 MSBOSSFO 1. P1044X32 73. + N1044AC3 ACOCOSTS 7.70315 OBJECTIV 7.70315 + N1044AC3 SYSTDEPT 1. ACMILES 2.69845 + N1044AC3 ASMILES 496.51465 LFRPMASM 347.560255 + N1044AC3 FLAV*3 5.78991 LF1044S1 110. + N1044AC3 MSBOSSFO 1. P1044X32 73. + N1046AC3 ACOCOSTS 9.52503 OBJECTIV 9.52503 + N1046AC3 SYSTDEPT 2. ACMILES 3.02542 + N1046AC3 ASMILES 556.67676 LFRPMASM 389.673732 + N1046AC3 FLAV*3 6.86058 LF1046S1 128. + N1046AC3 LF1046S2 128. MSLAXOAK 1. + N1046AC3 MSBOSOAK 1. P1046X23 46. + N1047AC1 ACOCOSTS 31.37592 OBJECTIV 31.37592 + N1047AC1 SYSTDEPT 3. ACMILES 5.59035 + N1047AC1 ASMILES 2269.68188 LFRPMASM 1588.777316 + N1047AC1 FLAV*1 12.14121 LF1047S1 243. + N1047AC1 LF1047S2 243. LF1047S3 243. + N1047AC1 MSHNLLAX 1. MSHNLSFO 1. + N1047AC1 MSBOSHNL 1. MSLAXSFO 1. + N1047AC1 MSBOSSFO 1. P1047X23 118. + N1047AC1 P1047X34 168. P1047X54 73. + N1047AC2 ACOCOSTS 23.19986 OBJECTIV 23.19986 + N1047AC2 SYSTDEPT 3. ACMILES 5.59035 + N1047AC2 ASMILES 1442.30981 LFRPMASM 1009.616867 + N1047AC2 FLAV*2 12.10464 LF1047S1 154. + N1047AC2 LF1047S2 154. LF1047S3 154. + N1047AC2 MSHNLLAX 1. MSHNLSFO 1. + N1047AC2 MSBOSHNL 1. MSLAXSFO 1. + N1047AC2 MSBOSSFO 1. P1047X23 118. + N1047AC2 P1047X34 168. P1047X54 73. + N1047AC3 ACOCOSTS 16.89706 OBJECTIV 16.89706 + N1047AC3 SYSTDEPT 3. ACMILES 5.59035 + N1047AC3 ASMILES 1028.62451 LFRPMASM 720.037157 + N1047AC3 FLAV*3 12.3848 LF1047S1 110. + N1047AC3 LF1047S2 110. LF1047S3 110. + N1047AC3 MSHNLLAX 1. MSHNLSFO 1. + N1047AC3 MSBOSHNL 1. MSLAXSFO 1. + N1047AC3 MSBOSSFO 1. P1047X23 118. + N1047AC3 P1047X34 168. P1047X54 73. + N1050AC3 ACOCOSTS 4.50544 OBJECTIV 4.50544 + N1050AC3 SYSTDEPT 2. ACMILES 1.00139 + N1050AC3 ASMILES 184.25568 LFRPMASM 128.978976 + N1050AC3 FLAV*3 2.83276 LF1050S1 110. + N1050AC3 LF1050S2 128. MSLAXSEA 1. + N1050AC3 MSONTSEA 1. P1050X32 139. + N1050AC3 P1050X42 25. + N1050AC4 ACOCOSTS 3.11665 OBJECTIV 3.11665 + N1050AC4 SYSTDEPT 2. ACMILES 1.00139 + N1050AC4 ASMILES 96.13336 LFRPMASM 67.293352 + N1050AC4 FLAV*4 2.74274 LF1050S1 57. + N1050AC4 LF1050S2 67. MSLAXSEA 1. + N1050AC4 MSONTSEA 1. P1050X32 139. + N1050AC4 P1050X42 25. + N1050AC5 ACOCOSTS 3.42281 OBJECTIV 3.42281 + N1050AC5 SYSTDEPT 2. ACMILES 1.00139 + N1050AC5 ASMILES 124.1723 LFRPMASM 86.92061 + N1050AC5 FLAV*5 2.76582 LF1050S1 74. + N1050AC5 LF1050S2 86. MSLAXSEA 1. + N1050AC5 MSONTSEA 1. P1050X32 139. + N1050AC5 P1050X42 25. + N1051AC1 ACOCOSTS 3.80996 OBJECTIV 3.80996 + N1051AC1 SYSTDEPT 1. ACMILES .33852 + N1051AC1 ASMILES 137.44067 LFRPMASM 96.208469 + N1051AC1 FLAV*1 1.26713 LF1051S1 243. + N1051AC1 MSLAXSFO 1. P1051X23 168. + N1051AC2 ACOCOSTS 2.65528 OBJECTIV 2.65528 + N1051AC2 SYSTDEPT 1. ACMILES .33852 + N1051AC2 ASMILES 87.33911 LFRPMASM 61.137377 + N1051AC2 FLAV*2 1.19699 LF1051S1 154. + N1051AC2 MSLAXSFO 1. P1051X23 168. + N1051AC3 ACOCOSTS 1.85054 OBJECTIV 1.85054 + N1051AC3 SYSTDEPT 1. ACMILES .33852 + N1051AC3 ASMILES 62.28839 LFRPMASM 43.601873 + N1051AC3 FLAV*3 1.09366 LF1051S1 110. + N1051AC3 MSLAXSFO 1. P1051X23 168. + N1051AC4 ACOCOSTS 1.24858 OBJECTIV 1.24858 + N1051AC4 SYSTDEPT 1. ACMILES .33852 + N1051AC4 ASMILES 32.49829 LFRPMASM 22.748803 + N1051AC4 FLAV*4 1.05157 LF1051S1 57. + N1051AC4 MSLAXSFO 1. P1051X23 168. + N1051AC5 ACOCOSTS 1.38382 OBJECTIV 1.38382 + N1051AC5 SYSTDEPT 1. ACMILES .33852 + N1051AC5 ASMILES 41.97696 LFRPMASM 29.383872 + N1051AC5 FLAV*5 1.05419 LF1051S1 74. + N1051AC5 MSLAXSFO 1. P1051X23 168. + N1051AC6 ACOCOSTS 1.06688 OBJECTIV 1.06688 + N1051AC6 SYSTDEPT 1. ACMILES .33852 + N1051AC6 ASMILES 32.15976 LFRPMASM 22.511832 + N1051AC6 FLAV*6 1.09962 LF1051S1 56. + N1051AC6 MSLAXSFO 1. P1051X23 168. +RHS + RHS1 SYSTDEPT 200. FLAV*1 10.5 + RHS1 FLAV*2 13.65 FLAV*3 23.5 + RHS1 FLAV*4 21.75 FLAV*5 21.75 + RHS1 FLAV*6 24.3 DMBOSHNL 12. + RHS1 DMBOSLAX 14. DMBOSSEA 45. + RHS1 DMBOSSFO 122. DMBOSTPE 1. + RHS1 DMBOSTYO 3. DMBOSYUL 676. + RHS1 DMBOSYVR 26. DMBOSYWG 37. + RHS1 DMBOSYYZ 215. DMBUROAK 27. + RHS1 DMBURSEA 52. DMBURSFO 271. + RHS1 DMHNLLAX 297. DMHNLLON 5. + RHS1 DMHNLPAR 1. DMHNLSEA 112. + RHS1 DMHNLSFO 35. DMHNLYVR 67. + RHS1 DMLASSEA 370. DMLASYVR 37. + RHS1 DMLAXOAK 78. DMLAXSEA 813. + RHS1 DMLAXSFO 2952. DMLAXTPE 31. + RHS1 DMLAXTYO 41. DMLAXYVR 193. + RHS1 DMLONPAR 2. DMLONSEA 92. + RHS1 DMLONYVR 51. DMOAKONT 13. + RHS1 DMOAKSEA 110. DMONTSFO 173. + RHS1 DMONTSEA 42. DMPARSEA 36. + RHS1 DMPARYVR 24. DMRNOSEA 284. + RHS1 DMRNOYVR 67. DMSEASFO 1417. + RHS1 DMSEATPE 47. DMSEATYO 114. + RHS1 DMSEAYVR 547. DMSFOTPE 6. + RHS1 DMSFOTYO 17. DMSFOYVR 298. + RHS1 DMTPETYO 111. DMTPEYVR 17. + RHS1 DMTYOYVR 42. DMYULYVR 262. + RHS1 DMYULYWG 413. DMYULYYZ 2612. + RHS1 DMYVRYWG 375. DMYVRYYZ 318. + RHS1 DMYWGYYZ 278. DMBOSOAK 11. + RHS1 DMBOSBUR 7. DMBOSONT 4. + RHS1 DMBURYVR 26. DMBURTYO 2. + RHS1 DMBURTPE 1. DMBURHNL 11. + RHS1 DMHNLOAK 24. DMHNLONT 16. + RHS1 DMHNLYWG 3. DMHNLYYZ 24. + RHS1 DMHNLYUL 40. DMLASTYO 5. + RHS1 DMLASTPE 1. DMLAXLON 13. + RHS1 DMLAXPAR 8. DMBURLON 1. + RHS1 DMBURPAR 1. DMLONONT 1. + RHS1 DMLONOAK 1. DMOAKPAR 2. + RHS1 DMOAKTYO 7. DMOAKTPE 2. + RHS1 DMONTPAR 2. DMONTTYO 2. + RHS1 DMONTTPE 1. DMPARSFO 2. + RHS1 DMRNOTYO 5. DMRNOTPE 2. + RHS1 DMTPEYWG 21. DMTPEYYZ 13. + RHS1 DMTPEYUL 6. DMTYOYUL 7. + RHS1 DMTYOYYZ 17. DMTYOYWG 25. + RHS1 MSBOSHNL 1. MSBOSSEA 1. + RHS1 MSBOSSFO 2. MSBOSYUL 7. + RHS1 MSBOSYVR 1. MSBOSYWG 1. + RHS1 MSBOSYYZ 3. MSBUROAK 1. + RHS1 MSBURSEA 1. MSBURSFO 4. + RHS1 MSHNLLAX 3. MSHNLSEA 2. + RHS1 MSHNLSFO 1. MSHNLYVR 2. + RHS1 MSLASSEA 4. MSLASYVR 1. + RHS1 MSLAXOAK 2. MSLAXSEA 7. + RHS1 MSLAXSFO 21. MSLAXTPE 2. + RHS1 MSLAXYVR 3. MSLONPAR 1. + RHS1 MSLONSEA 1. MSLONYVR 1. + RHS1 MSOAKONT 1. MSOAKSEA 3. + RHS1 MSONTSFO 3. MSONTSEA 2. + RHS1 MSPARSEA 1. MSRNOSEA 4. + RHS1 MSRNOYVR 1. MSSEASFO 10. + RHS1 MSSEATPE 1. MSSEATYO 1. + RHS1 MSSEAYVR 6. MSSFOYVR 5. + RHS1 MSTPETYO 1. MSYULYVR 7. + RHS1 MSYULYWG 5. MSYULYYZ 24. + RHS1 MSYVRYWG 5. MSYVRYYZ 5. + RHS1 MSYWGYYZ 4. MSBOSOAK 1. + RHS1 MSHNLOAK 1. MSLAXLON 1. + RHS1 NOPTLON0 4. NOPTLON1 2. + RHS1 NOPTTYO0 4. NOPTTYO1 2. +RANGES + RANGE1 DMBOSHNL 2. DMBOSLAX 2. + RANGE1 DMBOSSEA 5. DMBOSSFO 13. + RANGE1 DMBOSTPE 1. DMBOSTYO 3. + RANGE1 DMBOSYUL 68. DMBOSYVR 3. + RANGE1 DMBOSYWG 4. DMBOSYYZ 22. + RANGE1 DMBUROAK 3. DMBURSEA 6. + RANGE1 DMBURSFO 28. DMHNLLAX 30. + RANGE1 DMHNLLON 5. DMHNLPAR 1. + RANGE1 DMHNLSEA 12. DMHNLSFO 4. + RANGE1 DMHNLYVR 7. DMLASSEA 38. + RANGE1 DMLASYVR 4. DMLAXOAK 8. + RANGE1 DMLAXSEA 82. DMLAXSFO 296. + RANGE1 DMLAXTPE 4. DMLAXTYO 5. + RANGE1 DMLAXYVR 20. DMLONPAR 2. + RANGE1 DMLONSEA 10. DMLONYVR 6. + RANGE1 DMOAKONT 2. DMOAKSEA 12. + RANGE1 DMONTSFO 18. DMONTSEA 5. + RANGE1 DMPARSEA 4. DMPARYVR 3. + RANGE1 DMRNOSEA 29. DMRNOYVR 7. + RANGE1 DMSEASFO 142. DMSEATPE 5. + RANGE1 DMSEATYO 12. DMSEAYVR 55. + RANGE1 DMSFOTPE 6. DMSFOTYO 2. + RANGE1 DMSFOYVR 30. DMTPETYO 12. + RANGE1 DMTPEYVR 2. DMTYOYVR 5. + RANGE1 DMYULYVR 27. DMYULYWG 42. + RANGE1 DMYULYYZ 262. DMYVRYWG 38. + RANGE1 DMYVRYYZ 32. DMYWGYYZ 28. + RANGE1 DMBOSOAK 2. DMBOSBUR 7. + RANGE1 DMBOSONT 4. DMBURYVR 3. + RANGE1 DMBURTYO 2. DMBURTPE 1. + RANGE1 DMBURHNL 2. DMHNLOAK 3. + RANGE1 DMHNLONT 2. DMHNLYWG 3. + RANGE1 DMHNLYYZ 3. DMHNLYUL 5. + RANGE1 DMLASTYO 5. DMLASTPE 1. + RANGE1 DMLAXLON 2. DMLAXPAR 8. + RANGE1 DMBURLON 1. DMBURPAR 1. + RANGE1 DMLONONT 1. DMLONOAK 1. + RANGE1 DMOAKPAR 2. DMOAKTYO 7. + RANGE1 DMOAKTPE 2. DMONTPAR 2. + RANGE1 DMONTTYO 2. DMONTTPE 1. + RANGE1 DMPARSFO 2. DMRNOTYO 5. + RANGE1 DMRNOTPE 2. DMTPEYWG 3. + RANGE1 DMTPEYYZ 2. DMTPEYUL 6. + RANGE1 DMTYOYUL 7. DMTYOYYZ 2. + RANGE1 DMTYOYWG 3. +BOUNDS + LO INTBOU GRDTIMN1 -105. + UP INTBOU GRDTIMN1 0. + LO INTBOU GRDTIMN2 -91. + UP INTBOU GRDTIMN2 0. + LO INTBOU GRDTIMN3 -47. + UP INTBOU GRDTIMN3 0. + LO INTBOU GRDTIMN4 -43.5 + UP INTBOU GRDTIMN4 0. + LO INTBOU GRDTIMN5 -87. + UP INTBOU GRDTIMN5 0. + LO INTBOU GRDTIMN6 -81. + UP INTBOU GRDTIMN6 0. + UP INTBOU N1001AC1 3. + UP INTBOU N1001AC2 3. + UP INTBOU N1001AC3 3. + UP INTBOU N1002AC1 3. + UP INTBOU N1002AC2 3. + UP INTBOU N1002AC3 3. + UP INTBOU N1003AC1 4. + UP INTBOU N1003AC2 4. + UP INTBOU N1003AC3 4. + UP INTBOU N1004AC1 4. + UP INTBOU N1004AC2 4. + UP INTBOU N1004AC3 4. + UP INTBOU N1005AC3 2. + UP INTBOU N1105AC3 1. + UP INTBOU N1006AC3 2. + UP INTBOU N1007AC1 2. + UP INTBOU N1007AC2 2. + UP INTBOU N1007AC3 2. + UP INTBOU N1008AC1 7. + UP INTBOU N1008AC2 7. + UP INTBOU N1008AC3 7. + UP INTBOU N1008AC4 7. + UP INTBOU N1008AC5 7. + UP INTBOU N1008AC6 7. + UP INTBOU N1009AC1 7. + UP INTBOU N1009AC2 7. + UP INTBOU N1009AC3 7. + UP INTBOU N1009AC4 7. + UP INTBOU N1009AC5 7. + UP INTBOU N1010AC1 7. + UP INTBOU N1010AC2 7. + UP INTBOU N1010AC3 7. + UP INTBOU N1010AC4 7. + UP INTBOU N1010AC5 7. + UP INTBOU N1010AC6 7. + UP INTBOU N1011AC1 7. + UP INTBOU N1011AC2 7. + UP INTBOU N1011AC3 7. + UP INTBOU N1011AC4 7. + UP INTBOU N1011AC5 7. + UP INTBOU N1011AC6 7. + UP INTBOU N1012AC1 7. + UP INTBOU N1012AC2 7. + UP INTBOU N1012AC3 7. + UP INTBOU N1012AC4 7. + UP INTBOU N1012AC5 7. + UP INTBOU N1013AC3 4. + UP INTBOU N1013AC4 4. + UP INTBOU N1013AC5 4. + UP INTBOU N1013AC6 4. + UP INTBOU N1014AC3 4. + UP INTBOU N1014AC4 4. + UP INTBOU N1014AC5 4. + UP INTBOU N1014AC6 4. + UP INTBOU N1015AC3 4. + UP INTBOU N1015AC4 4. + UP INTBOU N1015AC5 4. + UP INTBOU N1015AC6 4. + UP INTBOU N1016AC3 4. + UP INTBOU N1016AC4 4. + UP INTBOU N1016AC5 4. + UP INTBOU N1016AC6 4. + UP INTBOU N1017AC3 4. + UP INTBOU N1017AC4 4. + UP INTBOU N1017AC5 4. + UP INTBOU N1017AC6 4. + UP INTBOU N1018AC1 7. + UP INTBOU N1018AC2 7. + UP INTBOU N1018AC3 7. + UP INTBOU N1018AC4 7. + UP INTBOU N1018AC5 7. + UP INTBOU N1018AC6 7. + UP INTBOU N1019AC1 7. + UP INTBOU N1019AC2 7. + UP INTBOU N1019AC3 7. + UP INTBOU N1019AC4 7. + UP INTBOU N1019AC5 7. + UP INTBOU N1020AC1 7. + UP INTBOU N1020AC2 7. + UP INTBOU N1020AC3 7. + UP INTBOU N1020AC4 7. + UP INTBOU N1020AC5 7. + UP INTBOU N1020AC6 7. + UP INTBOU N1021AC1 7. + UP INTBOU N1021AC2 7. + UP INTBOU N1021AC3 7. + UP INTBOU N1021AC4 7. + UP INTBOU N1021AC5 7. + UP INTBOU N1022AC1 1. + UP INTBOU N1023AC1 1. + UP INTBOU N1026AC1 1. + UP INTBOU N1027AC1 1. + UP INTBOU N1028AC1 1. + UP INTBOU N1029AC1 1. + UP INTBOU N1030AC1 1. + UP INTBOU N1032AC1 1. + UP INTBOU N1032AC2 1. + UP INTBOU N1032AC3 1. + UP INTBOU N1032AC4 1. + UP INTBOU N1032AC5 1. + UP INTBOU N1033AC1 5. + UP INTBOU N1033AC2 5. + UP INTBOU N1033AC3 5. + UP INTBOU N1033AC4 5. + UP INTBOU N1033AC5 5. + UP INTBOU N1034AC1 5. + UP INTBOU N1034AC2 5. + UP INTBOU N1034AC3 5. + UP INTBOU N1035AC1 5. + UP INTBOU N1035AC2 5. + UP INTBOU N1035AC3 5. + UP INTBOU N1035AC4 5. + UP INTBOU N1035AC5 5. + UP INTBOU N1036AC1 5. + UP INTBOU N1036AC2 5. + UP INTBOU N1036AC3 5. + UP INTBOU N1037AC4 5. + UP INTBOU N1037AC5 5. + UP INTBOU N1038AC4 10. + UP INTBOU N1038AC5 10. + UP INTBOU N1039AC4 7. + UP INTBOU N1039AC5 7. + UP INTBOU N1040AC4 10. + UP INTBOU N1040AC5 10. + UP INTBOU N1040AC6 10. + UP INTBOU N1041AC4 20. + UP INTBOU N1041AC5 20. + UP INTBOU N1041AC6 20. + UP INTBOU N1042AC4 20. + UP INTBOU N1042AC5 20. + UP INTBOU N1042AC6 20. + UP INTBOU N1043AC1 3. + UP INTBOU N1043AC2 3. + UP INTBOU N1043AC3 3. + UP INTBOU N1044AC1 3. + UP INTBOU N1044AC2 3. + UP INTBOU N1044AC3 3. + UP INTBOU N1046AC3 2. + UP INTBOU N1047AC1 1. + UP INTBOU N1047AC2 1. + UP INTBOU N1047AC3 1. + UP INTBOU N1050AC3 5. + UP INTBOU N1050AC4 5. + UP INTBOU N1050AC5 5. + UP INTBOU N1051AC1 20. + UP INTBOU N1051AC2 20. + UP INTBOU N1051AC3 20. + UP INTBOU N1051AC4 20. + UP INTBOU N1051AC5 20. + UP INTBOU N1051AC6 20. +ENDATA diff --git a/demos/ppl_lpsol/examples/boeing2.mps b/demos/ppl_lpsol/examples/boeing2.mps new file mode 100644 index 000000000..254aed79e --- /dev/null +++ b/demos/ppl_lpsol/examples/boeing2.mps @@ -0,0 +1,970 @@ +NAME BOEING2 +ROWS + G REVENUES + G ACOCOSTS + N OBJECTIV + L FUELAVAL + G SYSTDEPT + G ACMILES + G ASMILES + G PASSNGRS + G RPMILES + G LFRPMASM + G ATONMILE + G RTONMILE + G LFTNMILE + E FLAV*1 + E FLAV*2 + E FLAV*3 + E FLAV*4 + G LF1003S1 + G LF1003B1 + G LF1003C1 + G LF1005S1 + G LF1005B1 + G LF1005C1 + G LF1011S1 + G LF1011S2 + G LF1011B1 + G LF1011B2 + G LF1011C1 + G LF1011C2 + G LF1013S1 + G LF1013S2 + G LF1013B1 + G LF1013B2 + G LF1013C1 + G LF1013C2 + G LF1015S1 + G LF1015B1 + G LF1015C1 + G LF1017S1 + G LF1017B1 + G LF1017C1 + G LF1019S1 + G LF1019S2 + G LF1019B1 + G LF1019B2 + G LF1019C1 + G LF1019C2 + G LF1021S1 + G LF1021B1 + G LF1021C1 + G LF1002S1 + G LF1002B1 + G LF1002C1 + G LF1004S1 + G LF1004B1 + G LF1004C1 + G LF1006S1 + G LF1006S2 + G LF1006B1 + G LF1006B2 + G LF1006C1 + G LF1006C2 + G LF1008S1 + G LF1008S2 + G LF1008B1 + G LF1008B2 + G LF1008C1 + G LF1008C2 + G LF1010S1 + G LF1010S2 + G LF1010S3 + G LF1010B1 + G LF1010B2 + G LF1010B3 + G LF1010C1 + G LF1010C2 + G LF1010C3 + G LF1012S1 + G LF1012B1 + G LF1012C1 + G LF1014S1 + G LF1014S2 + G LF1014B1 + G LF1014B2 + G LF1014C1 + G LF1014C2 + G LF1100S1 + G LF1100S2 + G LF1100S3 + G LF1100S4 + G LF1100S5 + G LF1100B1 + G LF1100B2 + G LF1100B3 + G LF1100B4 + G LF1100B5 + G LF1100C1 + G LF1100C2 + G LF1100C3 + G LF1100C4 + G LF1100C5 + G LF1102S1 + G LF1102S2 + G LF1102S3 + G LF1102S4 + G LF1102B1 + G LF1102B2 + G LF1102B3 + G LF1102B4 + G LF1102C1 + G LF1102C2 + G LF1102C3 + G LF1102C4 + G LF1200S1 + G LF1200B1 + G LF1200C1 + G LF1201S1 + G LF1201B1 + G LF1201C1 + G NOPTCLE0 + G CONTBOS1 + G CONTBOS2 + G CONTBOS3 + G CONTBOS4 + G CONTORD1 + G CONTORD2 + G CONTORD3 + G CONTORD4 + G CONTLGA2 + G CONTLGA4 + G CONTCLE1 + G CONTCLE2 + G CONTCLE3 + G CONTCLE4 + L DMBOSORD + L DMBOSLGA + L DMBOSCLE + L DMORDBOS + L DMORDLGA + L DMORDCLE + L DMLGABOS + L DMLGAORD + L DMLGACLE + L DMCLEBOS + L DMCLEORD + L DMCLELGA + G MSBOSORD + G MSBOSLGA + G MSBOSCLE + G MSORDBOS + G MSORDLGA + G MSORDCLE + G MSLGABOS + G MSLGAORD + G MSLGACLE + G MSCLEBOS + G MSCLEORD + G MSCLELGA + L DCBOSORD + L DCBOSCLE + L DCORDBOS + L DCORDLGA + L DCLGAORD + L DCLGACLE + L DCCLELGA + G MCORDBOS + G MCLGAORD +COLUMNS + PBOSORD0 REVENUES .075 OBJECTIV -.075 + PBOSORD0 PASSNGRS 1. RPMILES .86441 + PBOSORD0 LFRPMASM -.86441 DMBOSORD 1. + PBOSORD0 LF1003S1 -1. + PBOSORD1 REVENUES .075 OBJECTIV -.075 + PBOSORD1 PASSNGRS 1. RPMILES .87605 + PBOSORD1 LFRPMASM -.87605 DMBOSORD 1. + PBOSORD1 LF1011S1 -1. LF1011S2 -1. + PBOSORD2 REVENUES .075 OBJECTIV -.075 + PBOSORD2 PASSNGRS 1. RPMILES .91637 + PBOSORD2 LFRPMASM -.91637 DMBOSORD 1. + PBOSORD2 LF1013S1 -1. LF1013S2 -1. + PBOSORD3 REVENUES .075 OBJECTIV -.075 + PBOSORD3 PASSNGRS 1. RPMILES .91722 + PBOSORD3 LFRPMASM -.91722 DMBOSORD 1. + PBOSORD3 LF1100S1 -1. LF1100S2 -1. + PBOSORD3 LF1100S3 -1. + PBOSORD4 REVENUES .075 OBJECTIV -.075 + PBOSORD4 PASSNGRS 1. RPMILES .87605 + PBOSORD4 LFRPMASM -.87605 DMBOSORD 1. + PBOSORD4 LF1102S1 -1. LF1102S2 -1. + PBOSLGA0 REVENUES .027 OBJECTIV -.027 + PBOSLGA0 PASSNGRS 1. RPMILES .18557 + PBOSLGA0 LFRPMASM -.18557 DMBOSLGA 1. + PBOSLGA0 LF1013S1 -1. + PBOSLGA1 REVENUES .027 OBJECTIV -.027 + PBOSLGA1 PASSNGRS 1. RPMILES .18557 + PBOSLGA1 LFRPMASM -.18557 DMBOSLGA 1. + PBOSLGA1 LF1100S1 -1. + PBOSLGA2 REVENUES .027 OBJECTIV -.027 + PBOSLGA2 PASSNGRS 1. RPMILES 1.60685 + PBOSLGA2 LFRPMASM -1.60685 DMBOSLGA 1. + PBOSLGA2 LF1102S1 -1. LF1102S2 -1. + PBOSLGA2 LF1102S3 -1. + PBOSLGA3 REVENUES .027 OBJECTIV -.027 + PBOSLGA3 PASSNGRS 1. RPMILES .18557 + PBOSLGA3 LFRPMASM -.18557 DMBOSLGA 1. + PBOSLGA3 LF1200S1 -1. + PBOSCLE0 REVENUES .053 OBJECTIV -.053 + PBOSCLE0 PASSNGRS 1. RPMILES .56156 + PBOSCLE0 LFRPMASM -.56156 DMBOSCLE 1. + PBOSCLE0 LF1005S1 -1. + PBOSCLE1 REVENUES .053 OBJECTIV -.053 + PBOSCLE1 PASSNGRS 1. RPMILES .56156 + PBOSCLE1 LFRPMASM -.56156 DMBOSCLE 1. + PBOSCLE1 LF1011S1 -1. + PBOSCLE2 REVENUES .053 OBJECTIV -.053 + PBOSCLE2 PASSNGRS 1. RPMILES .60273 + PBOSCLE2 LFRPMASM -.60273 DMBOSCLE 1. + PBOSCLE2 LF1100S1 -1. LF1100S2 -1. + PBOSCLE3 REVENUES .053 OBJECTIV -.053 + PBOSCLE3 PASSNGRS 1. RPMILES .56156 + PBOSCLE3 LFRPMASM -.56156 DMBOSCLE 1. + PBOSCLE3 LF1102S1 -1. + PORDBOS0 REVENUES .075 OBJECTIV -.075 + PORDBOS0 PASSNGRS 1. RPMILES .87605 + PORDBOS0 LFRPMASM -.87605 DMORDBOS 1. + PORDBOS0 LF1006S1 -1. LF1006S2 -1. + PORDBOS1 REVENUES .075 OBJECTIV -.075 + PORDBOS1 PASSNGRS 1. RPMILES .91637 + PORDBOS1 LFRPMASM -.91637 DMORDBOS 1. + PORDBOS1 LF1008S1 -1. LF1008S2 -1. + PORDBOS2 REVENUES .075 OBJECTIV -.075 + PORDBOS2 PASSNGRS 1. RPMILES .91722 + PORDBOS2 LFRPMASM -.91722 DMORDBOS 1. + PORDBOS2 LF1010S1 -1. LF1010S2 -1. + PORDBOS2 LF1010S3 -1. + PORDBOS3 REVENUES .075 OBJECTIV -.075 + PORDBOS3 PASSNGRS 1. RPMILES .87605 + PORDBOS3 LFRPMASM -.87605 DMORDBOS 1. + PORDBOS3 LF1100S4 -1. LF1100S5 -1. + PORDBOS4 REVENUES .075 OBJECTIV -.075 + PORDBOS4 PASSNGRS 1. RPMILES .91637 + PORDBOS4 LFRPMASM -.91637 DMORDBOS 1. + PORDBOS4 LF1102S3 -1. LF1102S4 -1. + PORDLGA0 REVENUES .068 OBJECTIV -.068 + PORDLGA0 PASSNGRS 1. RPMILES .7308 + PORDLGA0 LFRPMASM -.7308 DMORDLGA 1. + PORDLGA0 LF1004S1 -1. + PORDLGA1 REVENUES .068 OBJECTIV -.068 + PORDLGA1 PASSNGRS 1. RPMILES .7308 + PORDLGA1 LFRPMASM -.7308 DMORDLGA 1. + PORDLGA1 LF1008S1 -1. + PORDLGA2 REVENUES .068 OBJECTIV -.068 + PORDLGA2 PASSNGRS 1. RPMILES .73165 + PORDLGA2 LFRPMASM -.73165 DMORDLGA 1. + PORDLGA2 LF1010S1 -1. LF1010S2 -1. + PORDLGA3 REVENUES .068 OBJECTIV -.068 + PORDLGA3 PASSNGRS 1. RPMILES .7308 + PORDLGA3 LFRPMASM -.7308 DMORDLGA 1. + PORDLGA3 LF1102S3 -1. + PORDCLE0 REVENUES .035 OBJECTIV -.035 + PORDCLE0 PASSNGRS 1. RPMILES .3145 + PORDCLE0 LFRPMASM -.3145 DMORDCLE 1. + PORDCLE0 LF1002S1 -1. + PORDCLE1 REVENUES .035 OBJECTIV -.035 + PORDCLE1 PASSNGRS 1. RPMILES .3145 + PORDCLE1 LFRPMASM -.3145 DMORDCLE 1. + PORDCLE1 LF1006S1 -1. + PORDCLE2 REVENUES .035 OBJECTIV -.035 + PORDCLE2 PASSNGRS 1. RPMILES .3145 + PORDCLE2 LFRPMASM -.3145 DMORDCLE 1. + PORDCLE2 LF1010S1 -1. + PORDCLE3 REVENUES .035 OBJECTIV -.035 + PORDCLE3 PASSNGRS 1. RPMILES .3145 + PORDCLE3 LFRPMASM -.3145 DMORDCLE 1. + PORDCLE3 LF1100S4 -1. + PLGABOS0 REVENUES .027 OBJECTIV -.027 + PLGABOS0 PASSNGRS 1. RPMILES .18557 + PLGABOS0 LFRPMASM -.18557 DMLGABOS 1. + PLGABOS0 LF1008S2 -1. + PLGABOS1 REVENUES .027 OBJECTIV -.027 + PLGABOS1 PASSNGRS 1. RPMILES .18557 + PLGABOS1 LFRPMASM -.18557 DMLGABOS 1. + PLGABOS1 LF1010S3 -1. + PLGABOS2 REVENUES .027 OBJECTIV -.027 + PLGABOS2 PASSNGRS 1. RPMILES .18557 + PLGABOS2 LFRPMASM -.18557 DMLGABOS 1. + PLGABOS2 LF1014S2 -1. + PLGABOS3 REVENUES .027 OBJECTIV -.027 + PLGABOS3 PASSNGRS 1. RPMILES 1.6077 + PLGABOS3 LFRPMASM -1.6077 DMLGABOS 1. + PLGABOS3 LF1100S2 -1. LF1100S3 -1. + PLGABOS3 LF1100S4 -1. LF1100S5 -1. + PLGABOS4 REVENUES .027 OBJECTIV -.027 + PLGABOS4 PASSNGRS 1. RPMILES .18557 + PLGABOS4 LFRPMASM -.18557 DMLGABOS 1. + PLGABOS4 LF1102S4 -1. + PLGABOS5 REVENUES .027 OBJECTIV -.027 + PLGABOS5 PASSNGRS 1. RPMILES .18557 + PLGABOS5 LFRPMASM -.18557 DMLGABOS 1. + PLGABOS5 LF1201S1 -1. + PLGAORD0 REVENUES .068 OBJECTIV -.068 + PLGAORD0 PASSNGRS 1. RPMILES .7308 + PLGAORD0 LFRPMASM -.7308 DMLGAORD 1. + PLGAORD0 LF1013S2 -1. + PLGAORD1 REVENUES .068 OBJECTIV -.068 + PLGAORD1 PASSNGRS 1. RPMILES .7308 + PLGAORD1 LFRPMASM -.7308 DMLGAORD 1. + PLGAORD1 LF1017S1 -1. + PLGAORD2 REVENUES .068 OBJECTIV -.068 + PLGAORD2 PASSNGRS 1. RPMILES .73165 + PLGAORD2 LFRPMASM -.73165 DMLGAORD 1. + PLGAORD2 LF1019S1 -1. LF1019S2 -1. + PLGAORD3 REVENUES .068 OBJECTIV -.068 + PLGAORD3 PASSNGRS 1. RPMILES .73165 + PLGAORD3 LFRPMASM -.73165 DMLGAORD 1. + PLGAORD3 LF1100S2 -1. LF1100S3 -1. + PLGACLE0 REVENUES .037 OBJECTIV -.037 + PLGACLE0 PASSNGRS 1. RPMILES .41715 + PLGACLE0 LFRPMASM -.41715 DMLGACLE 1. + PLGACLE0 LF1015S1 -1. + PLGACLE1 REVENUES .037 OBJECTIV -.037 + PLGACLE1 PASSNGRS 1. RPMILES .41715 + PLGACLE1 LFRPMASM -.41715 DMLGACLE 1. + PLGACLE1 LF1019S1 -1. + PLGACLE2 REVENUES .037 OBJECTIV -.037 + PLGACLE2 PASSNGRS 1. RPMILES .41715 + PLGACLE2 LFRPMASM -.41715 DMLGACLE 1. + PLGACLE2 LF1100S2 -1. + PCLEBOS0 REVENUES .053 OBJECTIV -.053 + PCLEBOS0 PASSNGRS 1. RPMILES .56156 + PCLEBOS0 LFRPMASM -.56156 DMCLEBOS 1. + PCLEBOS0 LF1006S2 -1. + PCLEBOS1 REVENUES .053 OBJECTIV -.053 + PCLEBOS1 PASSNGRS 1. RPMILES .60273 + PCLEBOS1 LFRPMASM -.60273 DMCLEBOS 1. + PCLEBOS1 LF1010S2 -1. LF1010S3 -1. + PCLEBOS2 REVENUES .053 OBJECTIV -.053 + PCLEBOS2 PASSNGRS 1. RPMILES .60273 + PCLEBOS2 LFRPMASM -.60273 DMCLEBOS 1. + PCLEBOS2 LF1014S1 -1. LF1014S2 -1. + PCLEBOS3 REVENUES .053 OBJECTIV -.053 + PCLEBOS3 PASSNGRS 1. RPMILES .56156 + PCLEBOS3 LFRPMASM -.56156 DMCLEBOS 1. + PCLEBOS3 LF1100S5 -1. + PCLEBOS4 REVENUES .053 OBJECTIV -.053 + PCLEBOS4 PASSNGRS 1. RPMILES 1.23087 + PCLEBOS4 LFRPMASM -1.23087 DMCLEBOS 1. + PCLEBOS4 LF1102S2 -1. LF1102S3 -1. + PCLEBOS4 LF1102S4 -1. + PCLEORD0 REVENUES .035 OBJECTIV -.035 + PCLEORD0 PASSNGRS 1. RPMILES .3145 + PCLEORD0 LFRPMASM -.3145 DMCLEORD 1. + PCLEORD0 LF1011S2 -1. + PCLEORD1 REVENUES .035 OBJECTIV -.035 + PCLEORD1 PASSNGRS 1. RPMILES .3145 + PCLEORD1 LFRPMASM -.3145 DMCLEORD 1. + PCLEORD1 LF1019S2 -1. + PCLEORD2 REVENUES .035 OBJECTIV -.035 + PCLEORD2 PASSNGRS 1. RPMILES .3145 + PCLEORD2 LFRPMASM -.3145 DMCLEORD 1. + PCLEORD2 LF1021S1 -1. + PCLEORD3 REVENUES .035 OBJECTIV -.035 + PCLEORD3 PASSNGRS 1. RPMILES .3145 + PCLEORD3 LFRPMASM -.3145 DMCLEORD 1. + PCLEORD3 LF1100S3 -1. + PCLEORD4 REVENUES .035 OBJECTIV -.035 + PCLEORD4 PASSNGRS 1. RPMILES .3145 + PCLEORD4 LFRPMASM -.3145 DMCLEORD 1. + PCLEORD4 LF1102S2 -1. + PCLELGA0 REVENUES .037 OBJECTIV -.037 + PCLELGA0 PASSNGRS 1. RPMILES .41715 + PCLELGA0 LFRPMASM -.41715 DMCLELGA 1. + PCLELGA0 LF1010S2 -1. + PCLELGA1 REVENUES .037 OBJECTIV -.037 + PCLELGA1 PASSNGRS 1. RPMILES .41715 + PCLELGA1 LFRPMASM -.41715 DMCLELGA 1. + PCLELGA1 LF1012S1 -1. + PCLELGA2 REVENUES .037 OBJECTIV -.037 + PCLELGA2 PASSNGRS 1. RPMILES .41715 + PCLELGA2 LFRPMASM -.41715 DMCLELGA 1. + PCLELGA2 LF1014S1 -1. + PCLELGA3 REVENUES .037 OBJECTIV -.037 + PCLELGA3 PASSNGRS 1. RPMILES 1.0453 + PCLELGA3 LFRPMASM -1.0453 DMCLELGA 1. + PCLELGA3 LF1102S2 -1. LF1102S3 -1. + BBOSORD0 REVENUES .75 OBJECTIV -.75 + BBOSORD0 RTONMILE .86441 LFTNMILE -.86441 + BBOSORD0 DCBOSORD 1. LF1003B1 -1. + BBOSORD1 REVENUES .75 OBJECTIV -.75 + BBOSORD1 RTONMILE .87605 LFTNMILE -.87605 + BBOSORD1 DCBOSORD 1. LF1011B1 -1. + BBOSORD1 LF1011B2 -1. + BBOSCLE0 REVENUES .53 OBJECTIV -.53 + BBOSCLE0 RTONMILE .56156 LFTNMILE -.56156 + BBOSCLE0 DCBOSCLE 1. LF1005B1 -1. + BBOSCLE1 REVENUES .53 OBJECTIV -.53 + BBOSCLE1 RTONMILE .56156 LFTNMILE -.56156 + BBOSCLE1 DCBOSCLE 1. LF1011B1 -1. + BORDBOS0 REVENUES .75 OBJECTIV -.75 + BORDBOS0 RTONMILE .87605 LFTNMILE -.87605 + BORDBOS0 DCORDBOS 1. LF1006B1 -1. + BORDBOS0 LF1006B2 -1. + CBOSORD0 REVENUES .75 OBJECTIV -.75 + CBOSORD0 RTONMILE .86441 LFTNMILE -.86441 + CBOSORD0 DCBOSORD 1. LF1003C1 -1. + CBOSORD1 REVENUES .75 OBJECTIV -.75 + CBOSORD1 RTONMILE .87605 LFTNMILE -.87605 + CBOSORD1 DCBOSORD 1. LF1011C1 -1. + CBOSORD1 LF1011C2 -1. + CBOSORD2 REVENUES .75 OBJECTIV -.75 + CBOSORD2 RTONMILE .91637 LFTNMILE -.91637 + CBOSORD2 DCBOSORD 1. LF1013C1 -1. + CBOSORD2 LF1013C2 -1. + CBOSORD3 REVENUES .75 OBJECTIV -.75 + CBOSORD3 RTONMILE .91722 LFTNMILE -.91722 + CBOSORD3 DCBOSORD 1. LF1100C1 -1. + CBOSORD3 LF1100C2 -1. LF1100C3 -1. + CBOSORD4 REVENUES .75 OBJECTIV -.75 + CBOSORD4 RTONMILE .87605 LFTNMILE -.87605 + CBOSORD4 DCBOSORD 1. LF1102C1 -1. + CBOSORD4 LF1102C2 -1. + CBOSCLE0 REVENUES .53 OBJECTIV -.53 + CBOSCLE0 RTONMILE .56156 LFTNMILE -.56156 + CBOSCLE0 DCBOSCLE 1. LF1005C1 -1. + CBOSCLE1 REVENUES .53 OBJECTIV -.53 + CBOSCLE1 RTONMILE .56156 LFTNMILE -.56156 + CBOSCLE1 DCBOSCLE 1. LF1011C1 -1. + CBOSCLE2 REVENUES .53 OBJECTIV -.53 + CBOSCLE2 RTONMILE .60273 LFTNMILE -.60273 + CBOSCLE2 DCBOSCLE 1. LF1100C1 -1. + CBOSCLE2 LF1100C2 -1. + CBOSCLE3 REVENUES .53 OBJECTIV -.53 + CBOSCLE3 RTONMILE .56156 LFTNMILE -.56156 + CBOSCLE3 DCBOSCLE 1. LF1102C1 -1. + CORDBOS0 REVENUES .75 OBJECTIV -.75 + CORDBOS0 RTONMILE .87605 LFTNMILE -.87605 + CORDBOS0 DCORDBOS 1. LF1006C1 -1. + CORDBOS0 LF1006C2 -1. + CORDBOS1 REVENUES .75 OBJECTIV -.75 + CORDBOS1 RTONMILE .91637 LFTNMILE -.91637 + CORDBOS1 DCORDBOS 1. LF1008C1 -1. + CORDBOS1 LF1008C2 -1. + CORDBOS2 REVENUES .75 OBJECTIV -.75 + CORDBOS2 RTONMILE .91722 LFTNMILE -.91722 + CORDBOS2 DCORDBOS 1. LF1010C1 -1. + CORDBOS2 LF1010C2 -1. LF1010C3 -1. + CORDBOS3 REVENUES .75 OBJECTIV -.75 + CORDBOS3 RTONMILE .87605 LFTNMILE -.87605 + CORDBOS3 DCORDBOS 1. LF1100C4 -1. + CORDBOS3 LF1100C5 -1. + CORDBOS4 REVENUES .75 OBJECTIV -.75 + CORDBOS4 RTONMILE .91637 LFTNMILE -.91637 + CORDBOS4 DCORDBOS 1. LF1102C3 -1. + CORDBOS4 LF1102C4 -1. + CORDLGA0 REVENUES .68 OBJECTIV -.68 + CORDLGA0 RTONMILE .7308 LFTNMILE -.7308 + CORDLGA0 DCORDLGA 1. LF1004C1 -1. + CORDLGA1 REVENUES .68 OBJECTIV -.68 + CORDLGA1 RTONMILE .7308 LFTNMILE -.7308 + CORDLGA1 DCORDLGA 1. LF1008C1 -1. + CORDLGA2 REVENUES .68 OBJECTIV -.68 + CORDLGA2 RTONMILE .73165 LFTNMILE -.73165 + CORDLGA2 DCORDLGA 1. LF1010C1 -1. + CORDLGA2 LF1010C2 -1. + CORDLGA3 REVENUES .68 OBJECTIV -.68 + CORDLGA3 RTONMILE .7308 LFTNMILE -.7308 + CORDLGA3 DCORDLGA 1. LF1102C3 -1. + CLGAORD0 REVENUES .68 OBJECTIV -.68 + CLGAORD0 RTONMILE .7308 LFTNMILE -.7308 + CLGAORD0 DCLGAORD 1. LF1013C2 -1. + CLGAORD1 REVENUES .68 OBJECTIV -.68 + CLGAORD1 RTONMILE .7308 LFTNMILE -.7308 + CLGAORD1 DCLGAORD 1. LF1017C1 -1. + CLGAORD2 REVENUES .68 OBJECTIV -.68 + CLGAORD2 RTONMILE .73165 LFTNMILE -.73165 + CLGAORD2 DCLGAORD 1. LF1019C1 -1. + CLGAORD2 LF1019C2 -1. + CLGAORD3 REVENUES .68 OBJECTIV -.68 + CLGAORD3 RTONMILE .73165 LFTNMILE -.73165 + CLGAORD3 DCLGAORD 1. LF1100C2 -1. + CLGAORD3 LF1100C3 -1. + CLGACLE0 REVENUES .37 OBJECTIV -.37 + CLGACLE0 RTONMILE .41715 LFTNMILE -.41715 + CLGACLE0 DCLGACLE 1. LF1015C1 -1. + CLGACLE1 REVENUES .37 OBJECTIV -.37 + CLGACLE1 RTONMILE .41715 LFTNMILE -.41715 + CLGACLE1 DCLGACLE 1. LF1019C1 -1. + CLGACLE2 REVENUES .37 OBJECTIV -.37 + CLGACLE2 RTONMILE .41715 LFTNMILE -.41715 + CLGACLE2 DCLGACLE 1. LF1100C2 -1. + CCLELGA0 REVENUES .37 OBJECTIV -.37 + CCLELGA0 RTONMILE .41715 LFTNMILE -.41715 + CCLELGA0 DCCLELGA 1. LF1010C2 -1. + CCLELGA1 REVENUES .37 OBJECTIV -.37 + CCLELGA1 RTONMILE .41715 LFTNMILE -.41715 + CCLELGA1 DCCLELGA 1. LF1012C1 -1. + CCLELGA2 REVENUES .37 OBJECTIV -.37 + CCLELGA2 RTONMILE .41715 LFTNMILE -.41715 + CCLELGA2 DCCLELGA 1. LF1014C1 -1. + CCLELGA3 REVENUES .37 OBJECTIV -.37 + CCLELGA3 RTONMILE 1.0453 LFTNMILE -1.0453 + CCLELGA3 DCCLELGA 1. LF1102C2 -1. + CCLELGA3 LF1102C3 -1. + GRDTIMO1 FLAV*1 1. ACOCOSTS .65 + GRDTIMO1 OBJECTIV .65 + GRDTIMN1 FLAV*1 1. ACOCOSTS -.05 + GRDTIMN1 OBJECTIV -.05 + GRDTIMO2 FLAV*2 1. ACOCOSTS .275 + GRDTIMO2 OBJECTIV .275 + GRDTIMN2 FLAV*2 1. ACOCOSTS -.02889 + GRDTIMN2 OBJECTIV -.02889 + GRDTIMN3 FLAV*3 1. ACOCOSTS -.03611 + GRDTIMN3 OBJECTIV -.03611 + GRDTIMN4 FLAV*4 1. ACOCOSTS -.01333 + GRDTIMN4 OBJECTIV -.01333 + N1003AC1 ACOCOSTS .01 OBJECTIV .01 + N1003AC1 FUELAVAL 7.98429 SYSTDEPT 1. + N1003AC1 ACMILES .86441 ASMILES 351.81396 + N1003AC1 LFRPMASM 211.088376 FLAV*1 2.32729 + N1003AC1 ATONMILE 25.93224 LFTNMILE 12.96612 + N1003AC1 LF1003S1 305. LF1003B1 12. + N1003AC1 CONTBOS1 1. CONTORD1 -1. + N1003AC1 MSBOSORD 1. + N1003AC2 ACOCOSTS .02 OBJECTIV .02 + N1003AC2 FUELAVAL 2.51914 SYSTDEPT 1. + N1003AC2 ACMILES .86441 ASMILES 113.23743 + N1003AC2 LFRPMASM 67.942458 FLAV*2 2.10966 + N1003AC2 LF1003S1 98. CONTBOS2 1. + N1003AC2 CONTORD2 -1. MSBOSORD 1. + N1003AC3 ACOCOSTS .03 OBJECTIV .03 + N1003AC3 FUELAVAL 3.15178 SYSTDEPT 1. + N1003AC3 ACMILES .86441 FLAV*3 2.10966 + N1003AC3 ATONMILE 34.57631 LFTNMILE 17.288155 + N1003AC3 LF1003C1 30. CONTBOS3 1. + N1003AC3 CONTORD3 -1. + N1003AC4 ACOCOSTS .04 OBJECTIV .04 + N1003AC4 FUELAVAL 1.99337 SYSTDEPT 1. + N1003AC4 ACMILES .86441 FLAV*4 2.10966 + N1003AC4 ATONMILE 12.96612 LFTNMILE 6.48306 + N1003AC4 LF1003C1 11.25 CONTBOS4 1. + N1003AC4 CONTORD4 -1. + N1005AC1 ACOCOSTS 4.04337 OBJECTIV 4.04337 + N1005AC1 FUELAVAL 5.83404 SYSTDEPT 1. + N1005AC1 ACMILES .56156 ASMILES 228.55299 + N1005AC1 LFRPMASM 137.131794 FLAV*1 1000. + N1005AC1 ATONMILE 16.84665 LFTNMILE 8.423325 + N1005AC1 LF1005S1 305. LF1005B1 12. + N1005AC1 NOPTCLE0 1. CONTBOS1 1. + N1005AC1 CONTCLE1 -1. MSBOSCLE 1. + N1005AC2 ACOCOSTS 1.60964 OBJECTIV 1.60964 + N1005AC2 FUELAVAL 1.82258 SYSTDEPT 1. + N1005AC2 ACMILES .56156 ASMILES 73.56374 + N1005AC2 LFRPMASM 44.138244 FLAV*2 2000. + N1005AC2 LF1005S1 98. NOPTCLE0 1. + N1005AC2 CONTBOS2 1. CONTCLE2 -1. + N1005AC2 MSBOSCLE 1. + N1005AC3 ACOCOSTS 1.93119 OBJECTIV 1.93119 + N1005AC3 FUELAVAL 2.27351 SYSTDEPT 1. + N1005AC3 ACMILES .56156 FLAV*3 3000. + N1005AC3 ATONMILE 22.4622 LFTNMILE 11.2311 + N1005AC3 LF1005C1 30. NOPTCLE0 1. + N1005AC3 CONTBOS3 1. CONTCLE3 -1. + N1005AC4 ACOCOSTS 1.34618 OBJECTIV 1.34618 + N1005AC4 FUELAVAL 1.41795 SYSTDEPT 1. + N1005AC4 ACMILES .56156 FLAV*4 1500. + N1005AC4 ATONMILE 8.42333 LFTNMILE 4.211665 + N1005AC4 LF1005C1 11.25 NOPTCLE0 1. + N1005AC4 CONTBOS4 1. CONTCLE4 -1. + N1011AC1 ACOCOSTS 1.1 OBJECTIV 1.1 + N1011AC1 FUELAVAL 9.91398 SYSTDEPT 2. + N1011AC1 ACMILES .87605 ASMILES 356.55371 + N1011AC1 LFRPMASM 213.932226 FLAV*1 25. + N1011AC1 ATONMILE 26.2816 LFTNMILE 13.1408 + N1011AC1 LF1011S1 305. LF1011S2 305. + N1011AC1 LF1011B1 12. LF1011B2 12. + N1011AC1 NOPTCLE0 2. CONTBOS1 1. + N1011AC1 CONTORD1 -1. MSBOSCLE 1. + N1011AC1 MSBOSORD 1. MSCLEORD 1. + N1011AC2 ACOCOSTS 1.2 OBJECTIV 1.2 + N1011AC2 FUELAVAL 3.07692 SYSTDEPT 2. + N1011AC2 ACMILES .87605 ASMILES 114.76299 + N1011AC2 LFRPMASM 68.857794 FLAV*2 25. + N1011AC2 LF1011S1 98. LF1011S2 98. + N1011AC2 NOPTCLE0 2. CONTBOS2 1. + N1011AC2 CONTORD2 -1. MSBOSCLE 1. + N1011AC2 MSBOSORD 1. MSCLEORD 1. + N1011AC3 ACOCOSTS 1.3 OBJECTIV 1.3 + N1011AC3 FUELAVAL 3.83055 SYSTDEPT 2. + N1011AC3 ACMILES .87605 FLAV*3 26. + N1011AC3 ATONMILE 35.04214 LFTNMILE 17.52107 + N1011AC3 LF1011C1 30. LF1011C2 30. + N1011AC3 NOPTCLE0 2. CONTBOS3 1. + N1011AC3 CONTORD3 -1. + N1011AC4 ACOCOSTS 2.34647 OBJECTIV 2.34647 + N1011AC4 FUELAVAL 2.3665 SYSTDEPT 2. + N1011AC4 ACMILES .87605 FLAV*4 27. + N1011AC4 ATONMILE 13.1408 LFTNMILE 6.5704 + N1011AC4 LF1011C1 11.25 LF1011C2 11.25 + N1011AC4 NOPTCLE0 2. CONTBOS4 1. + N1011AC4 CONTORD4 -1. + N1013AC2 ACOCOSTS 2.36783 OBJECTIV 2.36783 + N1013AC2 FUELAVAL 3.16965 SYSTDEPT 2. + N1013AC2 ACMILES .91637 ASMILES 120.04449 + N1013AC2 LFRPMASM 72.026694 FLAV*2 2.65943 + N1013AC2 LF1013S1 98. LF1013S2 98. + N1013AC2 CONTBOS2 1. CONTORD2 -1. + N1013AC2 MSBOSLGA 1. MSBOSORD 1. + N1013AC2 MSLGAORD 1. + N1013AC4 ACOCOSTS 1.90292 OBJECTIV 1.90292 + N1013AC4 FUELAVAL 2.4431 SYSTDEPT 2. + N1013AC4 ACMILES .91637 FLAV*4 2.65943 + N1013AC4 ATONMILE 13.74556 LFTNMILE 6.87278 + N1013AC4 LF1013C1 11.25 LF1013C2 11.25 + N1013AC4 CONTBOS4 1. CONTORD4 -1. + N1013AC4 MCLGAORD 1. + N1015AC2 ACOCOSTS 1.36416 OBJECTIV 1.36416 + N1015AC2 FUELAVAL 1.49045 SYSTDEPT 1. + N1015AC2 ACMILES .41715 ASMILES 54.64705 + N1015AC2 LFRPMASM 32.78823 FLAV*2 1.25093 + N1015AC2 LF1015S1 98. NOPTCLE0 1. + N1015AC2 CONTLGA2 1. CONTCLE2 -1. + N1015AC2 MSLGACLE 1. + N1015AC4 ACOCOSTS 1.14401 OBJECTIV 1.14401 + N1015AC4 FUELAVAL 1.14359 SYSTDEPT 1. + N1015AC4 ACMILES .41715 FLAV*4 1.25093 + N1015AC4 ATONMILE 6.25729 LFTNMILE 3.128645 + N1015AC4 LF1015C1 11.25 NOPTCLE0 1. + N1015AC4 CONTLGA4 1. CONTCLE4 -1. + N1017AC2 ACOCOSTS 1.64736 OBJECTIV 1.64736 + N1017AC2 FUELAVAL 2.21183 SYSTDEPT 1. + N1017AC2 ACMILES .7308 ASMILES 95.73444 + N1017AC2 LFRPMASM 57.440664 FLAV*2 1.85313 + N1017AC2 LF1017S1 98. CONTLGA2 1. + N1017AC2 CONTORD2 -1. MSLGAORD 1. + N1017AC4 ACOCOSTS 1.33312 OBJECTIV 1.33312 + N1017AC4 FUELAVAL 1.73951 SYSTDEPT 1. + N1017AC4 ACMILES .7308 FLAV*4 1.85313 + N1017AC4 ATONMILE 10.96196 LFTNMILE 5.48098 + N1017AC4 LF1017C1 11.25 CONTLGA4 1. + N1017AC4 CONTORD4 -1. MCLGAORD 1. + N1019AC2 ACOCOSTS 2.55381 OBJECTIV 2.55381 + N1019AC2 FUELAVAL 2.7448 SYSTDEPT 2. + N1019AC2 ACMILES .73165 ASMILES 95.8463 + N1019AC2 LFRPMASM 57.50778 FLAV*2 2.30477 + N1019AC2 LF1019S1 98. LF1019S2 98. + N1019AC2 NOPTCLE0 2. CONTLGA2 1. + N1019AC2 CONTORD2 -1. MSLGACLE 1. + N1019AC2 MSLGAORD 1. MSCLEORD 1. + N1019AC4 ACOCOSTS 2.14431 OBJECTIV 2.14431 + N1019AC4 FUELAVAL 2.09214 SYSTDEPT 2. + N1019AC4 ACMILES .73165 FLAV*4 2.30477 + N1019AC4 ATONMILE 10.97477 LFTNMILE 5.487385 + N1019AC4 LF1019C1 11.25 LF1019C2 11.25 + N1019AC4 NOPTCLE0 2. CONTLGA4 1. + N1019AC4 CONTORD4 -1. MCLGAORD 1. + N1021AC1 ACOCOSTS 3.12679 OBJECTIV 3.12679 + N1021AC1 FUELAVAL 4.07994 SYSTDEPT 1. + N1021AC1 ACMILES .3145 ASMILES 128.00075 + N1021AC1 LFRPMASM 76.80045 FLAV*1 1.34295 + N1021AC1 ATONMILE 9.43495 LFTNMILE 4.717475 + N1021AC1 LF1021S1 305. LF1021B1 12. + N1021AC1 NOPTCLE0 1. CONTCLE1 1. + N1021AC1 CONTORD1 -1. MSCLEORD 1. + N1021AC2 ACOCOSTS 1.18965 OBJECTIV 1.18965 + N1021AC2 FUELAVAL 1.25435 SYSTDEPT 1. + N1021AC2 ACMILES .3145 ASMILES 41.19926 + N1021AC2 LFRPMASM 24.719556 FLAV*2 1.05384 + N1021AC2 LF1021S1 98. NOPTCLE0 1. + N1021AC2 CONTCLE2 1. CONTORD2 -1. + N1021AC2 MSCLEORD 1. + N1021AC3 ACOCOSTS 1.42472 OBJECTIV 1.42472 + N1021AC3 FUELAVAL 1.55704 SYSTDEPT 1. + N1021AC3 ACMILES .3145 FLAV*3 1.05384 + N1021AC3 ATONMILE 12.57993 LFTNMILE 6.289965 + N1021AC3 LF1021C1 30. NOPTCLE0 1. + N1021AC3 CONTCLE3 1. CONTORD3 -1. + N1021AC4 ACOCOSTS 1.0003 OBJECTIV 1.0003 + N1021AC4 FUELAVAL .94855 SYSTDEPT 1. + N1021AC4 ACMILES .3145 FLAV*4 1.05384 + N1021AC4 ATONMILE 4.71747 LFTNMILE 2.358735 + N1021AC4 LF1021C1 11.25 NOPTCLE0 1. + N1021AC4 CONTCLE4 1. CONTORD4 -1. + N1002AC1 ACOCOSTS 3.12679 OBJECTIV 3.12679 + N1002AC1 FUELAVAL 4.07994 SYSTDEPT 1. + N1002AC1 ACMILES .3145 ASMILES 128.00075 + N1002AC1 LFRPMASM 76.80045 FLAV*1 1.34295 + N1002AC1 ATONMILE 9.43495 LFTNMILE 4.717475 + N1002AC1 LF1002S1 305. LF1002B1 12. + N1002AC1 NOPTCLE0 1. CONTORD1 1. + N1002AC1 CONTCLE1 -1. MSORDCLE 1. + N1002AC2 ACOCOSTS 1.18965 OBJECTIV 1.18965 + N1002AC2 FUELAVAL 1.25435 SYSTDEPT 1. + N1002AC2 ACMILES .3145 ASMILES 41.19926 + N1002AC2 LFRPMASM 24.719556 FLAV*2 1.05384 + N1002AC2 LF1002S1 98. NOPTCLE0 1. + N1002AC2 CONTORD2 1. CONTCLE2 -1. + N1002AC2 MSORDCLE 1. + N1002AC3 ACOCOSTS 1.42472 OBJECTIV 1.42472 + N1002AC3 FUELAVAL 1.55704 SYSTDEPT 1. + N1002AC3 ACMILES .3145 FLAV*3 1.05384 + N1002AC3 ATONMILE 12.57993 LFTNMILE 6.289965 + N1002AC3 LF1002C1 30. NOPTCLE0 1. + N1002AC3 CONTORD3 1. CONTCLE3 -1. + N1002AC4 ACOCOSTS 1.0003 OBJECTIV 1.0003 + N1002AC4 FUELAVAL .94855 SYSTDEPT 1. + N1002AC4 ACMILES .3145 FLAV*4 1.05384 + N1002AC4 ATONMILE 4.71747 LFTNMILE 2.358735 + N1002AC4 LF1002C1 11.25 NOPTCLE0 1. + N1002AC4 CONTORD4 1. CONTCLE4 -1. + N1004AC2 ACOCOSTS 1.64736 OBJECTIV 1.64736 + N1004AC2 FUELAVAL 2.21183 SYSTDEPT 1. + N1004AC2 ACMILES .7308 ASMILES 95.73444 + N1004AC2 LFRPMASM 57.440664 FLAV*2 1.85313 + N1004AC2 LF1004S1 98. CONTORD2 1. + N1004AC2 CONTLGA2 -1. MSORDLGA 1. + N1004AC4 ACOCOSTS 1.33312 OBJECTIV 1.33312 + N1004AC4 FUELAVAL 1.73951 SYSTDEPT 1. + N1004AC4 ACMILES .7308 FLAV*4 1.85313 + N1004AC4 ATONMILE 10.96196 LFTNMILE 5.48098 + N1004AC4 LF1004C1 11.25 CONTORD4 1. + N1004AC4 CONTLGA4 -1. + N1006AC1 ACOCOSTS 7.17016 OBJECTIV 7.17016 + N1006AC1 FUELAVAL 9.91398 SYSTDEPT 2. + N1006AC1 ACMILES .87605 ASMILES 356.55371 + N1006AC1 LFRPMASM 213.932226 FLAV*1 3.12813 + N1006AC1 ATONMILE 26.2816 LFTNMILE 13.1408 + N1006AC1 LF1006S1 305. LF1006S2 305. + N1006AC1 LF1006B1 12. LF1006B2 12. + N1006AC1 NOPTCLE0 2. CONTORD1 1. + N1006AC1 CONTBOS1 -1. MSORDCLE 1. + N1006AC1 MSORDBOS 1. MSCLEBOS 1. + N1006AC2 ACOCOSTS 2.79929 OBJECTIV 2.79929 + N1006AC2 FUELAVAL 3.07692 SYSTDEPT 2. + N1006AC2 ACMILES .87605 ASMILES 114.76299 + N1006AC2 LFRPMASM 68.857794 FLAV*2 2.58202 + N1006AC2 LF1006S1 98. LF1006S2 98. + N1006AC2 NOPTCLE0 2. CONTORD2 1. + N1006AC2 CONTBOS2 -1. MSORDCLE 1. + N1006AC2 MSORDBOS 1. MSCLEBOS 1. + N1006AC3 ACOCOSTS 3.35591 OBJECTIV 3.35591 + N1006AC3 FUELAVAL 3.83055 SYSTDEPT 2. + N1006AC3 ACMILES .87605 FLAV*3 2.58202 + N1006AC3 ATONMILE 35.04214 LFTNMILE 17.52107 + N1006AC3 LF1006C1 30. LF1006C2 30. + N1006AC3 NOPTCLE0 2. CONTORD3 1. + N1006AC3 CONTBOS3 -1. MCORDBOS 1. + N1006AC4 ACOCOSTS 2.34647 OBJECTIV 2.34647 + N1006AC4 FUELAVAL 2.3665 SYSTDEPT 2. + N1006AC4 ACMILES .87605 FLAV*4 2.58202 + N1006AC4 ATONMILE 13.1408 LFTNMILE 6.5704 + N1006AC4 LF1006C1 11.25 LF1006C2 11.25 + N1006AC4 NOPTCLE0 2. CONTORD4 1. + N1006AC4 CONTBOS4 -1. MCORDBOS 1. + N1008AC2 ACOCOSTS 2.36783 OBJECTIV 2.36783 + N1008AC2 FUELAVAL 3.16965 SYSTDEPT 2. + N1008AC2 ACMILES .91637 ASMILES 120.04449 + N1008AC2 LFRPMASM 72.026694 FLAV*2 2.65943 + N1008AC2 LF1008S1 98. LF1008S2 98. + N1008AC2 CONTORD2 1. CONTBOS2 -1. + N1008AC2 MSORDLGA 1. MSORDBOS 1. + N1008AC2 MSLGABOS 1. + N1008AC4 ACOCOSTS 1.90292 OBJECTIV 1.90292 + N1008AC4 FUELAVAL 2.4431 SYSTDEPT 2. + N1008AC4 ACMILES .91637 FLAV*4 2.65943 + N1008AC4 ATONMILE 13.74556 LFTNMILE 6.87278 + N1008AC4 LF1008C1 11.25 LF1008C2 11.25 + N1008AC4 CONTORD4 1. CONTBOS4 -1. + N1008AC4 MCORDBOS 1. + N1010AC2 ACOCOSTS 3.27428 OBJECTIV 3.27428 + N1010AC2 FUELAVAL 3.70262 SYSTDEPT 3. + N1010AC2 ACMILES .91722 ASMILES 120.15637 + N1010AC2 LFRPMASM 72.093822 FLAV*2 3.11107 + N1010AC2 LF1010S1 98. LF1010S2 98. + N1010AC2 LF1010S3 98. NOPTCLE0 2. + N1010AC2 CONTORD2 1. CONTBOS2 -1. + N1010AC2 MSORDCLE 1. MSORDLGA 1. + N1010AC2 MSORDBOS 1. MSCLELGA 1. + N1010AC2 MSCLEBOS 1. MSLGABOS 1. + N1010AC4 ACOCOSTS 2.71411 OBJECTIV 2.71411 + N1010AC4 FUELAVAL 2.79573 SYSTDEPT 3. + N1010AC4 ACMILES .91722 FLAV*4 3.11107 + N1010AC4 ATONMILE 13.75836 LFTNMILE 6.87918 + N1010AC4 LF1010C1 11.25 LF1010C2 11.25 + N1010AC4 LF1010C3 11.25 NOPTCLE0 2. + N1010AC4 CONTORD4 1. CONTBOS4 -1. + N1010AC4 MCORDBOS 1. + N1012AC2 ACOCOSTS 1.36416 OBJECTIV 1.36416 + N1012AC2 FUELAVAL 1.49045 SYSTDEPT 1. + N1012AC2 ACMILES .41715 ASMILES 54.64705 + N1012AC2 LFRPMASM 32.78823 FLAV*2 1.25093 + N1012AC2 LF1012S1 98. NOPTCLE0 1. + N1012AC2 CONTCLE2 1. CONTLGA2 -1. + N1012AC2 MSCLELGA 1. + N1012AC4 ACOCOSTS 1.14401 OBJECTIV 1.14401 + N1012AC4 FUELAVAL 1.14359 SYSTDEPT 1. + N1012AC4 ACMILES .41715 FLAV*4 1.25093 + N1012AC4 ATONMILE 6.25729 LFTNMILE 3.128645 + N1012AC4 LF1012C1 11.25 NOPTCLE0 1. + N1012AC4 CONTCLE4 1. CONTLGA4 -1. + N1014AC2 ACOCOSTS 2.08463 OBJECTIV 2.08463 + N1014AC2 FUELAVAL 2.44827 SYSTDEPT 2. + N1014AC2 ACMILES .60273 ASMILES 78.95706 + N1014AC2 LFRPMASM 47.374236 FLAV*2 2.05723 + N1014AC2 LF1014S1 98. LF1014S2 98. + N1014AC2 NOPTCLE0 1. CONTCLE2 1. + N1014AC2 CONTBOS2 -1. MSCLELGA 1. + N1014AC2 MSCLEBOS 1. MSLGABOS 1. + N1014AC4 ACOCOSTS 1.71382 OBJECTIV 1.71382 + N1014AC4 FUELAVAL 1.84718 SYSTDEPT 2. + N1014AC4 ACMILES .60273 FLAV*4 2.05723 + N1014AC4 ATONMILE 9.04089 LFTNMILE 4.520445 + N1014AC4 LF1014C1 11.25 LF1014C2 11.25 + N1014AC4 NOPTCLE0 1. CONTCLE4 1. + N1014AC4 CONTBOS4 -1. + N1100AC2 ACOCOSTS 6.07357 OBJECTIV 6.07357 + N1100AC2 FUELAVAL 6.77953 SYSTDEPT 5. + N1100AC2 ACMILES 1.79328 ASMILES 234.91937 + N1100AC2 LFRPMASM 140.951622 FLAV*2 5.69309 + N1100AC2 LF1100S1 98. LF1100S2 98. + N1100AC2 LF1100S3 98. LF1100S4 98. + N1100AC2 LF1100S5 98. NOPTCLE0 4. + N1100AC2 MSBOSLGA 1. MSBOSCLE 1. + N1100AC2 MSBOSORD 1. MSLGACLE 1. + N1100AC2 MSLGAORD 1. MSLGABOS 1. + N1100AC2 MSCLEORD 1. MSORDCLE 1. + N1100AC2 MSORDBOS 1. MSCLEBOS 1. + N1100AC4 ACOCOSTS 5.06059 OBJECTIV 5.06059 + N1100AC4 FUELAVAL 5.16223 SYSTDEPT 5. + N1100AC4 ACMILES 1.79328 FLAV*4 5.69309 + N1100AC4 ATONMILE 26.89915 LFTNMILE 13.449575 + N1100AC4 LF1100C1 11.25 LF1100C2 11.25 + N1100AC4 LF1100C3 11.25 LF1100C4 11.25 + N1100AC4 LF1100C5 11.25 NOPTCLE0 4. + N1100AC4 MCLGAORD 1. MCORDBOS 1. + N1102AC2 ACOCOSTS 5.16712 OBJECTIV 5.16712 + N1102AC2 FUELAVAL 6.24657 SYSTDEPT 4. + N1102AC2 ACMILES 1.79242 ASMILES 234.80756 + N1102AC2 LFRPMASM 140.884536 FLAV*2 5.24145 + N1102AC2 LF1102S1 98. LF1102S2 98. + N1102AC2 LF1102S3 98. LF1102S4 98. + N1102AC2 NOPTCLE0 2. MSBOSCLE 1. + N1102AC2 MSBOSORD 1. MSBOSLGA 1. + N1102AC2 MSCLEORD 1. MSCLELGA 1. + N1102AC2 MSCLEBOS 1. MSORDLGA 1. + N1102AC2 MSORDBOS 1. MSLGABOS 1. + N1102AC4 ACOCOSTS 4.24939 OBJECTIV 4.24939 + N1102AC4 FUELAVAL 4.8096 SYSTDEPT 4. + N1102AC4 ACMILES 1.79242 FLAV*4 5.24145 + N1102AC4 ATONMILE 26.88635 LFTNMILE 13.443175 + N1102AC4 LF1102C1 11.25 LF1102C2 11.25 + N1102AC4 LF1102C3 11.25 LF1102C4 11.25 + N1102AC4 NOPTCLE0 2. MCORDBOS 1. + N1200AC2 ACOCOSTS .72047 OBJECTIV .72047 + N1200AC2 FUELAVAL .95782 SYSTDEPT 1. + N1200AC2 ACMILES .18557 ASMILES 24.31007 + N1200AC2 LFRPMASM 14.586042 FLAV*2 .8063 + N1200AC2 LF1200S1 98. CONTBOS2 1. + N1200AC2 CONTLGA2 -1. MSBOSLGA 1. + N1200AC4 ACOCOSTS .5698 OBJECTIV .5698 + N1200AC4 FUELAVAL .70359 SYSTDEPT 1. + N1200AC4 ACMILES .18557 FLAV*4 .8063 + N1200AC4 ATONMILE 2.7836 LFTNMILE 1.3918 + N1200AC4 LF1200C1 11.25 CONTBOS4 1. + N1200AC4 CONTLGA4 -1. + N1201AC2 ACOCOSTS .72047 OBJECTIV .72047 + N1201AC2 FUELAVAL .95782 SYSTDEPT 1. + N1201AC2 ACMILES .18557 ASMILES 24.31007 + N1201AC2 LFRPMASM 14.586042 FLAV*2 .8063 + N1201AC2 LF1201S1 98. CONTLGA2 1. + N1201AC2 CONTBOS2 -1. MSLGABOS 1. + N1201AC4 ACOCOSTS .5698 OBJECTIV .5698 + N1201AC4 FUELAVAL .70359 SYSTDEPT 1. + N1201AC4 ACMILES .18557 FLAV*4 .8063 + N1201AC4 ATONMILE 2.7836 LFTNMILE 1.3918 + N1201AC4 LF1201C1 11.25 CONTLGA4 1. + N1201AC4 CONTBOS4 -1. +RHS + RHS1 FUELAVAL 100000. PASSNGRS 9431. + RHS1 SYSTDEPT 50. FLAV*1 30. + RHS1 FLAV*2 45. DMBOSORD 302. + RHS1 DMBOSLGA 2352. DMBOSCLE 142. + RHS1 DMORDBOS 302. DMORDLGA 515. + RHS1 DMORDCLE 619. DMLGABOS 2743. + RHS1 DMLGAORD 712. DMLGACLE 517. + RHS1 DMCLEBOS 131. DMCLEORD 712. + RHS1 DMCLELGA 409. MSBOSORD 3. + RHS1 MSBOSLGA 7. MSBOSCLE 1. + RHS1 MSORDBOS 3. MSORDLGA 4. + RHS1 MSORDCLE 5. MSLGABOS 7. + RHS1 MSLGAORD 5. MSLGACLE 4. + RHS1 MSCLEBOS 1. MSCLEORD 6. + RHS1 MSCLELGA 3. MCORDBOS 1. + RHS1 MCLGAORD 2. DCBOSORD 12. + RHS1 DCBOSCLE 16. DCORDBOS 24. + RHS1 DCORDLGA 13. DCLGAORD 45. + RHS1 DCLGACLE 16. DCCLELGA 5. + RHS1 NOPTCLE0 24. +RANGES + RANGE1 DMBOSORD 61. DMBOSLGA 471. + RANGE1 DMBOSCLE 29. DMORDBOS 61. + RANGE1 DMORDLGA 103. DMORDCLE 124. + RANGE1 DMLGABOS 549. DMLGAORD 143. + RANGE1 DMLGACLE 104. DMCLEBOS 27. + RANGE1 DMCLEORD 143. DMCLELGA 82. + RANGE1 DCBOSORD 12. DCBOSCLE 3.2 + RANGE1 DCORDBOS 4.8 DCORDLGA 2.6 + RANGE1 DCLGAORD 9. DCLGACLE 3.2 + RANGE1 DCCLELGA 5. +BOUNDS + LO INTBOU GRDTIMN1 -100. + UP INTBOU GRDTIMN1 0. + LO INTBOU GRDTIMN2 -90. + UP INTBOU GRDTIMN2 0. + LO INTBOU GRDTIMN3 -45. + UP INTBOU GRDTIMN3 0. + LO INTBOU GRDTIMN4 -45. + UP INTBOU GRDTIMN4 0. + UP INTBOU N1003AC1 7. + UP INTBOU N1003AC2 7. + UP INTBOU N1003AC3 2. + UP INTBOU N1003AC4 2. + UP INTBOU N1005AC1 7. + UP INTBOU N1005AC2 7. + UP INTBOU N1005AC3 2. + UP INTBOU N1005AC4 2. + UP INTBOU N1011AC1 7. + UP INTBOU N1011AC2 7. + UP INTBOU N1011AC3 2. + UP INTBOU N1011AC4 2. + UP INTBOU N1013AC2 14. + UP INTBOU N1013AC4 2. + UP INTBOU N1015AC2 7. + UP INTBOU N1015AC4 2. + UP INTBOU N1017AC2 7. + UP INTBOU N1017AC4 2. + UP INTBOU N1019AC2 7. + UP INTBOU N1019AC4 2. + UP INTBOU N1021AC1 7. + UP INTBOU N1021AC2 7. + UP INTBOU N1021AC3 2. + UP INTBOU N1021AC4 2. + UP INTBOU N1002AC1 7. + UP INTBOU N1002AC2 7. + UP INTBOU N1002AC3 2. + UP INTBOU N1002AC4 2. + UP INTBOU N1004AC2 7. + UP INTBOU N1004AC4 2. + UP INTBOU N1006AC1 7. + UP INTBOU N1006AC2 7. + UP INTBOU N1006AC3 2. + UP INTBOU N1006AC4 2. + UP INTBOU N1008AC2 14. + UP INTBOU N1008AC4 2. + UP INTBOU N1010AC2 14. + UP INTBOU N1010AC4 2. + UP INTBOU N1012AC2 7. + UP INTBOU N1012AC4 2. + UP INTBOU N1014AC2 14. + UP INTBOU N1014AC4 2. + UP INTBOU N1100AC2 7. + UP INTBOU N1100AC4 7. + UP INTBOU N1102AC2 7. + UP INTBOU N1102AC4 7. + UP INTBOU N1200AC2 14. + UP INTBOU N1200AC4 7. + UP INTBOU N1201AC2 14. + UP INTBOU N1201AC4 7. +ENDATA diff --git a/demos/ppl_lpsol/examples/egout.mps b/demos/ppl_lpsol/examples/egout.mps new file mode 100644 index 000000000..dab1108ff --- /dev/null +++ b/demos/ppl_lpsol/examples/egout.mps @@ -0,0 +1,403 @@ +*NAME: egout +*ROWS: 98 +*COLUMNS: 141 +*INTEGER: 55 +*NONZERO: 282 +*BEST SOLN: 568.101 (opt) +*LP SOLN: 149.589 +*SOURCE: Etienne Loute (Univ. of Louvain) +* Laurence A. Wolsey (Univ. of Louvain) +* Martin Savelsbergh (Eindhoven Univ. of Technology) +*APPLICATION: drainage system design, 42 nodes, 55 arcs +*COMMENTS: all integer variables are binary +* solution reported by Martin W. P. Savelsbergh +* +NAME EGOUT +ROWS + N COST + E ... + E 001 + E 002 + E 004 + E 006 + E 007 + E 009 + E 010 + E 011 + E 013 + E 014 + E 015 + E 017 + E 019 + E 020 + E 021 + E 023 + E 025 + E 026 + E 028 + E 029 + E 030 + E 031 + E 033 + E 034 + E 035 + E 036 + E 038 + E 039 + E 040 + E 041 + E 042 + E 003 + E 005 + E 008 + E 012 + E 016 + E 018 + E 024 + E 022 + E 027 + E 032 + E 037 + L U.001... + L U.001003 + L U.002003 + L U.002... + L U.003005 + L U.004005 + L U.004... + L U.005007 + L U.006007 + L U.007008 + L U.008... + L U.008009 + L U.010012 + L U.011012 + L U.012... + L U.012013 + L U.013016 + L U.014015 + L U.015016 + L U.016... + L U.016017 + L U.017018 + L U.009018 + L U.018019 + L U.019024 + L U.024... + L U.023024 + L U.022023 + L U.020022 + L U.021022 + L U.022... + L U.024026 + L U.025026 + L U.025... + L U.026027 + L U.027... + L U.027032 + L U.030031 + L U.031032 + L U.029031 + L U.028029 + L U.028... + L U.032033 + L U.033037 + L U.036037 + L U.034036 + L U.035036 + L U.037038 + L U.038040 + L U.039040 + L U.040... + L U.041... + L U.040041 + L U.041042 + L U.042... +COLUMNS + MARK0000 'MARKER' 'INTORG' + I.001... COST 28.21 U.001... -117.04 + I.001003 COST 18.57 U.001003 -117.04 + I.002003 COST 8.45 U.002003 -117.04 + I.002... COST 21.16 U.002... -117.04 + I.003005 COST 28.38 U.003005 -117.04 + I.004005 COST 9.8 U.004005 -117.04 + I.004... COST 23.29 U.004... -117.04 + I.005007 COST 5.07 U.005007 -117.04 + I.006007 COST 6.78 U.006007 -117.04 + I.007008 COST 2.9 U.007008 -117.04 + I.008... COST 27.89 U.008... -117.04 + I.008009 COST 10.03 U.008009 -117.04 + I.010012 COST 14.74 U.010012 -117.04 + I.011012 COST 6.19 U.011012 -117.04 + I.012... COST 22.1 U.012... -117.04 + I.012013 COST 15.82 U.012013 -117.04 + I.013016 COST 11.33 U.013016 -117.04 + I.014015 COST 5.79 U.014015 -117.04 + I.015016 COST 3.9 U.015016 -117.04 + I.016... COST 24.79 U.016... -117.04 + I.016017 COST 16.36 U.016017 -117.04 + I.017018 COST 3.45 U.017018 -117.04 + I.009018 COST 2.26 U.009018 -117.04 + I.018019 COST 3.86 U.018019 -117.04 + I.019024 COST 8.41 U.019024 -117.04 + I.024... COST 26.46 U.024... -117.04 + I.023024 COST 16.01 U.023024 -117.04 + I.022023 COST 16.73 U.022023 -117.04 + I.020022 COST 11.75 U.020022 -117.04 + I.021022 COST 3.25 U.021022 -117.04 + I.022... COST 27.41 U.022... -117.04 + I.024026 COST 5.98 U.024026 -117.04 + I.025026 COST 21.88 U.025026 -117.04 + I.025... COST 43.71 U.025... -117.04 + I.026027 COST 11.42 U.026027 -117.04 + I.027... COST 23.4 U.027... -117.04 + I.027032 COST 7.5 U.027032 -117.04 + I.030031 COST 6.73 U.030031 -117.04 + I.031032 COST 5.92 U.031032 -117.04 + I.029031 COST 9.7 U.029031 -117.04 + I.028029 COST 12.67 U.028029 -117.04 + I.028... COST 26.45 U.028... -117.04 + I.032033 COST 2.71 U.032033 -117.04 + I.033037 COST 5.89 U.033037 -117.04 + I.036037 COST 9.85 U.036037 -117.04 + I.034036 COST 8.5 U.034036 -117.04 + I.035036 COST 9 U.035036 -117.04 + I.037038 COST 2.27 U.037038 -117.04 + I.038040 COST 6.37 U.038040 -117.04 + I.039040 COST 16.2 U.039040 -117.04 + I.040... COST 23.58 U.040... -117.04 + I.041... COST 29.93 U.041... -117.04 + I.040041 COST 6.73 U.040041 -117.04 + I.041042 COST 20.66 U.041042 -117.04 + I.042... COST 30.92 U.042... -117.04 + MARK0001 'MARKER' 'INTEND' + F....001 ... 1 001 -1 + F....002 ... 1 002 -1 + F....004 ... 1 004 -1 + F....006 ... 1 006 -1 + F....007 ... 1 007 -1 + F....009 ... 1 009 -1 + F....010 ... 1 010 -1 + F....011 ... 1 011 -1 + F....013 ... 1 013 -1 + F....014 ... 1 014 -1 + F....015 ... 1 015 -1 + F....017 ... 1 017 -1 + F....019 ... 1 019 -1 + F....020 ... 1 020 -1 + F....021 ... 1 021 -1 + F....023 ... 1 023 -1 + F....025 ... 1 025 -1 + F....026 ... 1 026 -1 + F....028 ... 1 028 -1 + F....029 ... 1 029 -1 + F....030 ... 1 030 -1 + F....031 ... 1 031 -1 + F....033 ... 1 033 -1 + F....034 ... 1 034 -1 + F....035 ... 1 035 -1 + F....036 ... 1 036 -1 + F....038 ... 1 038 -1 + F....039 ... 1 039 -1 + F....040 ... 1 040 -1 + F....041 ... 1 041 -1 + F....042 ... 1 042 -1 + F.001... COST 0.979 ... -1 + F.001... 001 1 U.001... 1 + F.001003 COST 0.034 001 1 + F.001003 003 -1 U.001003 1 + F.002003 COST 0.016 002 1 + F.002003 003 -1 U.002003 1 + F.002... COST 0.914 ... -1 + F.002... 002 1 U.002... 1 + F.003005 COST 0.057 003 1 + F.003005 005 -1 U.003005 1 + F.004005 COST 0.016 004 1 + F.004005 005 -1 U.004005 1 + F.004... COST 0.969 ... -1 + F.004... 004 1 U.004... 1 + F.005007 COST 0.006 007 -1 + F.005007 005 1 U.005007 1 + F.006007 COST 0.01 006 1 + F.006007 007 -1 U.006007 1 + F.007008 COST 0.002 007 1 + F.007008 008 -1 U.007008 1 + F.008... COST 0.976 ... -1 + F.008... 008 1 U.008... 1 + F.008009 COST 0.017 009 -1 + F.008009 008 1 U.008009 1 + F.010012 COST 0.027 010 1 + F.010012 012 -1 U.010012 1 + F.011012 COST 0.009 011 1 + F.011012 012 -1 U.011012 1 + F.012... COST 0.964 ... -1 + F.012... 012 1 U.012... 1 + F.012013 COST 0.025 013 -1 + F.012013 012 1 U.012013 1 + F.013016 COST 0.015 013 1 + F.013016 016 -1 U.013016 1 + F.014015 COST 0.01 014 1 + F.014015 015 -1 U.014015 1 + F.015016 COST 0.006 015 1 + F.015016 016 -1 U.015016 1 + F.016... COST 0.97 ... -1 + F.016... 016 1 U.016... 1 + F.016017 COST 0.022 017 -1 + F.016017 016 1 U.016017 1 + F.017018 COST 0.003 017 1 + F.017018 018 -1 U.017018 1 + F.009018 COST 0.002 009 1 + F.009018 018 -1 U.009018 1 + F.018019 COST 0.004 019 -1 + F.018019 018 1 U.018019 1 + F.019024 COST 0.969 019 1 + F.019024 024 -1 U.019024 1 + F.024... COST 0.021 ... -1 + F.024... 024 1 U.024... 1 + F.023024 COST 0.026 023 1 + F.023024 024 -1 U.023024 1 + F.022023 COST 0.022 023 -1 + F.022023 022 1 U.022023 1 + F.020022 COST 0.005 020 1 + F.020022 022 -1 U.020022 1 + F.021022 COST 0.971 021 1 + F.021022 022 -1 U.021022 1 + F.022... COST 0.004 ... -1 + F.022... 022 1 U.022... 1 + F.024026 COST 0.054 026 -1 + F.024026 024 1 U.024026 1 + F.025026 COST 0.054 025 1 + F.025026 026 -1 U.025026 1 + F.025... COST 1.017 ... -1 + F.025... 025 1 U.025... 1 + F.026027 COST 0.02 026 1 + F.026027 027 -1 U.026027 1 + F.027... COST 0.967 ... -1 + F.027... 027 1 U.027... 1 + F.027032 COST 0.011 027 1 + F.027032 032 -1 U.027032 1 + F.030031 COST 0.012 030 1 + F.030031 031 -1 U.030031 1 + F.031032 COST 0.004 031 1 + F.031032 032 -1 U.031032 1 + F.029031 COST 0.012 029 1 + F.029031 031 -1 U.029031 1 + F.028029 COST 0.024 028 1 + F.028029 029 -1 U.028029 1 + F.028... COST 0.975 ... -1 + F.028... 028 1 U.028... 1 + F.032033 COST 0.002 033 -1 + F.032033 032 1 U.032033 1 + F.033037 COST 0.004 033 1 + F.033037 037 -1 U.033037 1 + F.036037 COST 0.018 036 1 + F.036037 037 -1 U.036037 1 + F.034036 COST 0.016 034 1 + F.034036 036 -1 U.034036 1 + F.035036 COST 0.015 035 1 + F.035036 036 -1 U.035036 1 + F.037038 COST 0.001 038 -1 + F.037038 037 1 U.037038 1 + F.038040 COST 0.009 038 1 + F.038040 040 -1 U.038040 1 + F.039040 COST 0.025 039 1 + F.039040 040 -1 U.039040 1 + F.040... COST 0.967 ... -1 + F.040... 040 1 U.040... 1 + F.041... COST 0.98 ... -1 + F.041... 041 1 U.041... 1 + F.040041 COST 0.01 040 1 + F.040041 041 -1 U.040041 1 + F.041042 COST 0.035 041 1 + F.041042 042 -1 U.041042 1 + F.042... COST 0.978 ... -1 + F.042... 042 1 U.042... 1 +RHS +BOUNDS + UP BOUNDS I.001... 1 + UP BOUNDS I.001003 1 + UP BOUNDS I.002003 1 + UP BOUNDS I.002... 1 + UP BOUNDS I.003005 1 + UP BOUNDS I.004005 1 + UP BOUNDS I.004... 1 + UP BOUNDS I.005007 1 + UP BOUNDS I.006007 1 + UP BOUNDS I.007008 1 + UP BOUNDS I.008... 1 + UP BOUNDS I.008009 1 + UP BOUNDS I.010012 1 + UP BOUNDS I.011012 1 + UP BOUNDS I.012... 1 + UP BOUNDS I.012013 1 + UP BOUNDS I.013016 1 + UP BOUNDS I.014015 1 + UP BOUNDS I.015016 1 + UP BOUNDS I.016... 1 + UP BOUNDS I.016017 1 + UP BOUNDS I.017018 1 + UP BOUNDS I.009018 1 + UP BOUNDS I.018019 1 + UP BOUNDS I.019024 1 + UP BOUNDS I.024... 1 + UP BOUNDS I.023024 1 + UP BOUNDS I.022023 1 + UP BOUNDS I.020022 1 + UP BOUNDS I.021022 1 + UP BOUNDS I.022... 1 + UP BOUNDS I.024026 1 + UP BOUNDS I.025026 1 + UP BOUNDS I.025... 1 + UP BOUNDS I.026027 1 + UP BOUNDS I.027... 1 + UP BOUNDS I.027032 1 + UP BOUNDS I.030031 1 + UP BOUNDS I.031032 1 + UP BOUNDS I.029031 1 + UP BOUNDS I.028029 1 + UP BOUNDS I.028... 1 + UP BOUNDS I.032033 1 + UP BOUNDS I.033037 1 + UP BOUNDS I.036037 1 + UP BOUNDS I.034036 1 + UP BOUNDS I.035036 1 + UP BOUNDS I.037038 1 + UP BOUNDS I.038040 1 + UP BOUNDS I.039040 1 + UP BOUNDS I.040... 1 + UP BOUNDS I.041... 1 + UP BOUNDS I.040041 1 + UP BOUNDS I.041042 1 + UP BOUNDS I.042... 1 + FX BOUNDS F....001 2.45 + FX BOUNDS F....002 0.61 + FX BOUNDS F....004 7.91 + FX BOUNDS F....006 4.54 + FX BOUNDS F....007 1.14 + FX BOUNDS F....009 0.28 + FX BOUNDS F....010 1.13 + FX BOUNDS F....011 21.46 + FX BOUNDS F....013 4.64 + FX BOUNDS F....014 0.31 + FX BOUNDS F....015 1.24 + FX BOUNDS F....017 0.07 + FX BOUNDS F....019 2.41 + FX BOUNDS F....020 0.39 + FX BOUNDS F....021 7.41 + FX BOUNDS F....023 0.07 + FX BOUNDS F....025 19.22 + FX BOUNDS F....026 10.49 + FX BOUNDS F....028 0.88 + FX BOUNDS F....029 5.7 + FX BOUNDS F....030 0.28 + FX BOUNDS F....031 0.28 + FX BOUNDS F....033 0.19 + FX BOUNDS F....034 0.19 + FX BOUNDS F....035 0.28 + FX BOUNDS F....036 0.57 + FX BOUNDS F....038 5.3 + FX BOUNDS F....039 5.32 + FX BOUNDS F....040 0.76 + FX BOUNDS F....041 5.08 + FX BOUNDS F....042 6.44 +ENDATA diff --git a/demos/ppl_lpsol/examples/ex1.mps b/demos/ppl_lpsol/examples/ex1.mps new file mode 100644 index 000000000..fcbc51a5b --- /dev/null +++ b/demos/ppl_lpsol/examples/ex1.mps @@ -0,0 +1,21 @@ +NAME from_lp_file +ROWS + N r_000000 + L C1 + L r_000002 +COLUMNS + MARK0000 'MARKER' 'INTORG' + x1 r_000000 1 + x1 C1 2 + x1 r_000002 -4 + x2 r_000000 -2 + x2 C1 1 + x2 r_000002 4 + MARK0001 'MARKER' 'INTEND' +RHS + RHS C1 5 + RHS r_000002 5 +BOUNDS + PL FOO x1 + PL FOO x2 +ENDATA diff --git a/demos/ppl_lpsol/examples/ex12.mps b/demos/ppl_lpsol/examples/ex12.mps new file mode 100644 index 000000000..755462b5c --- /dev/null +++ b/demos/ppl_lpsol/examples/ex12.mps @@ -0,0 +1,25 @@ +* Problem: UNKNOWN +* Class: MIP +* Rows: 2 +* Columns: 2 (1 integer, 0 binary) +* Non-zeros: 4 +* Format: Fixed MPS +* +NAME +ROWS + N R0000000 + L R0000001 + L R0000002 +COLUMNS + M0000001 'MARKER' 'INTORG' + C0000001 R0000000 4 R0000001 0.7 + C0000001 R0000002 0.1 + M0000002 'MARKER' 'INTEND' + C0000002 R0000000 1 R0000001 1 + C0000002 R0000002 0.025 +RHS + RHS1 R0000001 630 R0000002 135 +BOUNDS + LO BND1 C0000002 20 + UP BND1 C0000002 500 +ENDATA diff --git a/demos/ppl_lpsol/examples/kb2.mps b/demos/ppl_lpsol/examples/kb2.mps new file mode 100644 index 000000000..625cebaa8 --- /dev/null +++ b/demos/ppl_lpsol/examples/kb2.mps @@ -0,0 +1,219 @@ +NAME KB2 +ROWS + N FAT7..J. + E BAL...BW + E BHC...BW + E BLC...BW + E BLV...BW + E BN4...BW + E BP8...BW + E BTO...BW + E B3E...BW + E B3P...BW + E B3R...BW + E B3T...BW + E B3E.VOBW + E B3P.VOBW + E B3R.VOBW + G HMH.3EBW + G HML.3EBW + G HMM.3EBW + G HRH.3EBW + G HRL.3EBW + G HRM.3EBW + G HMH.3RBW + G HML.3RBW + G HMM.3RBW + G HRH.3RBW + G HRL.3RBW + G HRM.3RBW + G NOI.3EBW + G NOI.3PBW + G NOI.3RBW + E WMO.3PBW + E WRO.3PBW + L XPB.3ABW + L XCV.3EBW + L XPB.3EBW + L XRV.3EBW + L X12.3EBW + L XCV.3PBW + L XRV.3PBW + L X12.3PBW + L XCV.3RBW + L XPB.3RBW + L XRV.3RBW + L X12.3RBW +COLUMNS + BAL.3EBW BAL...BW -1. B3E.VOBW 1. + BAL.3EBW XCV.3EBW 6. XRV.3EBW 4. + BAL.3EBW X12.3EBW 50.3 HRL.3EBW 98.70277 + BAL.3EBW HML.3EBW 94.63568 HRM.3EBW 102.02191 + BAL.3EBW HMM.3EBW 98.08976 HRH.3EBW 103.0581 + BAL.3EBW HMH.3EBW 99.18559 + BHC.3EBW BHC...BW -1. B3E.VOBW 1. + BHC.3EBW XCV.3EBW -2. XRV.3EBW .5 + BHC.3EBW X12.3EBW -15.6 HRL.3EBW 92.89535 + BHC.3EBW HML.3EBW 79.40534 HRM.3EBW 94.57094 + BHC.3EBW HMM.3EBW 81.47009 HRH.3EBW 95.02163 + BHC.3EBW HMH.3EBW 82.04308 + BLC.3EBW BLC...BW -1. B3E.VOBW 1. + BLC.3EBW XCV.3EBW 7. XRV.3EBW 4.5 + BLC.3EBW X12.3EBW 57.9 HRL.3EBW 95.38345 + BLC.3EBW HML.3EBW 80.37873 HRM.3EBW 97.97965 + BLC.3EBW HMM.3EBW 83.22026 HRH.3EBW 98.64634 + BLC.3EBW HMH.3EBW 83.9937 + BLV.3EBW BLV...BW -1. B3E.VOBW 1. + BLV.3EBW XCV.3EBW 14. XRV.3EBW 7.2 + BLV.3EBW X12.3EBW 102.3 HRL.3EBW 82.8797 + BLV.3EBW HML.3EBW 80.36789 HRM.3EBW 87.33298 + BLV.3EBW HMM.3EBW 84.5191 HRH.3EBW 88.46612 + BLV.3EBW HMH.3EBW 85.61385 + BN4.3EBW BN4...BW -1. B3E.VOBW 1. + BN4.3EBW XCV.3EBW 80. XRV.3EBW 70. + BN4.3EBW X12.3EBW 113. HRL.3EBW 97.32996 + BN4.3EBW HML.3EBW 92.71594 HRM.3EBW 100.65 + BN4.3EBW HMM.3EBW 96.86628 HRH.3EBW 101.66321 + BN4.3EBW HMH.3EBW 98.06433 + BP8.3EBW BP8...BW -1. B3E.VOBW 1. + BP8.3EBW XCV.3EBW 4. XRV.3EBW 3.6 + BP8.3EBW X12.3EBW 28.9 HRL.3EBW 101.17309 + BP8.3EBW HML.3EBW 90.03844 HRM.3EBW 102.21363 + BP8.3EBW HMM.3EBW 91.26611 HRH.3EBW 102.51818 + BP8.3EBW HMH.3EBW 91.62642 + BTO.3EBW BTO...BW -1. B3E.VOBW 1. + BTO.3EBW XCV.3EBW -1. XRV.3EBW 1.2 + BTO.3EBW X12.3EBW 5. HRL.3EBW 105.47666 + BTO.3EBW HML.3EBW 89.10432 HRM.3EBW 106.21918 + BTO.3EBW HMM.3EBW 90.14887 HRH.3EBW 106.46719 + BTO.3EBW HMH.3EBW 90.49629 + BAL.3PBW BAL...BW -1. B3P.VOBW 1. + BAL.3PBW XCV.3PBW 6. XRV.3PBW 4. + BAL.3PBW X12.3PBW 50.3 WRO.3PBW 96.13556 + BAL.3PBW WMO.3PBW 91.96313 + BHC.3PBW BHC...BW -1. B3P.VOBW 1. + BHC.3PBW XCV.3PBW -2. XRV.3PBW .5 + BHC.3PBW X12.3PBW -15.6 WRO.3PBW 90.99637 + BHC.3PBW WMO.3PBW 78.09095 + BLC.3PBW BLC...BW -1. B3P.VOBW 1. + BLC.3PBW XCV.3PBW 7. XRV.3PBW 4.5 + BLC.3PBW X12.3PBW 57.9 WRO.3PBW 93.95665 + BLC.3PBW WMO.3PBW 80.74635 + BLV.3PBW BLV...BW -1. B3P.VOBW 1. + BLV.3PBW XCV.3PBW 14. XRV.3PBW 7.2 + BLV.3PBW X12.3PBW 102.3 WRO.3PBW 79.78002 + BLV.3PBW WMO.3PBW 77.37441 + BN4.3PBW BN4...BW -1. B3P.VOBW 1. + BN4.3PBW XCV.3PBW 80. XRV.3PBW 70. + BN4.3PBW X12.3PBW 113. WRO.3PBW 94.11062 + BN4.3PBW WMO.3PBW 88.35436 + BP8.3PBW BP8...BW -1. B3P.VOBW 1. + BP8.3PBW XCV.3PBW 4. XRV.3PBW 3.6 + BP8.3PBW X12.3PBW 28.9 WRO.3PBW 99.83178 + BP8.3PBW WMO.3PBW 88.58029 + BTO.3PBW BTO...BW -1. B3P.VOBW 1. + BTO.3PBW XCV.3PBW -1. XRV.3PBW 1.2 + BTO.3PBW X12.3PBW 5. WRO.3PBW 105.07558 + BTO.3PBW WMO.3PBW 88.18188 + BAL.3RBW BAL...BW -1. B3R.VOBW 1. + BAL.3RBW XCV.3RBW 6. XRV.3RBW 4. + BAL.3RBW X12.3RBW 50.3 HRL.3RBW 99.19039 + BAL.3RBW HML.3RBW 95.17073 HRM.3RBW 101.0885 + BAL.3RBW HMM.3RBW 97.11016 HRH.3RBW 103.0581 + BAL.3RBW HMH.3RBW 99.18559 + BHC.3RBW BHC...BW -1. B3R.VOBW 1. + BHC.3RBW XCV.3RBW -2. XRV.3RBW .5 + BHC.3RBW X12.3RBW -15.6 HRL.3RBW 93.16124 + BHC.3RBW HML.3RBW 79.72867 HRM.3RBW 94.14769 + BHC.3RBW HMM.3RBW 80.94047 HRH.3RBW 95.02163 + BHC.3RBW HMH.3RBW 82.04308 + BLC.3RBW BLC...BW -1. B3R.VOBW 1. + BLC.3RBW XCV.3RBW 7. XRV.3RBW 4.5 + BLC.3RBW X12.3RBW 57.9 HRL.3RBW 95.80861 + BLC.3RBW HML.3RBW 80.82888 HRM.3RBW 97.34183 + BLC.3RBW HMM.3RBW 82.49926 HRH.3RBW 98.64634 + BLC.3RBW HMH.3RBW 83.9937 + BLV.3RBW BLV...BW -1. B3R.VOBW 1. + BLV.3RBW XCV.3RBW 14. XRV.3RBW 7.2 + BLV.3RBW X12.3RBW 102.3 HRL.3RBW 83.61375 + BLV.3RBW HML.3RBW 81.03825 HRM.3RBW 86.24515 + BLV.3RBW HMM.3RBW 83.48458 HRH.3RBW 88.46612 + BLV.3RBW HMH.3RBW 85.61385 + BN4.3RBW BN4...BW -1. B3R.VOBW 1. + BN4.3RBW XCV.3RBW 80. XRV.3RBW 70. + BN4.3RBW X12.3RBW 113. HRL.3RBW 97.86876 + BN4.3RBW HML.3RBW 93.41749 HRM.3RBW 99.77765 + BN4.3RBW HMM.3RBW 95.86635 HRH.3RBW 101.66321 + BN4.3RBW HMH.3RBW 98.06433 + BP8.3RBW BP8...BW -1. B3R.VOBW 1. + BP8.3RBW XCV.3RBW 4. XRV.3RBW 3.6 + BP8.3RBW X12.3RBW 28.9 HRL.3RBW 101.32905 + BP8.3RBW HML.3RBW 90.22411 HRM.3RBW 101.93754 + BP8.3RBW HMM.3RBW 90.94112 HRH.3RBW 102.51818 + BP8.3RBW HMH.3RBW 91.62642 + BTO.3RBW BTO...BW -1. B3R.VOBW 1. + BTO.3RBW XCV.3RBW -1. XRV.3RBW 1.2 + BTO.3RBW X12.3RBW 5. HRL.3RBW 105.58392 + BTO.3RBW HML.3RBW 89.25587 HRM.3RBW 106.0019 + BTO.3RBW HMM.3RBW 89.84584 HRH.3RBW 106.46719 + BTO.3RBW HMH.3RBW 90.49629 + D3T...BW B3T...BW -1. FAT7..J. -16.5 + EAL...BW BAL...BW 1. + EHC...BW BHC...BW 1. + ELC...BW BLC...BW 1. + ELV...BW BLV...BW 1. + EN4...BW BN4...BW 1. FAT7..J. 12. + EP8...BW BP8...BW 1. + ETO...BW BTO...BW 1. FAT7..J. 16. + M3..3TBW B3T...BW 1. B3E...BW -.29 + M3..3TBW B3P...BW -.17 B3R...BW -.54 + QPB73EBW FAT7..J. .08757 XPB.3EBW 1. + QPB73EBW HRL.3EBW 2.52143 HML.3EBW 3.42918 + QPB73EBW HRM.3EBW 1.54954 HMM.3EBW 1.55751 + QPB73EBW HRH.3EBW 1.27141 HMH.3EBW 1.23842 + QPB73EBW XPB.3ABW 1. + QVO73EBW B3E...BW 1. B3E.VOBW -1. + QVO73EBW XCV.3EBW -16. XRV.3EBW -12. + QVO73EBW X12.3EBW -61. NOI.3EBW -107.52 + QVO73EBW XPB.3EBW -1.7 HRL.3EBW -1.00857 + QVO73EBW HML.3EBW -1.37167 HRM.3EBW -2.0144 + QVO73EBW HMM.3EBW -2.02477 HRH.3EBW -2.16139 + QVO73EBW HMH.3EBW -2.10531 XPB.3ABW -1.5 + QVO73PBW B3P...BW 1. B3P.VOBW -1. + QVO73PBW XCV.3PBW -16. XRV.3PBW -12. + QVO73PBW X12.3PBW -61. NOI.3PBW -97.41 + QVO73PBW XPB.3ABW -1.5 + QPB73RBW FAT7..J. .08757 XPB.3RBW 1. + QPB73RBW HRL.3RBW 4.31949 HML.3RBW 4.41873 + QPB73RBW HRM.3RBW 2.62696 HMM.3RBW 2.74531 + QPB73RBW HRH.3RBW 1.64391 HMH.3RBW 1.75028 + QPB73RBW XPB.3ABW 1. + QVO73RBW B3R...BW 1. B3R.VOBW -1. + QVO73RBW XCV.3RBW -16. XRV.3RBW -12. + QVO73RBW X12.3RBW -61. NOI.3RBW -98.5 + QVO73RBW XPB.3RBW -1.7 HRL.3RBW -2.15975 + QVO73RBW HML.3RBW -2.20937 HRM.3RBW -2.62696 + QVO73RBW HMM.3RBW -2.74531 HRH.3RBW -2.79464 + QVO73RBW HMH.3RBW -2.97548 XPB.3ABW -1.5 + WMO73EBW NOI.3EBW .73 HML.3EBW -1. + WMO73EBW HMM.3EBW -1. HMH.3EBW -1. + WRO73EBW NOI.3EBW .41 HRL.3EBW -1. + WRO73EBW HRM.3EBW -1. HRH.3EBW -1. + WMO73PBW WMO.3PBW -1. NOI.3PBW .84 + WRO73PBW WRO.3PBW -1. NOI.3PBW .27 + WMO73RBW NOI.3RBW .81 HML.3RBW -1. + WMO73RBW HMM.3RBW -1. HMH.3RBW -1. + WRO73RBW NOI.3RBW .31 HRL.3RBW -1. + WRO73RBW HRM.3RBW -1. HRH.3RBW -1. +RHS +BOUNDS + UP 77BOUND BHC.3EBW 10. + UP 77BOUND D3T...BW 200. + UP 77BOUND EAL...BW 10. + UP 77BOUND EHC...BW 20. + UP 77BOUND ELC...BW 25. + UP 77BOUND ELV...BW 12. + UP 77BOUND EN4...BW 100. + UP 77BOUND EP8...BW 35. + UP 77BOUND ETO...BW 5. +ENDATA diff --git a/demos/ppl_lpsol/examples/lseu.mps b/demos/ppl_lpsol/examples/lseu.mps new file mode 100644 index 000000000..00e6b5a53 --- /dev/null +++ b/demos/ppl_lpsol/examples/lseu.mps @@ -0,0 +1,371 @@ +*NAME: lseu +*ROWS: 28 +*COLUMNS: 89 +*INTEGER: 89 +*NONZERO: 309 +*BEST SOLN: 1120 (opt) +*LP SOLN: 834.68 +*SOURCE: C. E. Lemke and K. Spielberg +* Ellis L. Johnson and Uwe H. Suhl +* John J. Forrest (IBM) +*APPLICATION: unknown +*COMMENTS: pure 0/1 IP +* +* +NAME LSEU +ROWS + N R100 + L R101 + L R102 + L R103 + L R104 + L R105 + L R106 + L R107 + L R108 + L R109 + L R110 + L R111 + L R112 + L R113 + L R114 + L R115 + L R116 + L R117 + L R118 + L R119 + L R120 + L R121 + L R122 + L R123 + L R124 + L R125 + L R126 + L R127 + L R128 +COLUMNS + MARK0000 'MARKER' 'INTORG' + C101 R100 7 R119 525 + C101 R120 -525 R122 -525 + C101 R123 -525 + C102 R100 10 R119 500 + C102 R120 -500 R122 -500 + C102 R123 -500 + C103 R100 179 R101 1 + C103 R119 475 R120 -475 + C103 R124 -475 R125 -475 + C104 R100 186 R101 1 + C104 R119 475 R120 -475 + C104 R122 -475 R123 -475 + C105 R100 179 R101 1 + C105 R119 475 R120 -475 + C105 R122 -190 R123 -190 + C105 R124 -285 R125 -285 + C106 R102 1 R118 -450 + C107 R102 1 R124 -450 + C107 R125 -450 + C108 R100 6 R102 1 + C108 R122 -450 R123 -450 + C109 R102 1 R122 -165 + C109 R123 -165 R124 -285 + C109 R125 -285 + C110 R102 1 R124 -150 + C110 R125 -150 + C111 R100 164 R103 1 + C111 R118 -435 + C112 R100 164 R103 1 + C112 R124 -435 R125 -435 + C113 R100 170 R103 1 + C113 R119 435 R120 -435 + C113 R123 -435 + C114 R100 164 R103 1 + C114 R119 435 R120 -435 + C114 R121 -435 + C115 R100 346 R104 1 + C115 R124 -435 R125 -435 + C116 R100 346 R104 1 + C116 R119 435 R120 -435 + C116 R125 -435 + C117 R100 248 R105 1 + C117 R119 435 R120 -435 + C117 R124 -435 R125 -435 + C118 R100 253 R105 1 + C118 R119 435 R120 -435 + C118 R122 -435 R123 -435 + C119 R100 248 R105 1 + C119 R119 435 R120 -435 + C119 R122 -300 R123 -300 + C119 R124 -135 R125 -135 + C120 R100 346 R106 1 + C120 R118 -435 + C121 R100 346 R106 1 + C121 R123 -400 + C122 R100 346 R106 1 + C122 R121 -400 + C123 R100 346 R106 1 + C123 R124 -100 R125 -100 + C123 R127 -300 + C124 R100 160 R107 1 + C124 R124 -400 R125 -400 + C125 R100 161 R107 1 + C125 R122 -400 R123 -400 + C126 R100 160 R107 1 + C126 R122 -115 R123 -115 + C126 R124 -285 R125 -285 + C127 R100 160 R107 1 + C127 R119 425 R120 -425 + C127 R125 -425 + C128 R100 161 R107 1 + C128 R119 425 R120 -425 + C128 R123 -425 + C129 R100 160 R107 1 + C129 R119 425 R120 -425 + C129 R123 -140 R125 -285 + C130 R100 160 R107 1 + C130 R124 -100 R125 -100 + C130 R126 -300 R127 -300 + C131 R100 278 R108 1 + C131 R118 -350 + C132 R100 278 R108 1 + C132 R124 -350 R125 -350 + C133 R100 278 R108 1 + C133 R121 -350 + C134 R100 86 R109 1 + C134 R122 -330 R123 -330 + C135 R100 86 R109 1 + C135 R126 -330 R127 -330 + C136 R100 86 R109 1 + C136 R119 330 R120 -330 + C136 R124 -330 R125 -330 + C137 R100 86 R109 1 + C137 R119 330 R120 -330 + C137 R123 -330 + C138 R100 86 R109 1 + C138 R119 330 R120 -330 + C138 R121 -330 + C139 R100 86 R119 330 + C139 R120 -330 R122 -330 + C139 R123 -330 + C140 R100 188 R110 1 + C140 R122 -330 R123 -330 + C141 R100 188 R110 1 + C141 R119 330 R120 -330 + C141 R124 -330 R125 -330 + C142 R100 188 R110 1 + C142 R119 330 R120 -330 + C142 R121 -330 + C143 R100 85 R111 1 + C143 R122 -325 R123 -325 + C144 R100 85 R111 1 + C144 R126 -325 R127 -325 + C145 R100 85 R111 1 + C145 R119 325 R120 -325 + C145 R124 -325 R125 -325 + C146 R100 85 R111 1 + C146 R119 325 R120 -325 + C146 R123 -325 + C147 R100 85 R111 1 + C147 R119 325 R120 -325 + C147 R121 -325 + C148 R100 78 R112 1 + C148 R122 -300 R123 -300 + C149 R100 78 R112 1 + C149 R119 300 R120 -300 + C149 R124 -300 R125 -300 + C150 R100 78 R112 1 + C150 R119 300 R120 -300 + C150 R121 -300 + C151 R100 78 R112 1 + C151 R128 -300 + C152 R100 78 R113 1 + C152 R122 -300 R123 -300 + C153 R100 78 R113 1 + C153 R126 -300 R127 -300 + C154 R100 78 R113 1 + C154 R119 300 R120 -300 + C154 R124 -300 R125 -300 + C155 R100 78 R113 1 + C155 R119 300 R120 -300 + C155 R123 -300 + C156 R100 78 R113 1 + C156 R119 300 R120 -300 + C156 R121 -300 + C157 R100 171 R114 1 + C157 R122 -300 R123 -300 + C158 R100 171 R114 1 + C158 R126 -300 R127 -300 + C159 R100 171 R114 1 + C159 R119 300 R120 -300 + C159 R123 -300 + C160 R100 171 R114 1 + C160 R119 300 R120 -300 + C160 R121 -300 + C161 R100 163 R115 1 + C161 R119 285 R120 -285 + C161 R124 -285 R125 -285 + C162 R100 163 R115 1 + C162 R119 285 R120 -285 + C162 R122 -285 R123 -285 + C163 R100 163 R115 1 + C163 R128 -285 + C164 R100 69 R116 1 + C164 R119 265 R120 -265 + C164 R124 -265 R125 -265 + C165 R100 69 R116 1 + C165 R119 265 R120 -265 + C165 R122 -265 R123 -265 + C166 R100 183 R117 1 + C166 R118 -230 + C167 R100 183 R117 1 + C167 R124 -230 R125 -230 + C168 R100 183 R117 1 + C168 R119 230 R120 -230 + C168 R125 -230 + C169 R100 183 R117 1 + C169 R119 230 R120 -230 + C169 R123 -230 + C170 R100 49 R119 190 + C170 R120 -190 R122 -190 + C170 R123 -190 + C171 R100 183 R117 1 + C172 R100 258 R118 -200 + C173 R100 517 R118 -400 + C174 R100 250 R126 -200 + C174 R127 -200 + C175 R100 500 R126 -400 + C175 R127 -400 + C176 R100 250 R127 -200 + C177 R100 500 R127 -400 + C178 R100 159 R119 200 + C178 R120 -200 R124 -200 + C178 R125 -200 + C179 R100 318 R119 400 + C179 R120 -400 R124 -400 + C179 R125 -400 + C180 R100 159 R119 200 + C180 R120 -200 R125 -200 + C181 R100 318 R119 400 + C181 R120 -400 R125 -400 + C182 R100 159 R119 200 + C182 R120 -200 R122 -200 + C182 R123 -200 + C183 R100 318 R119 400 + C183 R120 -400 R122 -400 + C183 R123 -400 + C184 R100 159 R119 200 + C184 R120 -200 R123 -200 + C185 R100 318 R119 400 + C185 R120 -400 R123 -400 + C186 R100 114 R119 200 + C186 R120 -200 R121 -200 + C187 R100 228 R119 400 + C187 R120 -400 R121 -400 + C188 R100 159 R128 -200 + C189 R100 318 R128 -400 + MARK0001 'MARKER' 'INTEND' +RHS + RHS R101 1 R102 1 + RHS R103 1 R104 1 + RHS R105 1 R106 1 + RHS R107 1 R108 1 + RHS R109 1 R110 1 + RHS R111 1 R112 1 + RHS R113 1 R114 1 + RHS R115 1 R116 1 + RHS R117 1 R118 -190 + RHS R119 2700 R120 -2600 + RHS R121 -630 R122 -900 + RHS R123 -1656 R124 -335 + RHS R125 -1026 R126 -150 + RHS R127 -500 R128 -270 +BOUNDS + UP ONE C101 1 + UP ONE C102 1 + UP ONE C103 1 + UP ONE C104 1 + UP ONE C105 1 + UP ONE C106 1 + UP ONE C107 1 + UP ONE C108 1 + UP ONE C109 1 + UP ONE C110 1 + UP ONE C111 1 + UP ONE C112 1 + UP ONE C113 1 + UP ONE C114 1 + UP ONE C115 1 + UP ONE C116 1 + UP ONE C117 1 + UP ONE C118 1 + UP ONE C119 1 + UP ONE C120 1 + UP ONE C121 1 + UP ONE C122 1 + UP ONE C123 1 + UP ONE C124 1 + UP ONE C125 1 + UP ONE C126 1 + UP ONE C127 1 + UP ONE C128 1 + UP ONE C129 1 + UP ONE C130 1 + UP ONE C131 1 + UP ONE C132 1 + UP ONE C133 1 + UP ONE C134 1 + UP ONE C135 1 + UP ONE C136 1 + UP ONE C137 1 + UP ONE C138 1 + UP ONE C139 1 + UP ONE C140 1 + UP ONE C141 1 + UP ONE C142 1 + UP ONE C143 1 + UP ONE C144 1 + UP ONE C145 1 + UP ONE C146 1 + UP ONE C147 1 + UP ONE C148 1 + UP ONE C149 1 + UP ONE C150 1 + UP ONE C151 1 + UP ONE C152 1 + UP ONE C153 1 + UP ONE C154 1 + UP ONE C155 1 + UP ONE C156 1 + UP ONE C157 1 + UP ONE C158 1 + UP ONE C159 1 + UP ONE C160 1 + UP ONE C161 1 + UP ONE C162 1 + UP ONE C163 1 + UP ONE C164 1 + UP ONE C165 1 + UP ONE C166 1 + UP ONE C167 1 + UP ONE C168 1 + UP ONE C169 1 + UP ONE C170 1 + UP ONE C171 1 + UP ONE C172 1 + UP ONE C173 1 + UP ONE C174 1 + UP ONE C175 1 + UP ONE C176 1 + UP ONE C177 1 + UP ONE C178 1 + UP ONE C179 1 + UP ONE C180 1 + UP ONE C181 1 + UP ONE C182 1 + UP ONE C183 1 + UP ONE C184 1 + UP ONE C185 1 + UP ONE C186 1 + UP ONE C187 1 + UP ONE C188 1 + UP ONE C189 1 +ENDATA diff --git a/demos/ppl_lpsol/examples/markshare1.mps b/demos/ppl_lpsol/examples/markshare1.mps new file mode 100644 index 000000000..1efa1f518 --- /dev/null +++ b/demos/ppl_lpsol/examples/markshare1.mps @@ -0,0 +1,236 @@ +NAME markshare1 +ROWS + N obj + E c1 + E c2 + E c3 + E c4 + E c5 + E c6 +COLUMNS + x1 obj 1 c1 1 + x2 obj -1 c1 1 + x3 obj 1 c2 1 + x4 obj -1 c2 1 + x5 obj 1 c3 1 + x6 obj -1 c3 1 + x7 obj 1 c4 1 + x8 obj -1 c4 1 + x9 obj 1 c5 1 + x10 obj -1 c5 1 + x11 obj 1 c6 1 + x12 obj -1 c6 1 + MARK0000 'MARKER' 'INTORG' + x13 c1 25 c2 97 + x13 c3 95 c4 1 + x13 c5 3 c6 69 + x14 c1 35 c2 64 + x14 c3 71 c4 27 + x14 c5 94 c6 72 + x15 c1 14 c2 24 + x15 c3 19 c4 46 + x15 c5 51 c6 94 + x16 c1 76 c2 63 + x16 c3 15 c4 48 + x16 c5 4 c6 56 + x17 c1 58 c2 58 + x17 c3 66 c4 66 + x17 c5 25 c6 90 + x18 c1 10 c2 45 + x18 c3 76 c4 58 + x18 c5 46 c6 20 + x19 c1 20 c2 20 + x19 c3 4 c4 52 + x19 c5 30 c6 56 + x20 c1 51 c2 71 + x20 c3 50 c4 6 + x20 c5 2 c6 50 + x21 c1 58 c2 32 + x21 c3 50 c4 14 + x21 c5 89 c6 79 + x22 c1 1 c2 7 + x22 c3 97 c4 26 + x22 c5 65 c6 59 + x23 c1 35 c2 28 + x23 c3 83 c4 55 + x23 c5 28 c6 36 + x24 c1 40 c2 77 + x24 c3 14 c4 61 + x24 c5 46 c6 24 + x25 c1 65 c2 95 + x25 c3 27 c4 60 + x25 c5 36 c6 42 + x26 c1 59 c2 96 + x26 c3 14 c4 3 + x26 c5 53 c6 9 + x27 c1 24 c2 70 + x27 c3 34 c4 33 + x27 c5 30 c6 29 + x28 c1 44 c2 22 + x28 c3 9 c4 99 + x28 c5 73 c6 68 + x29 c1 1 c2 93 + x29 c3 99 c4 36 + x29 c5 37 c6 10 + x30 c1 93 c2 32 + x30 c3 62 c4 55 + x30 c5 60 c6 1 + x31 c1 24 c2 17 + x31 c3 92 c4 70 + x31 c5 21 c6 44 + x32 c1 68 c2 56 + x32 c3 39 c4 73 + x32 c5 41 c6 74 + x33 c1 38 c2 74 + x33 c3 56 c4 70 + x33 c5 2 c6 61 + x34 c1 64 c2 62 + x34 c3 53 c4 38 + x34 c5 21 c6 37 + x35 c1 93 c2 94 + x35 c3 91 c4 66 + x35 c5 93 c6 71 + x36 c1 14 c2 9 + x36 c3 81 c4 39 + x36 c5 82 c6 63 + x37 c1 83 c2 92 + x37 c3 46 c4 43 + x37 c5 16 c6 44 + x38 c1 6 c2 90 + x38 c3 94 c4 63 + x38 c5 97 c6 77 + x39 c1 58 c2 40 + x39 c3 76 c4 88 + x39 c5 75 c6 57 + x40 c1 14 c2 45 + x40 c3 53 c4 47 + x40 c5 50 c6 46 + x41 c1 71 c2 84 + x41 c3 58 c4 18 + x41 c5 13 c6 51 + x42 c1 17 c2 62 + x42 c3 23 c4 73 + x42 c5 43 c6 43 + x43 c1 18 c2 62 + x43 c3 15 c4 40 + x43 c5 45 c6 4 + x44 c1 8 c2 34 + x44 c3 63 c4 91 + x44 c5 64 c6 85 + x45 c1 57 c2 21 + x45 c3 2 c4 96 + x45 c5 78 c6 59 + x46 c1 48 c2 2 + x46 c3 31 c4 49 + x46 c5 78 c6 7 + x47 c1 35 c2 75 + x47 c3 55 c4 13 + x47 c5 6 c6 25 + x48 c1 13 c2 42 + x48 c3 71 c4 27 + x48 c5 35 c6 46 + x49 c1 47 c2 75 + x49 c3 97 c4 22 + x49 c5 72 c6 25 + x50 c1 46 c2 29 + x50 c3 71 c4 71 + x50 c5 31 c6 70 + x51 c1 8 c2 4 + x51 c3 55 c4 99 + x51 c5 28 c6 78 + x52 c1 82 c2 64 + x52 c3 8 c4 66 + x52 c5 56 c6 88 + x53 c1 51 c2 80 + x53 c3 57 c4 57 + x53 c5 60 c6 20 + x54 c1 49 c2 17 + x54 c3 14 c4 1 + x54 c5 23 c6 40 + x55 c1 85 c2 55 + x55 c3 76 c4 54 + x55 c5 70 c6 40 + x56 c1 66 c2 73 + x56 c3 1 c4 35 + x56 c5 46 c6 16 + x57 c1 45 c2 23 + x57 c3 46 c4 52 + x57 c5 88 c6 3 + x58 c1 99 c2 13 + x58 c3 87 c4 66 + x58 c5 20 c6 3 + x59 c1 21 c2 91 + x59 c3 22 c4 26 + x59 c5 69 c6 5 + x60 c1 75 c2 70 + x60 c3 97 c4 1 + x60 c5 13 c6 77 + x61 c1 78 c2 73 + x61 c3 99 c4 26 + x61 c5 40 c6 88 + x62 c1 43 c2 28 + x62 c3 92 c4 12 + x62 c5 73 c6 16 + MARK0001 'MARKER' 'INTEND' +RHS + rhs c1 1116 c2 1325 + rhs c3 1353 c4 1169 + rhs c5 1160 c6 1163 +BOUNDS + FX bnd x2 0 + FX bnd x4 0 + FX bnd x6 0 + FX bnd x8 0 + FX bnd x10 0 + FX bnd x12 0 + UP bnd x13 1 + UP bnd x14 1 + UP bnd x15 1 + UP bnd x16 1 + UP bnd x17 1 + UP bnd x18 1 + UP bnd x19 1 + UP bnd x20 1 + UP bnd x21 1 + UP bnd x22 1 + UP bnd x23 1 + UP bnd x24 1 + UP bnd x25 1 + UP bnd x26 1 + UP bnd x27 1 + UP bnd x28 1 + UP bnd x29 1 + UP bnd x30 1 + UP bnd x31 1 + UP bnd x32 1 + UP bnd x33 1 + UP bnd x34 1 + UP bnd x35 1 + UP bnd x36 1 + UP bnd x37 1 + UP bnd x38 1 + UP bnd x39 1 + UP bnd x40 1 + UP bnd x41 1 + UP bnd x42 1 + UP bnd x43 1 + UP bnd x44 1 + UP bnd x45 1 + UP bnd x46 1 + UP bnd x47 1 + UP bnd x48 1 + UP bnd x49 1 + UP bnd x50 1 + UP bnd x51 1 + UP bnd x52 1 + UP bnd x53 1 + UP bnd x54 1 + UP bnd x55 1 + UP bnd x56 1 + UP bnd x57 1 + UP bnd x58 1 + UP bnd x59 1 + UP bnd x60 1 + UP bnd x61 1 + UP bnd x62 1 +ENDATA diff --git a/demos/ppl_lpsol/examples/markshare2.mps b/demos/ppl_lpsol/examples/markshare2.mps new file mode 100644 index 000000000..3e50b0a38 --- /dev/null +++ b/demos/ppl_lpsol/examples/markshare2.mps @@ -0,0 +1,341 @@ +NAME markshare2 +ROWS + N obj + E c1 + E c2 + E c3 + E c4 + E c5 + E c6 + E c7 +COLUMNS + x1 obj 1 c1 1 + x2 obj -1 c1 1 + x3 obj 1 c2 1 + x4 obj -1 c2 1 + x5 obj 1 c3 1 + x6 obj -1 c3 1 + x7 obj 1 c4 1 + x8 obj -1 c4 1 + x9 obj 1 c5 1 + x10 obj -1 c5 1 + x11 obj 1 c6 1 + x12 obj -1 c6 1 + x13 obj 1 c7 1 + x14 obj -1 c7 1 + MARK0000 'MARKER' 'INTORG' + x15 c1 74 c2 20 + x15 c3 85 c4 13 + x15 c5 35 c6 86 + x15 c7 41 + x16 c1 49 c2 7 + x16 c3 47 c4 71 + x16 c5 61 c6 8 + x16 c7 64 + x17 c1 12 c2 68 + x17 c3 67 c4 78 + x17 c5 66 c6 44 + x17 c7 82 + x18 c1 93 c2 69 + x18 c3 59 c4 84 + x18 c5 78 c6 96 + x18 c7 24 + x19 c1 56 c2 95 + x19 c3 84 c4 56 + x19 c5 46 c6 64 + x19 c7 48 + x20 c1 16 c2 64 + x20 c3 59 c4 66 + x20 c5 89 c6 65 + x20 c7 41 + x21 c1 39 c2 76 + x21 c3 19 c4 8 + x21 c5 61 c6 68 + x21 c7 29 + x22 c1 77 c2 12 + x22 c3 8 c4 68 + x22 c5 25 c6 53 + x22 c7 93 + x23 c1 56 c2 45 + x23 c3 50 c4 48 + x23 c5 55 c6 19 + x23 c7 64 + x24 c1 73 c2 43 + x24 c3 66 c4 28 + x24 c5 16 c6 33 + x24 c7 39 + x25 c1 1 c2 83 + x25 c3 5 c4 33 + x25 c5 81 c6 28 + x25 c7 92 + x26 c1 3 c2 15 + x26 c3 51 c4 34 + x26 c5 35 c6 42 + x26 c7 86 + x27 c1 68 c2 90 + x27 c3 51 c4 8 + x27 c5 96 c6 72 + x27 c7 64 + x28 c1 61 c2 10 + x28 c3 64 c4 99 + x28 c5 23 c6 39 + x28 c7 45 + x29 c1 8 c2 96 + x29 c3 64 c4 80 + x29 c5 83 c6 5 + x29 c7 87 + x30 c1 55 c2 98 + x30 c3 53 c4 74 + x30 c5 39 c6 77 + x30 c7 34 + x31 c1 18 c2 53 + x31 c3 61 c4 2 + x31 c5 14 c6 37 + x31 c7 39 + x32 c1 21 c2 1 + x32 c3 45 c4 10 + x32 c5 53 c6 89 + x32 c7 88 + x33 c1 57 c2 2 + x33 c3 3 c4 96 + x33 c5 23 c6 7 + x33 c7 99 + x34 c1 98 c2 58 + x34 c3 76 c4 41 + x34 c5 23 c6 78 + x34 c7 63 + x35 c1 58 c2 24 + x35 c3 17 c4 98 + x35 c5 93 c6 10 + x35 c7 85 + x36 c1 57 c2 90 + x36 c3 54 c4 74 + x36 c5 38 c6 78 + x36 c7 48 + x37 c1 46 c2 29 + x37 c3 13 c4 39 + x37 c5 15 c6 10 + x37 c7 83 + x38 c1 72 c2 57 + x38 c3 89 c4 91 + x38 c5 20 c6 96 + x38 c7 88 + x39 c1 6 c2 19 + x39 c3 68 c4 85 + x39 c5 19 c6 55 + x39 c7 85 + x40 c1 16 c2 73 + x40 c3 57 c4 95 + x40 c5 28 c6 1 + x40 c7 5 + x41 c1 76 c2 89 + x41 c3 4 c4 96 + x41 c5 79 c6 64 + x41 c7 14 + x42 c1 21 c2 31 + x42 c3 24 c4 1 + x42 c5 51 c6 61 + x42 c7 31 + x43 c1 78 c2 12 + x43 c3 96 c4 80 + x43 c5 24 c6 63 + x43 c7 12 + x44 c1 18 c2 34 + x44 c3 81 c4 90 + x44 c5 6 c6 90 + x44 c7 93 + x45 c1 11 c2 67 + x45 c3 36 c4 97 + x45 c5 3 c6 22 + x45 c7 55 + x46 c1 58 c2 48 + x46 c3 54 c4 36 + x46 c5 47 c6 78 + x46 c7 1 + x47 c1 59 c2 11 + x47 c3 3 c4 7 + x47 c5 61 c6 92 + x47 c7 2 + x48 c1 25 c2 22 + x48 c3 82 c4 69 + x48 c5 60 c6 25 + x48 c7 22 + x49 c1 32 c2 36 + x49 c3 33 c4 9 + x49 c5 71 c6 24 + x49 c7 93 + x50 c1 14 c2 78 + x50 c3 88 c4 9 + x50 c5 63 c6 65 + x50 c7 49 + x51 c1 16 c2 75 + x51 c3 1 c4 93 + x51 c5 26 c6 6 + x51 c7 35 + x52 c1 3 c2 52 + x52 c3 29 c4 94 + x52 c5 66 c6 68 + x52 c7 25 + x53 c1 60 c2 95 + x53 c3 4 c4 44 + x53 c5 71 c6 66 + x53 c7 39 + x54 c1 12 c2 57 + x54 c3 48 c4 36 + x54 c5 63 c6 66 + x54 c7 1 + x55 c1 7 c2 62 + x55 c3 51 c4 71 + x55 c5 56 c6 1 + x55 c7 77 + x56 c1 42 c2 94 + x56 c3 14 c4 37 + x56 c5 32 c6 67 + x56 c7 43 + x57 c1 98 c2 10 + x57 c3 86 c4 72 + x57 c5 39 c6 78 + x57 c7 7 + x58 c1 34 c2 42 + x58 c3 64 c4 38 + x58 c5 31 c6 21 + x58 c7 42 + x59 c1 33 c2 89 + x59 c3 73 c4 74 + x59 c5 64 c6 47 + x59 c7 36 + x60 c1 16 c2 11 + x60 c3 78 c4 89 + x60 c5 89 c6 17 + x60 c7 63 + x61 c1 97 c2 77 + x61 c3 45 c4 37 + x61 c5 62 c6 89 + x61 c7 5 + x62 c1 63 c2 85 + x62 c3 65 c4 24 + x62 c5 68 c6 77 + x62 c7 8 + x63 c1 66 c2 30 + x63 c3 30 c4 88 + x63 c5 59 c6 88 + x63 c7 43 + x64 c1 28 c2 82 + x64 c3 52 c4 77 + x64 c5 71 c6 54 + x64 c7 18 + x65 c1 57 c2 20 + x65 c3 6 c4 61 + x65 c5 48 c6 10 + x65 c7 60 + x66 c1 19 c2 52 + x66 c3 78 c4 80 + x66 c5 76 c6 87 + x66 c7 47 + x67 c1 74 c2 78 + x67 c3 9 c4 2 + x67 c5 96 c6 88 + x67 c7 47 + x68 c1 44 c2 6 + x68 c3 19 c4 60 + x68 c5 74 c6 80 + x68 c7 46 + x69 c1 45 c2 57 + x69 c3 87 c4 87 + x69 c5 61 c6 76 + x69 c7 45 + x70 c1 49 c2 65 + x70 c3 73 c4 80 + x70 c5 21 c6 9 + x70 c7 38 + x71 c1 76 c2 79 + x71 c3 10 c4 74 + x71 c5 46 c6 83 + x71 c7 9 + x72 c1 74 c2 83 + x72 c3 87 c4 42 + x72 c5 18 c6 95 + x72 c7 37 + x73 c1 9 c2 16 + x73 c3 33 c4 2 + x73 c5 23 c6 86 + x73 c7 8 + x74 c1 44 c2 67 + x74 c3 1 c4 37 + x74 c5 24 c6 24 + x74 c7 82 + MARK0001 'MARKER' 'INTEND' +RHS + rhs c1 1324 c2 1554 + rhs c3 1429 c4 1686 + rhs c5 1482 c6 1613 + rhs c7 1424 +BOUNDS + FX bnd x2 0 + FX bnd x4 0 + FX bnd x6 0 + FX bnd x8 0 + FX bnd x10 0 + FX bnd x12 0 + FX bnd x14 0 + UP bnd x15 1 + UP bnd x16 1 + UP bnd x17 1 + UP bnd x18 1 + UP bnd x19 1 + UP bnd x20 1 + UP bnd x21 1 + UP bnd x22 1 + UP bnd x23 1 + UP bnd x24 1 + UP bnd x25 1 + UP bnd x26 1 + UP bnd x27 1 + UP bnd x28 1 + UP bnd x29 1 + UP bnd x30 1 + UP bnd x31 1 + UP bnd x32 1 + UP bnd x33 1 + UP bnd x34 1 + UP bnd x35 1 + UP bnd x36 1 + UP bnd x37 1 + UP bnd x38 1 + UP bnd x39 1 + UP bnd x40 1 + UP bnd x41 1 + UP bnd x42 1 + UP bnd x43 1 + UP bnd x44 1 + UP bnd x45 1 + UP bnd x46 1 + UP bnd x47 1 + UP bnd x48 1 + UP bnd x49 1 + UP bnd x50 1 + UP bnd x51 1 + UP bnd x52 1 + UP bnd x53 1 + UP bnd x54 1 + UP bnd x55 1 + UP bnd x56 1 + UP bnd x57 1 + UP bnd x58 1 + UP bnd x59 1 + UP bnd x60 1 + UP bnd x61 1 + UP bnd x62 1 + UP bnd x63 1 + UP bnd x64 1 + UP bnd x65 1 + UP bnd x66 1 + UP bnd x67 1 + UP bnd x68 1 + UP bnd x69 1 + UP bnd x70 1 + UP bnd x71 1 + UP bnd x72 1 + UP bnd x73 1 + UP bnd x74 1 +ENDATA diff --git a/demos/ppl_lpsol/examples/mas74.mps b/demos/ppl_lpsol/examples/mas74.mps new file mode 100644 index 000000000..c5ed04a63 --- /dev/null +++ b/demos/ppl_lpsol/examples/mas74.mps @@ -0,0 +1,1131 @@ +NAME mas74 +ROWS + N obj + L c1 + G c2 + G c3 + G c4 + G c5 + G c6 + G c7 + G c8 + G c9 + G c10 + G c11 + G c12 + G c13 +COLUMNS + MARK0000 'MARKER' 'INTORG' + x1 obj 1E-5 c1 1 + x1 c2 3857.5340376 c3 4264 + x1 c4 4264 c5 4264 + x1 c6 4264 c7 4264 + x1 c8 4264 c9 4264 + x1 c10 4264 c11 4264 + x1 c12 1530.2702703 c13 4264 + x2 obj 1E-5 c1 1 + x2 c2 125.76760563 c3 5339 + x2 c4 5339 c5 5026.3323601 + x2 c6 5339 c7 5339 + x2 c8 3236.6488464 c9 5339 + x2 c10 5339 c11 5339 + x2 c13 5339 + x3 obj 1E-5 c1 1 + x3 c2 7165.7769953 c3 7227.5 + x3 c4 5876.7923949 c5 4212.5800487 + x3 c7 3489 c8 8260 + x3 c9 8260 c11 4540 + x3 c13 8260 + x4 obj 1E-5 c1 1 + x4 c2 2876 c3 2876 + x4 c4 2876 c5 2876 + x4 c6 2876 c7 2876 + x4 c8 2876 c9 2876 + x4 c10 2876 c11 2876 + x4 c12 2876 c13 2876 + x5 obj 1E-5 c1 1 + x5 c2 9723 c4 9723 + x5 c6 9723 c9 6324.0237443 + x5 c10 5706.6236192 c11 6007.4739286 + x5 c12 6622.5405405 c13 7071.525641 + x6 obj 1E-5 c1 1 + x6 c2 7310 c3 7310 + x6 c4 7310 c7 7310 + x6 c8 6884 c9 7310 + x6 c11 7310 c13 7310 + x7 obj 1E-5 c1 1 + x7 c2 1529 c3 1529 + x7 c4 1529 c5 1529 + x7 c6 1529 c7 1529 + x7 c8 1529 c9 1529 + x7 c10 1529 c11 1529 + x7 c12 1529 c13 1529 + x8 obj 1E-5 c1 1 + x8 c2 1585 c3 1585 + x8 c4 1585 c5 1585 + x8 c6 1585 c7 1585 + x8 c8 1585 c9 1585 + x8 c10 1585 c11 1585 + x8 c12 1585 c13 1585 + x9 obj 1E-5 c1 1 + x9 c2 2949 c3 2949 + x9 c4 2949 c5 2949 + x9 c6 2949 c7 2949 + x9 c8 2949 c9 2949 + x9 c10 2949 c11 2949 + x9 c12 2949 c13 2949 + x10 obj 1E-5 c1 1 + x10 c2 7097 c3 5404.8448466 + x10 c4 7097 c5 7097 + x10 c7 5864.7752809 c10 7097 + x10 c12 2091.1486486 c13 1239 + x11 obj 1E-5 c1 1 + x11 c2 1239 c3 1239 + x11 c4 1239 c5 1239 + x11 c6 1239 c7 1239 + x11 c8 1239 c9 1239 + x11 c10 1239 c11 1239 + x11 c12 1239 c13 1239 + x12 obj 1E-5 c1 1 + x12 c2 6449 c3 8128.2443156 + x12 c4 3263.9478854 c5 6449 + x12 c6 2475 c7 9321.7752809 + x12 c9 2669.5520548 c11 5164.8090243 + x12 c12 5210 c13 1431.2820513 + x13 obj 1E-5 c1 1 + x13 c2 4596.07277 c3 2473.8400699 + x13 c4 4787.9998652 c5 1673.7990268 + x13 c6 6817.4161987 c7 7919.9662921 + x13 c8 5586.9236606 c9 3224 + x13 c10 3270.405833 c11 1287.8998662 + x13 c12 2116.7297297 c13 4388 + x14 obj 1E-5 c1 1 + x14 c2 8037 c3 8037 + x14 c5 8037 c7 8037 + x14 c9 8037 c10 8037 + x14 c12 8037 + x15 obj 1E-5 c1 1 + x15 c2 7123 c3 7123 + x15 c4 3932.0774689 c5 7123 + x15 c6 7123 c8 7123 + x15 c13 7123 + x16 obj 1E-5 c1 1 + x16 c2 8067 c4 4508 + x16 c5 4902.0158151 c6 3754 + x16 c7 2923 c8 2980.0315887 + x16 c9 721.8803653 c10 6814.5238232 + x16 c11 6755.136625 c12 421.86486486 + x16 c13 3091.3205128 + x17 obj 1E-5 c1 1 + x17 c2 5704 c3 5704 + x17 c4 5383.2865918 c5 2299.7472019 + x17 c6 5704 c7 5704 + x17 c8 4171 c9 5704 + x17 c10 5704 c11 5704 + x17 c12 5704 c13 5704 + x18 obj 1E-5 c1 1 + x18 c2 1582 c3 1582 + x18 c4 1007.7206724 c5 1582 + x18 c6 1582 c7 1582 + x18 c8 1582 c9 1582 + x18 c10 1582 c11 1582 + x18 c12 1582 c13 1144.5384615 + x19 obj 1E-5 c1 1 + x19 c2 8713 c4 8713 + x19 c5 8713 c7 8171.3932584 + x19 c9 8713 c10 8713 + x19 c13 8713 + x20 obj 1E-5 c1 1 + x20 c2 9232 c4 9232 + x20 c6 9232 c7 9232 + x20 c9 9232 c10 9232 + x20 c11 9232 + x21 obj 1E-5 c1 1 + x21 c2 3371 c3 4035 + x21 c4 3733.6777996 c5 4035 + x21 c6 4035 c7 4600 + x21 c8 3371 c9 3371 + x21 c10 4600 c11 4600 + x21 c12 4035 c13 2933.5384615 + x22 obj 1E-5 c1 1 + x22 c2 2637 c3 2637 + x22 c4 2637 c5 2637 + x22 c6 2637 c7 2637 + x22 c8 2637 c9 2637 + x22 c10 2637 c11 2637 + x22 c12 2637 c13 2637 + x23 obj 1E-5 c1 1 + x23 c2 7131 c3 2505.925667 + x23 c4 2622.9478854 c5 7131 + x23 c6 7131 c7 3525.6966292 + x23 c8 7131 c9 7048.9675799 + x23 c10 7131 c11 5166.9799255 + x23 c12 1313 c13 1662.1153846 + x24 obj 1E-5 c1 1 + x24 c2 418.3028169 c3 9861 + x24 c4 5572.0948907 c5 2435.796837 + x24 c6 5429.5829374 c8 922.29134407 + x24 c9 5007.8803653 c10 4652.0215414 + x24 c11 1899.2210109 + x25 obj 1E-5 c1 1 + x25 c2 3647 c3 3647 + x25 c4 3647 c5 3647 + x25 c6 3647 c7 3647 + x25 c8 3647 c9 3647 + x25 c10 3647 c11 3647 + x25 c12 3647 c13 3647 + x26 obj 1E-5 c1 1 + x26 c2 5688.4859155 c3 5478.2871361 + x26 c4 8494 c5 1160.0158151 + x26 c6 7496 c8 805.25526479 + x26 c9 2201.1196347 c10 3891.5238232 + x26 c11 3013.136625 c12 421.86486486 + x26 c13 2501.1474359 + x27 obj 1E-5 c1 1 + x27 c2 7832.5997653 c3 5665.9031945 + x27 c4 1590.9888423 c5 1850.9749392 + x27 c6 583.5 c7 4272.9662921 + x27 c8 2660.5892304 c9 1631.030137 + x27 c10 5039.7045485 c11 5571.6006929 + x27 c12 2940.1756757 c13 1070.4038462 + x28 obj 1E-5 c1 1 + x28 c2 4409.1255869 c3 5880 + x28 c4 5880 c5 5880 + x28 c6 5162.5 c7 5880 + x28 c8 5880 c9 5880 + x28 c13 5649.4038462 + x29 obj 1E-5 c1 1 + x29 c2 1053 c3 1053 + x29 c4 1053 c5 1053 + x29 c6 1053 c7 1053 + x29 c8 1053 c9 1053 + x29 c10 1053 c11 1053 + x29 c12 1053 c13 1053 + x30 obj 1E-5 c1 1 + x30 c2 2869 c3 2869 + x30 c4 2869 c5 1573.9406326 + x30 c6 449.31447084 c7 2869 + x30 c8 2869 c9 204.02305936 + x30 c10 2869 c11 2869 + x30 c12 1053 + x31 obj 1E-5 c1 1 + x31 c2 5410 c3 5410 + x31 c4 5410 c5 5410 + x31 c6 3240.6855292 c7 5410 + x31 c8 5410 c9 2678.01621 + x31 c10 5410 c12 5287 + x31 c13 2480.7179487 + x32 obj 1E-5 c1 1 + x32 c2 3948 c3 3948 + x32 c4 3948 c5 3948 + x32 c6 3948 c7 3948 + x32 c8 3948 c9 3948 + x32 c10 3948 c11 3948 + x32 c12 3948 c13 3948 + x33 obj 1E-5 c1 1 + x33 c2 6049 c3 6049 + x33 c4 6049 c5 6049 + x33 c6 6049 c9 6049 + x33 c10 6049 c11 6049 + x34 obj 1E-5 c1 1 + x34 c2 9317 c5 9317 + x34 c6 9317 c7 9317 + x34 c8 9317 c9 9317 + x34 c12 5488.7162162 c13 888 + x35 obj 1E-5 c1 1 + x35 c2 6880 c3 6880 + x35 c4 1928.2865918 c5 6880 + x35 c6 1950 c7 2311.7191011 + x35 c8 1762.3431016 c9 4388.8803653 + x35 c10 6880 c11 3103.6850787 + x35 c12 4446.6621622 + x36 obj 1E-5 c1 1 + x36 c2 3779 c3 3779 + x36 c4 3779 c5 3779 + x36 c6 3779 c7 3779 + x36 c8 3779 c9 3779 + x36 c10 3779 c11 3779 + x36 c12 3779 c13 3779 + x37 obj 1E-5 c1 1 + x37 c2 3641 c3 3641 + x37 c4 3641 c5 3641 + x37 c6 3641 c7 3641 + x37 c8 3641 c9 3641 + x37 c10 3641 c11 3641 + x37 c12 3641 c13 3641 + x38 obj 1E-5 c1 1 + x38 c2 5567 c3 5567 + x38 c4 5567 c5 5567 + x38 c6 5567 c7 5567 + x38 c8 5567 c10 1477.4963355 + x38 c11 5567 c12 4894.9189189 + x38 c13 5567 + x39 obj 1E-5 c1 1 + x39 c2 2197 c3 2197 + x39 c4 2197 c5 2197 + x39 c6 2197 c7 2197 + x39 c8 2197 c9 2197 + x39 c10 2197 c11 2197 + x39 c12 2197 c13 2197 + x40 obj 1E-5 c1 1 + x40 c2 2842 c3 1164.8704111 + x40 c4 2842 c5 2842 + x40 c6 2842 c7 2842 + x40 c8 2842 c9 2842 + x40 c10 2842 c11 2842 + x40 c12 2103.3243243 c13 2842 + x41 obj 1E-5 c1 1 + x41 c2 4846 c3 4846 + x41 c4 4846 c5 4846 + x41 c6 4846 c7 4846 + x41 c8 4846 c9 4846 + x41 c10 4846 c11 4846 + x41 c12 4846 c13 4846 + x42 obj 1E-5 c1 1 + x42 c2 4616 c3 139.72342842 + x42 c4 4616 c5 4616 + x42 c6 4616 c7 4616 + x42 c8 4616 c9 4616 + x42 c10 4616 c11 4616 + x42 c12 4616 c13 2765.2179487 + x43 obj 1E-5 c1 1 + x43 c2 8807 c4 8807 + x43 c6 8807 c7 8807 + x43 c8 8807 c10 8807 + x43 c11 8807 c12 8807 + x44 obj 1E-5 c1 1 + x44 c2 3261 c3 3261 + x44 c4 3261 c5 3261 + x44 c6 3261 c7 3261 + x44 c8 3261 c9 3261 + x44 c10 3261 c11 3261 + x44 c12 3261 c13 3261 + x45 obj 1E-5 c1 1 + x45 c2 3553 c3 3553 + x45 c4 3553 c5 3553 + x45 c6 3553 c7 3553 + x45 c8 3553 c9 3553 + x45 c10 3553 c11 3553 + x45 c12 3553 c13 3553 + x46 obj 1E-5 c1 1 + x46 c2 5239 c3 5239 + x46 c4 5239 c5 2665 + x46 c6 5239 c7 5239 + x46 c8 3338.1665376 c9 5239 + x46 c10 5239 c11 5239 + x46 c12 2665 c13 2665 + x47 obj 1E-5 c1 1 + x47 c2 6665 c3 6665 + x47 c4 6665 c5 6665 + x47 c6 6665 c11 6665 + x48 obj 1E-5 c1 1 + x48 c2 3257.4906103 c3 1655.7848997 + x48 c4 8172 c5 4492.4068127 + x48 c6 8172 c7 5877.6685393 + x48 c8 2589.3009446 c9 8172 + x48 c10 8172 c11 8172 + x48 c12 1009.4459459 + x49 obj 1E-5 c1 1 + x49 c2 7219.556338 c3 1655.7848997 + x49 c4 5587.4533223 c5 4492.4068127 + x49 c6 8425 c7 4262.3764045 + x49 c8 2589.3009446 c9 8425 + x49 c10 8425 c11 3203.5967077 + x49 c12 1009.4459459 + x50 obj 1E-5 c1 1 + x50 c2 2536 c3 2536 + x50 c4 2536 c5 2536 + x50 c6 2536 c7 2536 + x50 c8 2536 c9 2536 + x50 c10 2536 c11 2536 + x50 c12 2536 c13 2536 + x51 obj 1E-5 c1 1 + x51 c2 8013 c3 8013 + x51 c5 3924.9124088 c6 4869.6696544 + x51 c7 7090.005618 c8 6077 + x51 c9 1351.1242009 c10 8013 + x51 c12 2956.6621622 c13 2768 + x52 obj 1E-5 c1 1 + x52 c2 3541 c3 3541 + x52 c4 509.74314193 c5 3541 + x52 c6 3541 c7 1074.011236 + x52 c8 3541 c9 3541 + x52 c10 3541 c12 420.66216216 + x52 c13 3541 + x53 obj 1E-5 c1 1 + x53 c2 8080 c3 8080 + x53 c5 3336.9664234 c6 8080 + x53 c7 8080 c10 8080 + x53 c11 8080 c13 8080 + x54 obj 1E-5 c1 1 + x54 c2 5593.0586854 c3 2778.8438922 + x54 c4 5130.4842654 c5 509.94136253 + x54 c6 5337.9205184 c7 2240.3595506 + x54 c8 257.07955249 c9 6767 + x54 c10 2672.975731 c11 6767 + x54 c13 759.60897436 + x55 obj 1E-5 c1 1 + x55 c2 5036 c3 5036 + x55 c4 5036 c5 5036 + x55 c6 5036 c7 5036 + x55 c8 5036 c9 5036 + x55 c10 5036 c11 5036 + x55 c12 5036 c13 5036 + x56 obj 1E-5 c1 1 + x56 c2 1782 c3 1782 + x56 c4 1782 c5 1782 + x56 c6 1782 c7 1782 + x56 c8 1782 c9 1782 + x56 c10 1782 c11 1782 + x56 c12 1782 c13 1782 + x57 obj 1E-5 c1 1 + x57 c2 3895 c3 1724.2205458 + x57 c4 476.85677148 c5 2066.1187348 + x57 c6 3895 c7 3895 + x57 c8 3895 c9 3895 + x57 c10 3895 c11 3895 + x57 c12 3895 c13 3895 + x58 obj 1E-5 c1 1 + x58 c2 4205 c4 4205 + x58 c5 4205 c6 4205 + x58 c7 4205 c8 4205 + x58 c9 4205 c10 4205 + x58 c11 4205 c12 4205 + x58 c13 4205 + x59 obj 1E-5 c1 1 + x59 c2 7772 c3 7772 + x59 c5 7772 c7 7106.3258427 + x59 c8 7772 c10 2726.2276162 + x59 c11 7772 c12 7772 + x60 obj 1E-5 c1 1 + x60 c2 9326 c5 8367.2374696 + x60 c6 5256.5 c7 7383 + x60 c8 6619.0778105 c9 6075.1340183 + x60 c10 3171.9293238 c11 4961.8312283 + x60 c12 5919.7837838 c13 9326 + x61 obj 1E-5 c1 1 + x61 c2 4757 c3 4757 + x61 c4 2026.2568581 c5 4757 + x61 c6 2104.6903888 c7 3561.488764 + x61 c9 88.128310502 c10 4757 + x61 c11 2536 c13 1576.5448718 + x62 obj 1E-5 c1 1 + x62 c2 5355 c4 5355 + x62 c5 2978.6437956 c7 2033.3258427 + x62 c8 5355 c9 5355 + x62 c10 5355 c11 5355 + x62 c12 5355 c13 5355 + x63 obj 1E-5 c1 1 + x63 c2 1919 c3 1919 + x63 c4 1919 c5 1919 + x63 c6 1919 c7 1919 + x63 c8 1919 c9 1919 + x63 c10 1919 c11 1919 + x63 c12 1919 c13 1919 + x64 obj 1E-5 c1 1 + x64 c2 7510.5774648 c3 8722.393681 + x64 c4 3652.6973102 c6 4473.0773218 + x64 c7 6121.0505618 c8 9948 + x64 c10 4389.7373933 c11 5846.2742077 + x64 c12 6017.0810811 + x65 obj 1E-5 c1 1 + x65 c2 7341 c3 7341 + x65 c5 7341 c6 7341 + x65 c8 7341 c11 7341 + x65 c12 5188.3918919 c13 2995.1025641 + x66 obj 1E-5 c1 1 + x66 c2 8541 c4 8541 + x66 c5 4655 c6 4655 + x66 c7 8541 c8 6962.5370084 + x66 c11 7926.8090243 c12 7281.4594595 + x66 c13 8541 + x67 obj 1E-5 c1 1 + x67 c2 8352 c4 8352 + x67 c5 8352 c6 8352 + x67 c9 8352 c11 8352 + x67 c12 2160.4594595 c13 8352 + x68 obj 1E-5 c1 1 + x68 c2 3291 c3 3291 + x68 c4 3291 c5 3291 + x68 c6 3291 c7 3291 + x68 c8 3291 c9 3291 + x68 c10 3291 c11 3291 + x68 c12 3291 c13 3291 + x69 obj 1E-5 c1 1 + x69 c2 7328 c3 7328 + x69 c5 7328 c6 7328 + x69 c8 7328 c11 7328 + x69 c12 6739.2972973 + x70 obj 1E-5 c1 1 + x70 c2 4506 c3 4506 + x70 c4 4506 c5 4506 + x70 c6 4506 c7 4429 + x70 c8 4506 c9 4506 + x70 c10 4506 c11 4506 + x70 c12 4429 c13 4506 + x71 obj 1E-5 c1 1 + x71 c2 4429 c3 4429 + x71 c4 4429 c5 4429 + x71 c6 4429 c7 4429 + x71 c8 4429 c9 4429 + x71 c10 4429 c11 4429 + x71 c12 4429 c13 4429 + x72 obj 1E-5 c1 1 + x72 c2 4593 c3 4593 + x72 c4 4593 c5 896.82189781 + x72 c6 4593 c7 4081.3146067 + x72 c8 4593 c9 4593 + x72 c10 4593 c11 4593 + x72 c12 4593 c13 4593 + x73 obj 1E-5 c1 1 + x73 c2 9138 c4 6903.6330621 + x73 c5 2486.593674 c6 9138 + x73 c7 4272.9662921 c8 9138 + x73 c10 4769.9270193 c11 2864.5421929 + x73 c13 9138 + x74 obj 1E-5 c1 1 + x74 c2 3731.7664319 c3 4857.7089899 + x74 c4 4972.5996947 c5 7925.6586375 + x74 c6 5052.5596112 c7 7999.5842697 + x74 c8 940.48633478 c9 1881.3954338 + x74 c10 560.5962977 c11 3452.764849 + x74 c12 1530.2702703 c13 7740.9358974 + x75 obj 1E-5 c1 1 + x75 c2 5124.2922535 c3 7404 + x75 c4 4006.8453527 c5 1794.7394161 + x75 c6 1174.3740821 c7 5324.3033708 + x75 c8 6731.8123645 c9 4723.3954338 + x75 c10 3402.5962977 c11 4126.5871636 + x75 c12 4615.3378378 c13 7404 + x76 obj 1E-5 c1 1 + x76 c2 4378 c3 4378 + x76 c4 4378 c5 4378 + x76 c6 4378 c7 4378 + x76 c8 2220.491406 c9 4378 + x76 c10 4378 c11 4378 + x76 c12 1530.2702703 c13 4378 + x77 obj 1E-5 c1 1 + x77 c2 3647 c3 3647 + x77 c4 3647 c5 3647 + x77 c6 3647 c7 3647 + x77 c8 3647 c9 3647 + x77 c10 3647 c11 3647 + x77 c12 3647 c13 3647 + x78 obj 1E-5 c1 1 + x78 c2 3795 c3 3795 + x78 c4 3795 c5 1205.9406326 + x78 c6 3795 c7 3795 + x78 c8 3795 c9 3795 + x78 c10 3795 c11 3795 + x78 c12 3795 c13 3795 + x79 obj 1E-5 c1 1 + x79 c2 2912 c3 2912 + x79 c4 2912 c5 1205.9406326 + x79 c6 2912 c7 2559.6067416 + x79 c8 2912 c9 2912 + x79 c10 2912 c11 2912 + x79 c12 2912 c13 2912 + x80 obj 1E-5 c1 1 + x80 c2 8830 c3 7601.2456701 + x80 c6 8830 c7 2550.0224719 + x80 c8 6707 c9 8830 + x80 c10 8830 c12 8830 + x80 c13 390.93589744 + x81 obj 1E-5 c1 1 + x81 c2 5445 c3 5445 + x81 c4 5445 c5 5445 + x81 c6 5445 c7 5008.247191 + x81 c8 5445 c9 5445 + x81 c11 5445 c13 5445 + x82 obj 1E-5 c1 1 + x83 obj 1E-5 c1 1 + x83 c2 6112 c3 6112 + x83 c4 6112 c5 6112 + x83 c6 6112 c9 6112 + x83 c10 6112 c12 6112 + x84 obj 1E-5 c1 1 + x84 c2 8841 c4 8841 + x84 c5 8841 c8 8841 + x84 c10 8841 c13 8841 + x85 obj 1E-5 c1 1 + x85 c2 1236 c3 1236 + x85 c4 1236 c5 1236 + x85 c6 1236 c7 1236 + x85 c8 1236 c9 1236 + x85 c10 1236 c11 1236 + x85 c12 1236 c13 1236 + x86 obj 1E-5 c1 1 + x86 c2 7010 c3 7010 + x86 c4 7010 c7 7010 + x86 c8 2909 c9 7010 + x86 c10 7010 c11 7010 + x86 c12 1324 c13 7010 + x87 obj 1E-5 c1 1 + x87 c2 2909 c3 2909 + x87 c4 1599.0521146 c5 2909 + x87 c6 2909 c7 2909 + x87 c8 2909 c9 2909 + x87 c10 2909 c11 2909 + x87 c12 2909 c13 2909 + x88 obj 1E-5 c1 1 + x88 c2 7622 c3 5342.1452962 + x88 c4 7622 c5 7622 + x88 c9 7622 c10 7622 + x88 c11 7622 + x89 obj 1E-5 c1 1 + x89 c2 7393 c3 7393 + x89 c5 7393 c6 7393 + x89 c9 7393 c10 7393 + x89 c12 7393 c13 7393 + x90 obj 1E-5 c1 1 + x90 c2 8317.6971831 c3 6883.3314132 + x90 c5 8830 c7 4261.7191011 + x90 c8 2953.3115129 c9 6338.8803653 + x90 c10 4727.2211862 c11 5053.6850787 + x90 c12 6396.6621622 + x91 obj 1E-5 c1 1 + x91 c2 1950 c3 1950 + x91 c4 1950 c5 1950 + x91 c6 1950 c7 1950 + x91 c8 1950 c9 1950 + x91 c10 1950 c11 1950 + x91 c12 1950 + x92 obj 1E-5 c1 1 + x92 c2 4654 c3 4654 + x92 c4 4654 c5 4654 + x92 c6 4654 c7 4654 + x92 c8 4654 c9 4654 + x92 c10 4654 c11 1188 + x92 c12 4654 c13 4654 + x93 obj 1E-5 c1 1 + x93 c2 2255 c3 2255 + x93 c4 2255 c5 2255 + x93 c6 2255 c7 117.03370787 + x93 c8 2255 c9 2255 + x93 c10 2255 c11 2255 + x93 c12 2255 c13 2255 + x94 obj 1E-5 c1 1 + x94 c2 7104 c3 7104 + x94 c4 7104 c7 7104 + x94 c8 7104 c9 7104 + x94 c10 6114.1385266 c11 7104 + x94 c12 7104 + x95 obj 1E-5 c1 1 + x95 c2 7534.7887324 c3 7435.0469687 + x95 c4 7744 c7 3406.2808989 + x95 c8 7744 c9 7744 + x95 c11 7744 c12 3202.5945946 + x95 c13 7744 + x96 obj 1E-5 c1 1 + x96 c2 2054 c3 2054 + x96 c4 2054 c5 2054 + x96 c6 2054 c7 2054 + x96 c8 2054 c9 2054 + x96 c10 2054 c11 2054 + x96 c12 2054 c13 2054 + x97 obj 1E-5 c1 1 + x97 c2 6682 c3 6682 + x97 c4 6682 c5 6682 + x97 c8 1726.1613116 c9 6682 + x97 c11 6682 c12 4613.5135135 + x97 c13 1696.5128205 + x98 obj 1E-5 c1 1 + x98 c2 3234 c3 3234 + x98 c4 3234 c5 3234 + x98 c6 3234 c7 3234 + x98 c8 3234 c9 3234 + x98 c10 3234 c11 3234 + x98 c12 3234 c13 3234 + x99 obj 1E-5 c1 1 + x99 c2 2842 c3 1164.8704111 + x99 c4 2842 c5 2842 + x99 c6 2842 c7 2675.2808989 + x99 c8 2842 c9 2842 + x99 c10 2842 c11 2842 + x99 c12 2103.3243243 c13 2842 + x100 obj 1E-5 c1 1 + x100 c2 3974 c3 3974 + x100 c4 3974 c5 3974 + x100 c6 3974 c7 3974 + x100 c8 3974 c9 3974 + x100 c10 3974 c11 3974 + x100 c12 3974 c13 2670.2820513 + x101 obj 1E-5 c1 1 + x101 c2 3624 c3 3624 + x101 c4 3624 c5 3624 + x101 c6 3624 c7 3624 + x101 c8 3624 c9 3624 + x101 c10 3624 c11 3624 + x101 c12 3624 c13 3624 + x102 obj 1E-5 c1 1 + x102 c2 5415 c3 5415 + x102 c4 5415 c5 5415 + x102 c6 5415 c7 5415 + x102 c8 5415 c9 5415 + x102 c10 5415 + x103 obj 1E-5 c1 1 + x103 c2 2246 c3 1582 + x103 c4 2246 c5 1582 + x103 c6 2246 c7 2246 + x103 c8 2246 c9 2246 + x103 c10 1807.7609822 c11 2246 + x103 c12 1582 c13 2246 + x104 obj 1E-5 c1 1 + x104 c2 8590 c4 8590 + x104 c5 8590 c7 8590 + x104 c8 8590 c11 5312.3064276 + x104 c12 5392.9324324 + x105 obj 1E-5 c1 1 + x105 c2 2633 c3 2633 + x105 c4 2633 c5 2633 + x105 c6 2633 c7 40.747191011 + x105 c8 2633 c9 2633 + x105 c10 2633 c11 2633 + x105 c12 732.93243243 c13 2633 + x106 obj 1E-5 c1 1 + x106 c2 4655 c3 4655 + x106 c4 4655 c5 4655 + x106 c6 4655 c7 4655 + x106 c8 4655 c9 4655 + x106 c10 4655 c11 4655 + x106 c12 418.45945946 c13 691 + x107 obj 1E-5 c1 1 + x107 c2 2923 c3 2923 + x107 c4 2923 c5 2923 + x107 c6 2923 c7 2923 + x107 c8 2923 c9 2923 + x107 c10 2923 c11 2923 + x107 c12 2923 c13 2923 + x108 obj 1E-5 c1 1 + x108 c2 6318 c3 6318 + x108 c5 6318 c6 6318 + x108 c7 4285.6853933 c8 6318 + x108 c9 6318 c10 6318 + x108 c11 6318 c13 6318 + x109 obj 1E-5 c1 1 + x109 c2 7440 c3 7440 + x109 c4 5080.614002 c6 1739 + x109 c7 6319.247191 c8 7440 + x109 c9 3677.0954338 c10 7440 + x109 c13 1402.1282051 + x110 obj 1E-5 c1 1 + x110 c2 4579 c3 4579 + x110 c4 4579 c5 4579 + x110 c6 4579 c7 4579 + x110 c8 4579 c9 1172.1497717 + x110 c10 3472.3863166 c11 4579 + x110 c12 4579 c13 4579 + x111 obj 1E-5 c1 1 + x111 c2 8342 c3 8342 + x111 c6 8342 c7 8342 + x111 c9 8342 c11 8342 + x111 c12 8342 c13 3445 + x112 obj 1E-5 c1 1 + x112 c2 3813.4002347 c3 5050 + x112 c4 4677.0111577 c5 81.974939173 + x112 c6 1239 c7 3764.0337079 + x112 c8 2660.5892304 c9 2180.2694064 + x112 c10 3270.7045485 c11 5050 + x112 c12 1102 c13 3648.6794872 + x113 obj 1E-5 c1 1 + x113 c2 6268 c3 6268 + x113 c4 6268 c5 6268 + x113 c6 1822.5 c9 6268 + x113 c10 6268 c11 4575.3149213 + x113 c12 6268 c13 4719.0833333 + x114 obj 1E-5 c1 1 + x114 c2 8570 c3 8570 + x114 c6 8570 c8 8570 + x114 c9 6425.2703196 c10 8570 + x114 c11 7133 + x115 obj 1E-5 c1 1 + x115 c2 9838 c5 6831.392944 + x115 c6 9838 c7 5613.6853933 + x115 c8 9838 c9 4293.1287671 + x115 c10 9838 c11 5180 + x115 c13 2068.8974359 + x116 obj 1E-5 c1 1 + x116 c2 4876 c3 4876 + x116 c4 2157.614002 c5 4876 + x116 c6 4876 c7 4876 + x116 c8 4876 c9 4876 + x116 c10 4624.3962297 c11 4876 + x116 c13 1920.724359 + x117 obj 1E-5 c1 1 + x117 c2 418.3028169 c3 9861 + x117 c4 5572.0948907 c5 2435.796837 + x117 c6 5429.5829374 c8 922.29134407 + x117 c9 5007.8803653 c10 4652.0215414 + x117 c11 1899.2210109 + x118 obj 1E-5 c1 1 + x118 c2 4922 c3 4922 + x118 c4 4922 c5 4922 + x118 c6 4922 c7 3647 + x118 c8 4922 c9 4922 + x118 c10 2886.5022818 c11 4922 + x118 c12 3225.1351351 c13 1741.5064103 + x119 obj 1E-5 c1 1 + x119 c2 3590 c3 3590 + x119 c4 3590 c5 3590 + x119 c6 3590 c7 625.96629213 + x119 c8 3590 c9 3590 + x119 c10 3590 c11 2057.4578071 + x119 c12 1866.4459459 c13 899.94871795 + x120 obj 1E-5 c1 1 + x120 c2 7152 c3 7152 + x120 c4 7152 c6 7152 + x120 c8 7152 c9 7152 + x120 c12 3625.7162162 c13 7152 + x121 obj 1E-5 c1 1 + x121 c2 7056 c3 7056 + x121 c4 7056 c5 7056 + x121 c10 7056 c11 7056 + x121 c13 3555.5641026 + x122 obj 1E-5 c1 1 + x122 c2 9136 c4 9136 + x122 c5 9136 c8 9136 + x122 c9 9136 c12 9136 + x123 obj 1E-5 c1 1 + x123 c2 7850 c3 4655 + x123 c4 7850 c7 7850 + x123 c8 5952.0905079 c9 4655 + x123 c10 4655 c11 7850 + x123 c12 7850 c13 7850 + x124 obj 1E-5 c1 1 + x124 c2 6863 c3 6863 + x124 c4 6863 c6 6863 + x124 c7 6863 c10 6863 + x124 c12 6863 c13 6863 + x125 obj 1E-5 c1 1 + x125 c2 9356 c4 9356 + x125 c6 9356 c7 9356 + x125 c9 9091 c11 5319.7567851 + x125 c12 9356 c13 7943.6794872 + x126 obj 1E-5 c1 1 + x126 c2 2933 c3 2933 + x126 c4 2933 c5 2933 + x126 c6 2933 c7 2933 + x126 c8 2933 c9 2933 + x126 c10 2933 c11 2933 + x126 c12 2933 c13 2933 + x127 obj 1E-5 c1 1 + x127 c2 2665 c3 2665 + x127 c4 2665 c5 2665 + x127 c6 2665 c7 2665 + x127 c8 2665 c9 2665 + x127 c10 2665 c11 2665 + x127 c12 2665 c13 2665 + x128 obj 1E-5 c1 1 + x128 c2 4063 c3 4063 + x128 c4 4063 c5 4063 + x128 c6 4063 c7 4063 + x128 c8 4063 c9 4063 + x128 c10 4063 c11 4063 + x128 c12 4020 c13 4063 + x129 obj 1E-5 c1 1 + x129 c2 7502 c3 4120.6364834 + x129 c4 7502 c5 7502 + x129 c7 5485.988764 c8 2002.5321694 + x129 c10 7502 c11 7502 + x129 c13 6355.8974359 + x130 obj 1E-5 c1 1 + x130 c2 1966 c3 1966 + x130 c4 1966 c5 1966 + x130 c6 1966 c7 1966 + x130 c8 1966 c9 1966 + x130 c10 1966 c11 1966 + x130 c12 1966 c13 1966 + x131 obj 1E-5 c1 1 + x131 c2 4540 c3 4540 + x131 c4 4540 c5 4540 + x131 c6 4540 c7 4540 + x131 c8 4540 c9 4540 + x131 c10 4540 c11 4540 + x131 c12 4540 c13 4540 + x132 obj 1E-5 c1 1 + x132 c2 1370 c3 1370 + x132 c4 1370 c5 1370 + x132 c6 1370 c7 1370 + x132 c8 1370 c9 1370 + x132 c10 1370 c11 1370 + x132 c12 1370 c13 1370 + x133 obj 1E-5 c1 1 + x133 c2 9828 c5 6682.7810219 + x133 c6 9828 c7 4661.988764 + x133 c8 9828 c9 9828 + x133 c10 9828 c11 7435.893535 + x134 obj 1E-5 c1 1 + x134 c2 9376 c4 9376 + x134 c6 9376 c8 9376 + x134 c9 7354 c10 9376 + x134 c12 4540 c13 9376 + x135 obj 1E-5 c1 1 + x135 c2 3856.6326291 c3 2379.6660405 + x135 c4 6443 c5 5038.2167883 + x135 c6 5616.8782937 c7 5761.1011236 + x135 c8 6443 c9 6443 + x135 c10 2784.1324972 c11 4802.8550525 + x135 c13 816.93589744 + x136 obj 1E-5 c1 1 + x136 c2 1996 c3 1996 + x136 c4 1996 c5 1996 + x136 c6 1996 c7 1996 + x136 c8 1996 c9 1996 + x136 c10 1996 c11 1996 + x136 c12 1996 c13 1996 + x137 obj 1E-5 c1 1 + x137 c2 5320 c3 5320 + x137 c4 5320 c5 4660.7472019 + x137 c6 5320 c7 5320 + x137 c8 5320 c9 5320 + x137 c10 2436.2770533 c11 5320 + x137 c12 1390.0810811 c13 5320 + x138 obj 1E-5 c1 1 + x138 c2 3107.4788732 c3 5533.7993219 + x138 c4 2524.7428057 c5 6754 + x138 c6 1358.4934125 c7 3269.2808989 + x138 c8 6041.6761381 c9 801.50639269 + x138 c10 579.50663393 c12 275 + x138 c13 1376.7820513 + x139 obj 1E-5 c1 1 + x139 c2 1645 c3 1645 + x139 c4 1645 c5 1645 + x139 c6 1645 c7 1645 + x139 c8 1645 c9 1645 + x139 c10 1645 c11 1645 + x139 c12 1645 c13 1645 + x140 obj 1E-5 c1 1 + x140 c2 2890.0046948 c3 4365 + x140 c4 499.32083911 c5 2864.8812652 + x140 c6 4365 c7 3781.011236 + x140 c8 647 c9 4920 + x140 c10 3851.4963355 c11 3400.7613107 + x140 c12 7967.1621622 c13 433 + x141 obj 1E-5 c1 1 + x141 c2 4920 c3 4920 + x141 c4 4920 c5 4920 + x141 c6 4920 c7 4396.0561798 + x141 c8 4920 c9 4920 + x141 c10 4920 c11 4920 + x141 c12 4920 c13 4920 + x142 obj 1E-5 c1 1 + x142 c2 8107 c3 8107 + x142 c5 8107 c7 8107 + x142 c9 4475.8803653 c10 8107 + x142 c11 8107 c12 3561.7972973 + x143 obj 1E-5 c1 1 + x143 c2 6103 c3 6103 + x143 c4 6103 c5 6103 + x143 c6 6103 c9 6103 + x143 c10 6103 c12 2247.6351351 + x144 obj 1E-5 c1 1 + x144 c2 4970 c3 4970 + x144 c4 4970 c5 4970 + x144 c6 4970 c7 4970 + x144 c8 4970 c9 4970 + x144 c10 4970 c11 4970 + x144 c12 4970 c13 3647 + x145 obj 1E-5 c1 1 + x145 c2 1582 c3 1582 + x145 c4 1007.7206724 c5 1582 + x145 c6 1582 c7 1582 + x145 c8 1582 c9 1582 + x145 c10 1582 c11 1582 + x145 c12 1582 c13 1582 + x146 obj 1E-5 c1 1 + x146 c2 6146 c3 6146 + x146 c4 6146 c6 6146 + x146 c7 4694 c8 6146 + x146 c9 4153.7584475 c10 956.80938421 + x146 c11 6146 c12 6146 + x146 c13 3939 + x147 obj 1E-5 c1 1 + x147 c2 6295 c3 6295 + x147 c4 6295 c5 5403.1975669 + x147 c6 6295 c10 6295 + x147 c11 4239.4996656 c12 6295 + x147 c13 6295 + x148 obj 1E-5 c1 1 + x148 c2 8177 c3 8177 + x148 c5 3640.0593674 c6 8177 + x148 c8 8177 c11 5869.4915429 + x148 c12 1942.6756757 c13 8177 + x149 obj 1E-5 c1 1 + x149 c2 5339 c3 6015.5 + x149 c4 8641 c6 8742 + x149 c7 4299.5617978 c8 8742 + x149 c10 4836 + x150 obj 1E-5 c1 1 + x150 c2 9936 c3 9936 + x150 c8 9936 c9 8641 + x150 c10 5887 c11 9936 + x150 c12 9936 c13 9936 + MARK0001 'MARKER' 'INTEND' + x151 obj 1 c2 1 + x151 c3 1 c4 1 + x151 c5 1 c6 1 + x151 c7 1 c8 1 + x151 c9 1 c10 1 + x151 c11 1 c12 1 + x151 c13 1 +RHS + rhs c1 20 c2 157344.61033 + rhs c3 110007.77718 c4 113089.95355 + rhs c5 107767 c6 107283.94838 + rhs c7 86376 c8 107309 + rhs c9 105490.73653 c10 117802.11377 + rhs c11 97934 c12 85137 + rhs c13 94358.5 +BOUNDS + UP bnd x1 1 + UP bnd x2 1 + UP bnd x3 1 + UP bnd x4 1 + UP bnd x5 1 + UP bnd x6 1 + UP bnd x7 1 + UP bnd x8 1 + UP bnd x9 1 + UP bnd x10 1 + UP bnd x11 1 + UP bnd x12 1 + UP bnd x13 1 + UP bnd x14 1 + UP bnd x15 1 + UP bnd x16 1 + UP bnd x17 1 + UP bnd x18 1 + UP bnd x19 1 + UP bnd x20 1 + UP bnd x21 1 + UP bnd x22 1 + UP bnd x23 1 + UP bnd x24 1 + UP bnd x25 1 + UP bnd x26 1 + UP bnd x27 1 + UP bnd x28 1 + UP bnd x29 1 + UP bnd x30 1 + UP bnd x31 1 + UP bnd x32 1 + UP bnd x33 1 + UP bnd x34 1 + UP bnd x35 1 + UP bnd x36 1 + UP bnd x37 1 + UP bnd x38 1 + UP bnd x39 1 + UP bnd x40 1 + UP bnd x41 1 + UP bnd x42 1 + UP bnd x43 1 + UP bnd x44 1 + UP bnd x45 1 + UP bnd x46 1 + UP bnd x47 1 + UP bnd x48 1 + UP bnd x49 1 + UP bnd x50 1 + UP bnd x51 1 + UP bnd x52 1 + UP bnd x53 1 + UP bnd x54 1 + UP bnd x55 1 + UP bnd x56 1 + UP bnd x57 1 + UP bnd x58 1 + UP bnd x59 1 + UP bnd x60 1 + UP bnd x61 1 + UP bnd x62 1 + UP bnd x63 1 + UP bnd x64 1 + UP bnd x65 1 + UP bnd x66 1 + UP bnd x67 1 + UP bnd x68 1 + UP bnd x69 1 + UP bnd x70 1 + UP bnd x71 1 + UP bnd x72 1 + UP bnd x73 1 + UP bnd x74 1 + UP bnd x75 1 + UP bnd x76 1 + UP bnd x77 1 + UP bnd x78 1 + UP bnd x79 1 + UP bnd x80 1 + UP bnd x81 1 + UP bnd x82 1 + UP bnd x83 1 + UP bnd x84 1 + UP bnd x85 1 + UP bnd x86 1 + UP bnd x87 1 + UP bnd x88 1 + UP bnd x89 1 + UP bnd x90 1 + UP bnd x91 1 + UP bnd x92 1 + UP bnd x93 1 + UP bnd x94 1 + UP bnd x95 1 + UP bnd x96 1 + UP bnd x97 1 + UP bnd x98 1 + UP bnd x99 1 + UP bnd x100 1 + UP bnd x101 1 + UP bnd x102 1 + UP bnd x103 1 + UP bnd x104 1 + UP bnd x105 1 + UP bnd x106 1 + UP bnd x107 1 + UP bnd x108 1 + UP bnd x109 1 + UP bnd x110 1 + UP bnd x111 1 + UP bnd x112 1 + UP bnd x113 1 + UP bnd x114 1 + UP bnd x115 1 + UP bnd x116 1 + UP bnd x117 1 + UP bnd x118 1 + UP bnd x119 1 + UP bnd x120 1 + UP bnd x121 1 + UP bnd x122 1 + UP bnd x123 1 + UP bnd x124 1 + UP bnd x125 1 + UP bnd x126 1 + UP bnd x127 1 + UP bnd x128 1 + UP bnd x129 1 + UP bnd x130 1 + UP bnd x131 1 + UP bnd x132 1 + UP bnd x133 1 + UP bnd x134 1 + UP bnd x135 1 + UP bnd x136 1 + UP bnd x137 1 + UP bnd x138 1 + UP bnd x139 1 + UP bnd x140 1 + UP bnd x141 1 + UP bnd x142 1 + UP bnd x143 1 + UP bnd x144 1 + UP bnd x145 1 + UP bnd x146 1 + UP bnd x147 1 + UP bnd x148 1 + UP bnd x149 1 + UP bnd x150 1 + UP bnd x151 1E+12 +ENDATA diff --git a/demos/ppl_lpsol/examples/mas76.mps b/demos/ppl_lpsol/examples/mas76.mps new file mode 100644 index 000000000..7ff9a648f --- /dev/null +++ b/demos/ppl_lpsol/examples/mas76.mps @@ -0,0 +1,1134 @@ +NAME mas76 +ROWS + N obj + L c1 + G c2 + G c3 + G c4 + G c5 + G c6 + G c7 + G c8 + G c9 + G c10 + G c11 + G c12 +COLUMNS + MARK0000 'MARKER' 'INTORG' + x1 obj 1E-5 c1 1 + x1 c2 3857.5340376 c3 4264 + x1 c4 4264 c5 4264 + x1 c6 4264 c7 4264 + x1 c8 4264 c9 4264 + x1 c10 4264 c11 4264 + x1 c12 4264 + x2 obj 1E-5 c1 1 + x2 c2 125.76760563 c3 5339 + x2 c4 5339 c5 5339 + x2 c6 4264 c7 5339 + x2 c8 5339 c9 3875.8958001 + x2 c10 1218.3024772 c11 2349.7029047 + x2 c12 3717.0066721 + x3 obj 1E-5 c1 1 + x3 c2 7165.7769953 c3 5997.5298448 + x3 c4 4020 c5 2551.0705817 + x3 c6 7749 c7 5950 + x3 c8 8260 c9 4091.5157068 + x3 c11 5954.3061901 c12 3906 + x4 obj 1E-5 c1 1 + x4 c2 2876 c3 2876 + x4 c4 2876 c5 2876 + x4 c6 2876 c7 2876 + x4 c8 2876 c9 2876 + x4 c10 2876 c11 2876 + x4 c12 2876 + x5 obj 1E-5 c1 1 + x5 c2 9723 c5 9723 + x5 c6 9723 c7 9723 + x5 c8 8445 c9 9723 + x5 c11 9723 c12 7630.8567538 + x6 obj 1E-5 c1 1 + x6 c2 7310 c3 7310 + x6 c4 7310 c5 7310 + x6 c8 7310 c11 7310 + x6 c12 7310 + x7 obj 1E-5 c1 1 + x7 c2 1529 c3 1529 + x7 c4 1529 c5 1529 + x7 c6 1529 c7 1529 + x7 c8 1529 c9 1529 + x7 c10 1529 c11 1529 + x7 c12 1529 + x8 obj 1E-5 c1 1 + x8 c2 1585 c3 1585 + x8 c4 1585 c5 1585 + x8 c6 1585 c7 1585 + x8 c8 1585 c9 1585 + x8 c10 1585 c11 1585 + x8 c12 1585 + x9 obj 1E-5 c1 1 + x9 c2 2949 c3 2949 + x9 c4 2949 c5 2949 + x9 c6 2949 c7 2949 + x9 c8 2949 c9 2949 + x9 c10 2949 c11 2949 + x9 c12 2949 + x10 obj 1E-5 c1 1 + x10 c2 7097 c3 4194.6948608 + x10 c4 7097 c5 7097 + x10 c6 5307.6683033 c7 3402.7992571 + x10 c8 7097 c9 7097 + x10 c11 7097 c12 3993.4803922 + x11 obj 1E-5 c1 1 + x11 c2 1239 c3 1239 + x11 c4 1239 c5 1239 + x11 c6 1239 c7 1239 + x11 c8 1239 c9 1239 + x11 c10 1239 c11 1239 + x11 c12 1239 + x12 obj 1E-5 c1 1 + x12 c2 6449 c3 9402 + x12 c4 5213 c5 5460.1237005 + x12 c6 4623.3631424 c7 6449 + x12 c8 2364.3477082 c9 9402 + x12 c11 6019.7713621 + x13 obj 1E-5 c1 1 + x13 c2 4596.07277 c3 8025 + x13 c4 5205.5725555 c5 6988.5590257 + x13 c6 5095.7938067 c7 3647 + x13 c8 2463 c9 141.85254951 + x13 c10 2623.8400161 c11 8025 + x13 c12 996.84041394 + x14 obj 1E-5 c1 1 + x14 c2 8037 c3 8037 + x14 c5 8037 c6 8037 + x14 c8 8037 c9 8037 + x14 c10 8037 c12 8037 + x15 obj 1E-5 c1 1 + x15 c2 7123 c3 7123 + x15 c4 3447.1997813 c5 7123 + x15 c6 7123 c7 4517.0858346 + x15 c8 7123 c10 7123 + x15 c11 7123 + x16 obj 1E-5 c1 1 + x16 c2 8067 c3 4956.3455567 + x16 c4 5187.6249609 c5 8067 + x16 c6 8067 c10 3697.4308858 + x16 c11 8067 + x17 obj 1E-5 c1 1 + x17 c2 5704 c3 5704 + x17 c4 5704 c5 5704 + x17 c6 5704 c7 5704 + x17 c8 2933 c9 5704 + x17 c10 5704 c11 5704 + x17 c12 5704 + x18 obj 1E-5 c1 1 + x18 c2 1582 c3 1582 + x18 c4 1506.6047419 c5 1582 + x18 c6 1582 c7 1582 + x18 c8 1582 c9 1582 + x18 c10 1582 c11 1582 + x18 c12 1582 + x19 obj 1E-5 c1 1 + x19 c2 8713 c4 8713 + x19 c5 4132.4582009 c6 6570.524825 + x19 c7 7115.7257058 c8 8713 + x19 c10 8713 c11 8713 + x19 c12 7955.7135076 + x20 obj 1E-5 c1 1 + x20 c2 9232 c4 9232 + x20 c6 9232 c8 9232 + x20 c9 8172 c10 8172 + x20 c11 9232 c12 9232 + x21 obj 1E-5 c1 1 + x21 c2 3371 c3 4450.6085385 + x21 c4 4600 c5 4035 + x21 c6 4035 c7 3371 + x21 c8 4600 c9 4600 + x21 c10 4600 c11 4600 + x21 c12 4600 + x22 obj 1E-5 c1 1 + x22 c2 2637 c3 2637 + x22 c4 2637 c5 2637 + x22 c6 2637 c7 2637 + x22 c8 2637 c9 2637 + x22 c10 2637 c11 2637 + x22 c12 2637 + x23 obj 1E-5 c1 1 + x23 c2 7131 c3 2834.0627677 + x23 c4 3022.4184269 c5 5161.2867944 + x23 c6 5112.4181569 c7 7131 + x23 c8 6859.5538378 c9 6201.8467448 + x23 c10 3993.954677 c11 7131 + x23 c12 6771.8233932 + x24 obj 1E-5 c1 1 + x24 c2 418.3028169 c3 6800.7326017 + x24 c4 1444.7264377 c5 4438.6399605 + x24 c6 4376.4583031 c7 5896.5208271 + x24 c8 2400.0713317 c9 4056 + x24 c10 9861 c11 4486.3993937 + x24 c12 425.53118192 + x25 obj 1E-5 c1 1 + x25 c2 3647 c3 3647 + x25 c4 3647 c5 3647 + x25 c6 3647 c7 3647 + x25 c8 3647 c9 3647 + x25 c10 3647 c11 3647 + x25 c12 3647 + x26 obj 1E-5 c1 1 + x26 c2 5688.4859155 c3 5067.3705835 + x26 c4 8494 c5 4130.3600395 + x26 c6 6202.6957438 c7 8494 + x26 c8 2923 c9 4370 + x26 c10 8494 c11 5761.3993937 + x26 c12 2913.3760893 + x27 obj 1E-5 c1 1 + x27 c2 7832.5997653 c3 9897 + x27 c5 9897 c7 379.40517583 + x27 c8 1683.2694603 c9 692.80030731 + x27 c10 1978.1561741 c11 3143.4143401 + x27 c12 2587.7352941 + x28 obj 1E-5 c1 1 + x28 c2 4409.1255869 c3 5880 + x28 c4 4579 c5 5880 + x28 c6 5880 c7 5880 + x28 c8 5880 c9 1252 + x28 c10 5880 c11 4322.1433305 + x28 c12 3416.7352941 + x29 obj 1E-5 c1 1 + x29 c2 1053 c3 1053 + x29 c4 1053 c5 1053 + x29 c6 1053 c7 1053 + x29 c8 1053 c9 1053 + x29 c10 1053 c11 1053 + x29 c12 1053 + x30 obj 1E-5 c1 1 + x30 c2 2869 c3 2869 + x30 c4 2869 c5 2869 + x30 c6 2869 c7 2869 + x30 c8 2781.1171684 c9 2869 + x30 c10 2869 c11 2869 + x30 c12 2869 + x31 obj 1E-5 c1 1 + x31 c2 5410 c3 5410 + x31 c4 5410 c5 4453 + x31 c6 5410 c7 5410 + x31 c8 1920.896664 c9 5410 + x31 c10 5410 c11 5410 + x31 c12 1867.9586057 + x32 obj 1E-5 c1 1 + x32 c2 3948 c3 3948 + x32 c4 3948 c5 3948 + x32 c6 3948 c7 3948 + x32 c8 3948 c9 3948 + x32 c10 3948 c11 3948 + x32 c12 3948 + x33 obj 1E-5 c1 1 + x33 c2 6049 c3 6049 + x33 c4 6049 c5 6049 + x33 c6 6049 c7 6049 + x33 c8 6049 c9 6049 + x33 c10 6049 c11 6049 + x33 c12 6049 + x34 obj 1E-5 c1 1 + x34 c2 9317 c4 9317 + x34 c6 9317 c8 9317 + x34 c9 9317 c10 9317 + x35 obj 1E-5 c1 1 + x35 c2 6880 c3 6880 + x35 c4 179.5 c5 1950 + x35 c6 6880 c7 2814.2200099 + x35 c8 2633.4930838 c9 4584.1996927 + x35 c10 2002.5472941 c11 4666.1862662 + x35 c12 6880 + x36 obj 1E-5 c1 1 + x36 c2 3779 c3 3779 + x36 c4 3779 c5 3779 + x36 c6 3779 c7 3779 + x36 c8 3779 c9 3779 + x36 c10 3779 c11 3779 + x36 c12 3779 + x37 obj 1E-5 c1 1 + x37 c2 3641 c3 3641 + x37 c4 3641 c5 3641 + x37 c6 3641 c7 3641 + x37 c8 3641 c9 3641 + x37 c10 3641 c11 3641 + x37 c12 3641 + x38 obj 1E-5 c1 1 + x38 c2 5567 c3 4989.1615364 + x38 c4 5567 c5 5567 + x38 c6 5567 c7 5567 + x38 c8 5567 c9 5567 + x38 c10 5567 c11 5353 + x38 c12 5567 + x39 obj 1E-5 c1 1 + x39 c2 2197 c3 2197 + x39 c4 2197 c5 2197 + x39 c6 2197 c7 2197 + x39 c8 2197 c9 2197 + x39 c10 2197 c11 2197 + x39 c12 2197 + x40 obj 1E-5 c1 1 + x40 c2 2842 c3 2842 + x40 c4 2842 c5 2842 + x40 c6 2842 c7 2842 + x40 c8 2842 c9 2842 + x40 c10 2842 c11 2842 + x40 c12 2842 + x41 obj 1E-5 c1 1 + x41 c2 4846 c3 4846 + x41 c4 4846 c5 4846 + x41 c6 4846 c7 4846 + x41 c8 4846 c9 4846 + x41 c10 4846 c11 4846 + x41 c12 4846 + x42 obj 1E-5 c1 1 + x42 c2 4616 c3 4616 + x42 c4 4616 c5 4616 + x42 c6 4386.6285041 c7 4616 + x42 c8 4616 c9 4616 + x42 c10 4616 c11 4616 + x42 c12 4616 + x43 obj 1E-5 c1 1 + x43 c2 8807 c4 8807 + x43 c5 8807 c8 8807 + x43 c9 8807 c10 8807 + x43 c11 8807 c12 8807 + x44 obj 1E-5 c1 1 + x44 c2 3261 c3 3261 + x44 c4 3261 c5 3261 + x44 c6 3261 c7 3261 + x44 c8 3261 c9 3261 + x44 c10 3261 c11 3261 + x44 c12 3261 + x45 obj 1E-5 c1 1 + x45 c2 3553 c3 3553 + x45 c4 3553 c5 3553 + x45 c6 3553 c7 3553 + x45 c8 3553 c9 3553 + x45 c10 3553 c11 3553 + x45 c12 3553 + x46 obj 1E-5 c1 1 + x46 c2 5239 c3 5239 + x46 c4 5239 c5 5239 + x46 c6 5239 c7 5239 + x46 c8 5239 c9 5239 + x46 c10 5239 c11 5239 + x46 c12 5239 + x47 obj 1E-5 c1 1 + x47 c2 6665 c3 6665 + x47 c4 6665 c5 6665 + x47 c6 6665 c7 6665 + x47 c9 6665 c10 6665 + x47 c11 6665 + x48 obj 1E-5 c1 1 + x48 c2 3257.4906103 c3 6513.6694995 + x48 c4 8172 c6 8172 + x48 c7 5519.3776127 c8 8172 + x48 c9 8172 c10 8172 + x48 c11 8172 c12 8172 + x49 obj 1E-5 c1 1 + x49 c2 7219.556338 c3 6513.6694995 + x49 c4 8425 c6 8425 + x49 c7 5519.3776127 c8 8425 + x49 c11 8425 c12 4380.7073802 + x50 obj 1E-5 c1 1 + x50 c2 2536 c3 2536 + x50 c4 2536 c5 2536 + x50 c6 2536 c7 2536 + x50 c8 2536 c9 2536 + x50 c10 2536 c11 2536 + x50 c12 2536 + x51 obj 1E-5 c1 1 + x51 c2 8013 c3 5762 + x51 c5 5175.6917691 c6 2922.0679176 + x51 c7 2679.7992571 c8 6292.9194467 + x51 c9 7163.2213749 c10 5780.0146168 + x51 c11 8013 c12 5333.267293 + x52 obj 1E-5 c1 1 + x52 c2 3541 c3 3541 + x52 c4 3541 c5 3541 + x52 c6 922.71451306 c7 3541 + x52 c8 3541 c9 3541 + x52 c10 3541 c11 3541 + x52 c12 3541 + x53 obj 1E-5 c1 1 + x53 c2 8080 c3 8080 + x53 c5 8080 c6 8080 + x53 c9 8080 c10 8080 + x53 c11 8080 c12 8080 + x54 obj 1E-5 c1 1 + x54 c2 5593.0586854 c3 6767 + x54 c4 4966.4377418 c5 2857.9555159 + x54 c6 6767 c7 5991.3240713 + x54 c8 4602.7549498 c9 3568.8679718 + x54 c10 6701.5752929 c11 6767 + x54 c12 3547.4434913 + x55 obj 1E-5 c1 1 + x55 c2 5036 c3 5036 + x55 c4 5036 c5 5036 + x55 c6 5036 c7 5036 + x55 c8 5036 c9 5036 + x55 c10 5036 c11 5036 + x55 c12 5036 + x56 obj 1E-5 c1 1 + x56 c2 1782 c3 1782 + x56 c4 1782 c5 1782 + x56 c6 1782 c7 1782 + x56 c8 1782 c9 1782 + x56 c10 1782 c11 1782 + x56 c12 1782 + x57 obj 1E-5 c1 1 + x57 c2 3895 c3 3895 + x57 c4 3895 c5 3895 + x57 c6 3895 c7 3895 + x57 c8 3895 c9 3895 + x57 c10 3895 c11 3895 + x57 c12 769.38126362 + x58 obj 1E-5 c1 1 + x58 c2 4205 c3 4205 + x58 c4 4205 c5 4205 + x58 c6 4205 c7 4205 + x58 c8 4205 c9 4205 + x58 c10 4205 c11 4205 + x58 c12 4205 + x59 obj 1E-5 c1 1 + x59 c2 7772 c3 7772 + x59 c4 7772 c7 7772 + x59 c9 7772 c10 7772 + x59 c11 6995.3832487 + x60 obj 1E-5 c1 1 + x60 c2 9326 c4 6887.3290528 + x60 c5 2548.0705817 c6 9326 + x60 c7 9326 c8 5781.2161649 + x60 c10 9326 c11 9326 + x61 obj 1E-5 c1 1 + x61 c2 4757 c3 4757 + x61 c4 1337.1303919 c5 1766.2736704 + x61 c8 3828.0930296 c9 2546.4977806 + x61 c10 4720.6651742 c11 1936 + x61 c12 1374.3269336 + x62 obj 1E-5 c1 1 + x62 c2 5355 c3 5355 + x62 c4 5355 c5 5355 + x62 c6 5355 c7 5355 + x62 c8 5355 c9 920.44109948 + x62 c10 5355 c11 5355 + x62 c12 5355 + x63 obj 1E-5 c1 1 + x63 c2 1919 c3 1919 + x63 c4 1919 c5 1919 + x63 c6 1919 c7 1919 + x63 c8 1919 c9 1919 + x63 c10 1919 c11 1919 + x63 c12 1919 + x64 obj 1E-5 c1 1 + x64 c2 7510.5774648 c3 7988.4333512 + x64 c4 6185.1233268 c6 5491.8578076 + x64 c7 6851.4383853 c8 6803.6804991 + x64 c10 3921.3900634 c11 7066.1811901 + x64 c12 1296.5245098 + x65 obj 1E-5 c1 1 + x65 c2 7341 c3 7341 + x65 c4 7341 c5 7341 + x65 c8 7341 c9 6295.6057364 + x65 c11 7341 + x66 obj 1E-5 c1 1 + x66 c2 8541 c3 8541 + x66 c6 4655 c7 8541 + x66 c8 4655 c9 3195 + x66 c10 8541 c11 4655 + x66 c12 8541 + x67 obj 1E-5 c1 1 + x67 c2 8352 c3 8352 + x67 c5 8352 c7 8352 + x67 c10 8352 c11 8352 + x67 c12 8352 + x68 obj 1E-5 c1 1 + x68 c2 3291 c3 3291 + x68 c4 3291 c5 3291 + x68 c6 3291 c7 3291 + x68 c8 3291 c9 3291 + x68 c10 3291 c11 3291 + x68 c12 3291 + x69 obj 1E-5 c1 1 + x69 c2 7328 c3 7328 + x69 c4 7328 c5 7328 + x69 c8 7328 c11 7328 + x69 c12 7328 + x70 obj 1E-5 c1 1 + x70 c2 4506 c3 4506 + x70 c4 4506 c5 4506 + x70 c6 4506 c7 4506 + x70 c8 4506 c9 4506 + x70 c10 4506 c11 4506 + x70 c12 4506 + x71 obj 1E-5 c1 1 + x71 c2 4429 c3 4429 + x71 c4 4429 c5 4429 + x71 c6 4429 c7 4429 + x71 c8 4429 c9 4429 + x71 c10 4429 c11 4429 + x71 c12 4429 + x72 obj 1E-5 c1 1 + x72 c2 4593 c3 4593 + x72 c4 2038.6351681 c5 4593 + x72 c6 3783.7812896 c7 2671.1703318 + x72 c8 2068.3189585 c9 4593 + x72 c10 4593 c11 4593 + x72 c12 758.29711329 + x73 obj 1E-5 c1 1 + x73 c2 9138 c4 6121.179313 + x73 c5 8484 c7 4071.8888806 + x73 c8 8484 c9 2896.1020089 + x73 c10 9138 c11 2081.7976241 + x73 c12 2184.2401961 + x74 obj 1E-5 c1 1 + x74 c2 3731.7664319 c3 6465.6610011 + x74 c4 6197.801258 c5 6175.543002 + x74 c7 5999.3406637 c8 4290.3138053 + x74 c9 5877.0429661 c10 3472.3031042 + x74 c11 3545.8932953 c12 4236.1090686 + x75 obj 1E-5 c1 1 + x75 c2 5124.2922535 c3 5806.8664347 + x75 c4 1698.801258 c5 2921.3990893 + x75 c6 654.39121533 c7 3781.9888063 + x75 c8 5470.8814755 c9 984.49846346 + x75 c10 630.30310424 c11 5202.9097575 + x75 c12 5406.1224129 + x76 obj 1E-5 c1 1 + x76 c2 4378 c3 4378 + x76 c4 2279.4274445 c5 4378 + x76 c6 4378 c8 4378 + x76 c9 4378 c10 4378 + x76 c11 4378 c12 4378 + x77 obj 1E-5 c1 1 + x77 c2 3647 c3 3647 + x77 c4 3647 c5 3647 + x77 c6 3647 c7 3647 + x77 c8 3647 c9 3647 + x77 c10 3647 c11 3647 + x77 c12 3647 + x78 obj 1E-5 c1 1 + x78 c2 3795 c3 1395.1358405 + x78 c4 3795 c5 3795 + x78 c6 3795 c7 3795 + x78 c8 3795 c9 3795 + x78 c10 2912 c11 3795 + x78 c12 3795 + x79 obj 1E-5 c1 1 + x79 c2 2912 c3 2912 + x79 c4 2912 c5 2912 + x79 c6 2912 c7 2912 + x79 c8 2912 c9 2912 + x79 c10 2912 c11 2912 + x79 c12 2912 + x80 obj 1E-5 c1 1 + x80 c2 8830 c4 8830 + x80 c5 2505.1281467 c6 8830 + x80 c7 8830 c8 8830 + x80 c9 8830 c12 40.55787037 + x81 obj 1E-5 c1 1 + x81 c2 5445 c3 5445 + x81 c4 5445 c5 5445 + x81 c6 5445 c7 5445 + x81 c8 5445 c9 2395.8979911 + x81 c10 5445 c11 5445 + x81 c12 5445 + x82 obj 1E-5 c1 1 + x83 obj 1E-5 c1 1 + x83 c2 6112 c3 6112 + x83 c4 4478.7723368 c5 6112 + x83 c6 6112 c7 6112 + x83 c8 6112 c9 6112 + x83 c10 6112 c11 6112 + x83 c12 6112 + x84 obj 1E-5 c1 1 + x84 c2 8841 c4 8841 + x84 c5 8841 c6 8841 + x84 c10 8841 c12 8841 + x85 obj 1E-5 c1 1 + x85 c2 1236 c3 1236 + x85 c4 1236 c5 1236 + x85 c6 1236 c7 1236 + x85 c8 1236 c9 1236 + x85 c10 1236 c11 1236 + x85 c12 1236 + x86 obj 1E-5 c1 1 + x86 c2 7010 c3 7010 + x86 c4 7010 c5 7010 + x86 c6 7010 c9 7010 + x86 c10 7010 + x87 obj 1E-5 c1 1 + x87 c2 2909 c3 2909 + x87 c4 2909 c5 2909 + x87 c6 2909 c7 2909 + x87 c8 2909 c9 2909 + x87 c10 2909 c11 2909 + x87 c12 2909 + x88 obj 1E-5 c1 1 + x88 c2 7622 c3 7622 + x88 c4 7622 c7 7622 + x88 c8 7622 c9 7622 + x88 c10 7622 c12 7622 + x89 obj 1E-5 c1 1 + x89 c2 7393 c3 6594.385439 + x89 c4 1997.1997813 c5 6110.5626987 + x89 c6 5966.6503463 c7 6281.3502229 + x89 c8 7393 c9 7393 + x89 c10 7393 c12 7393 + x90 obj 1E-5 c1 1 + x90 c2 8317.6971831 c3 8830 + x90 c6 4789.3781866 c7 4764.2200099 + x90 c8 3307.7596962 c9 4019.8003073 + x90 c10 3952.5472941 c11 5757.7289904 + x90 c12 8830 + x91 obj 1E-5 c1 1 + x91 c2 1950 c3 1950 + x91 c4 179.5 c5 1950 + x91 c6 1950 c7 1950 + x91 c8 1950 c9 1950 + x91 c10 1950 c11 1950 + x91 c12 1950 + x92 obj 1E-5 c1 1 + x92 c2 4654 c3 4654 + x92 c4 4654 c5 4654 + x92 c6 4654 c7 4654 + x92 c8 4654 c9 2510.3471432 + x92 c10 4654 c11 4654 + x92 c12 4654 + x93 obj 1E-5 c1 1 + x93 c2 2255 c3 2255 + x93 c4 2255 c5 2255 + x93 c6 2255 c7 2255 + x93 c8 2255 c9 2255 + x93 c10 2255 c11 2255 + x93 c12 2255 + x94 obj 1E-5 c1 1 + x94 c2 7104 c3 7104 + x94 c4 7104 c5 7104 + x94 c6 7104 c10 7104 + x94 c12 7104 + x95 obj 1E-5 c1 1 + x95 c2 7534.7887324 c3 7744 + x95 c4 7744 c6 7744 + x95 c9 4404.6020089 c11 7744 + x95 c12 5858.9893791 + x96 obj 1E-5 c1 1 + x96 c2 2054 c3 2054 + x96 c4 2054 c5 2054 + x96 c6 2054 c7 2054 + x96 c8 2054 c9 2054 + x96 c10 2054 c11 2054 + x96 c12 2054 + x97 obj 1E-5 c1 1 + x97 c2 6682 c3 6682 + x97 c4 6682 c5 2501.4582009 + x97 c6 3124.5817884 c7 6682 + x97 c8 6682 c9 1366.8979911 + x97 c10 6682 c11 1810.9409546 + x97 c12 6682 + x98 obj 1E-5 c1 1 + x98 c2 3234 c3 3234 + x98 c4 3234 c5 3234 + x98 c6 3234 c7 3234 + x98 c8 3234 c9 3234 + x98 c10 3234 c11 3234 + x98 c12 3234 + x99 obj 1E-5 c1 1 + x99 c2 2842 c3 2842 + x99 c4 2842 c5 2842 + x99 c6 654.39121533 c7 2706.9888063 + x99 c8 2842 c9 2842 + x99 c10 2842 c11 1339.329068 + x99 c12 2842 + x100 obj 1E-5 c1 1 + x100 c2 3974 c3 3974 + x100 c4 3974 c5 3974 + x100 c6 3974 c7 3974 + x100 c8 3974 c9 3974 + x100 c10 3974 c11 3974 + x100 c12 3974 + x101 obj 1E-5 c1 1 + x101 c2 3624 c3 3624 + x101 c4 3624 c5 3624 + x101 c6 3624 c7 3624 + x101 c8 3624 c9 3624 + x101 c10 3624 c11 3624 + x101 c12 3624 + x102 obj 1E-5 c1 1 + x102 c2 5415 c3 5415 + x102 c4 5415 c5 5415 + x102 c6 5415 c7 5415 + x102 c8 5415 c9 5415 + x102 c10 5415 c11 5415 + x102 c12 5415 + x103 obj 1E-5 c1 1 + x103 c2 2246 c3 1997.6085385 + x103 c4 2246 c5 1582 + x103 c6 2246 c7 2246 + x103 c8 2246 c9 2246 + x103 c10 2246 c11 2246 + x103 c12 2246 + x104 obj 1E-5 c1 1 + x104 c2 8590 c3 8590 + x104 c6 8590 c8 8590 + x104 c9 8590 c10 8590 + x104 c11 8590 c12 8590 + x105 obj 1E-5 c1 1 + x105 c2 2633 c3 2373.137781 + x105 c4 2633 c5 2633 + x105 c6 2633 c7 2633 + x105 c8 2633 c9 2633 + x105 c10 2633 c11 2633 + x105 c12 2633 + x106 obj 1E-5 c1 1 + x106 c2 4655 c3 4655 + x106 c4 4655 c5 4655 + x106 c6 4655 c7 4655 + x106 c8 4655 c9 4655 + x106 c10 4655 c11 4655 + x106 c12 4655 + x107 obj 1E-5 c1 1 + x107 c2 2923 c3 2923 + x107 c4 2923 c5 2923 + x107 c6 2923 c7 2923 + x107 c8 2923 c9 2923 + x107 c10 2923 c11 2923 + x107 c12 2923 + x108 obj 1E-5 c1 1 + x108 c2 6318 c3 6318 + x108 c4 6318 c5 6318 + x108 c6 6318 c7 6318 + x108 c8 6318 c9 6318 + x108 c10 6318 c12 6318 + x109 obj 1E-5 c1 1 + x109 c2 7440 c3 7440 + x109 c4 7440 c6 7440 + x109 c7 7440 c9 7440 + x109 c12 7440 + x110 obj 1E-5 c1 1 + x110 c2 4579 c3 4579 + x110 c4 4579 c5 4579 + x110 c6 4579 c7 4579 + x110 c8 4579 c9 4579 + x110 c10 4579 c11 4579 + x110 c12 4579 + x111 obj 1E-5 c1 1 + x111 c2 8342 c3 8342 + x111 c5 8342 c7 5211.7323923 + x111 c8 8342 c9 8342 + x111 c10 8342 + x112 obj 1E-5 c1 1 + x112 c2 3813.4002347 c3 5050 + x112 c4 5050 c5 1365.1296074 + x112 c6 3650.9002494 c7 1367.1828628 + x112 c8 2259.9591809 c9 1582 + x112 c10 4641.0618824 c12 1839.3216231 + x113 obj 1E-5 c1 1 + x113 c2 6268 c3 6268 + x113 c4 5050 c5 6268 + x113 c6 6268 c7 987.77768697 + x113 c8 6268 c9 6268 + x113 c10 6268 c11 3143.4143401 + x113 c12 6268 + x114 obj 1E-5 c1 1 + x114 c2 8570 c3 8570 + x114 c6 8570 c7 8570 + x114 c8 8570 c10 2672.8901642 + x114 c11 8570 c12 7847.8483115 + x115 obj 1E-5 c1 1 + x115 c2 9838 c5 7799 + x115 c6 7119.5646547 c7 8392.0859336 + x115 c8 9838 c9 9838 + x115 c10 9838 c11 9838 + x115 c12 9838 + x116 obj 1E-5 c1 1 + x116 c2 4876 c3 4876 + x116 c4 4876 c5 4876 + x116 c6 4876 c7 4876 + x116 c8 1677.8517765 c9 4876 + x116 c10 4876 c11 4876 + x116 c12 4876 + x117 obj 1E-5 c1 1 + x117 c2 418.3028169 c3 6800.7326017 + x117 c4 1444.7264377 c5 4438.6399605 + x117 c6 4376.4583031 c7 5896.5208271 + x117 c8 2400.0713317 c9 4056 + x117 c10 9861 c11 4486.3993937 + x117 c12 425.53118192 + x118 obj 1E-5 c1 1 + x118 c2 4922 c3 4922 + x118 c4 4922 c5 4922 + x118 c6 3590 c7 4922 + x118 c8 4922 c9 3333 + x118 c10 4922 c11 4922 + x118 c12 4922 + x119 obj 1E-5 c1 1 + x119 c2 3590 c3 3590 + x119 c4 3590 c5 3590 + x119 c6 3590 c7 3590 + x119 c8 3590 c9 3590 + x119 c10 3590 c11 3590 + x119 c12 3590 + x120 obj 1E-5 c1 1 + x120 c2 7152 c3 7152 + x120 c4 7152 c5 7152 + x120 c7 7152 c8 7152 + x120 c10 7152 + x121 obj 1E-5 c1 1 + x121 c2 7056 c3 7056 + x121 c4 805 c5 7056 + x121 c6 7056 c7 7056 + x121 c8 7056 c9 6684.7360005 + x121 c10 7056 c11 7056 + x121 c12 7056 + x122 obj 1E-5 c1 1 + x122 c2 9136 c4 9136 + x122 c6 9136 c7 9136 + x122 c9 9136 c10 9136 + x122 c11 9136 + x123 obj 1E-5 c1 1 + x123 c2 7850 c3 7850 + x123 c4 4655 c5 4655 + x123 c7 7850 c9 7850 + x123 c10 7850 c12 7850 + x124 obj 1E-5 c1 1 + x124 c2 6863 c3 6863 + x124 c4 6863 c5 6863 + x124 c6 6863 c7 6863 + x124 c12 6863 + x125 obj 1E-5 c1 1 + x125 c2 9356 c4 6006.1685651 + x125 c5 9356 c7 9356 + x125 c9 7984.5952083 c11 4448 + x125 c12 7131.2908497 + x126 obj 1E-5 c1 1 + x126 c2 2933 c3 2933 + x126 c4 2933 c5 2933 + x126 c6 2933 c7 2933 + x126 c8 2933 c9 2933 + x126 c10 2933 c11 2933 + x126 c12 2933 + x127 obj 1E-5 c1 1 + x127 c2 2665 c3 2665 + x127 c4 2665 c5 2665 + x127 c6 2665 c7 2665 + x127 c8 2665 c9 2665 + x127 c10 2665 c11 2665 + x127 c12 2665 + x128 obj 1E-5 c1 1 + x128 c2 4063 c3 4063 + x128 c4 4063 c5 4063 + x128 c6 4063 c7 4063 + x128 c8 4063 c9 4063 + x128 c10 4063 c11 4063 + x128 c12 4063 + x129 obj 1E-5 c1 1 + x129 c2 7502 c3 7194.4958512 + x129 c4 7502 c6 5805.6941235 + x129 c7 7502 c8 2838.1593436 + x129 c9 2973.398674 c10 7502 + x129 c11 6324.7029047 c12 6844.4421296 + x130 obj 1E-5 c1 1 + x130 c2 1966 c3 1966 + x130 c4 1966 c5 1966 + x130 c6 1966 c7 1966 + x130 c8 1966 c9 1966 + x130 c10 1966 c11 1966 + x130 c12 1966 + x131 obj 1E-5 c1 1 + x131 c2 4540 c3 4540 + x131 c4 4540 c5 4540 + x131 c6 4540 c7 4540 + x131 c8 4540 c9 4540 + x131 c10 4540 c11 4540 + x131 c12 4540 + x132 obj 1E-5 c1 1 + x132 c2 1370 c3 1370 + x132 c4 1370 c5 1370 + x132 c6 1370 c7 1370 + x132 c8 1370 c9 1370 + x132 c10 1370 c11 1370 + x132 c12 1370 + x133 obj 1E-5 c1 1 + x133 c2 9828 c5 9828 + x133 c6 9828 c7 9828 + x133 c9 9828 c11 9828 + x133 c12 9828 + x134 obj 1E-5 c1 1 + x134 c2 9376 c4 9376 + x134 c7 9376 c8 9376 + x134 c9 9376 c10 9376 + x134 c11 9376 c12 9376 + x135 obj 1E-5 c1 1 + x135 c2 3856.6326291 c3 699.33050054 + x135 c4 6443 c5 2459.7239454 + x135 c6 6443 c7 4204.3776127 + x135 c8 6443 c9 5442.4805372 + x135 c10 4223.2163061 c11 6443 + x135 c12 4023.7207244 + x136 obj 1E-5 c1 1 + x136 c2 1996 c3 1996 + x136 c4 1996 c5 1996 + x136 c6 1996 c7 1996 + x136 c8 1996 c9 1996 + x136 c10 1996 c11 1996 + x136 c12 1996 + x137 obj 1E-5 c1 1 + x137 c2 5320 c3 5320 + x137 c4 5320 c5 5320 + x137 c6 2230.8578076 c7 5320 + x137 c8 5320 c9 5320 + x137 c10 5320 c11 5320 + x137 c12 5320 + x138 obj 1E-5 c1 1 + x138 c2 3107.4788732 c3 2686.2422377 + x138 c4 190.29012568 c6 35.415531264 + x138 c7 3688.0699604 c8 6754 + x138 c10 3234 c12 5299.145561 + x139 obj 1E-5 c1 1 + x139 c2 1645 c3 1645 + x139 c4 1645 c5 1645 + x139 c6 1645 c7 1645 + x139 c8 1645 c9 1645 + x139 c10 1645 c11 1645 + x139 c12 1645 + x140 obj 1E-5 c1 1 + x140 c2 2890.0046948 c3 2194.0980996 + x140 c4 1966 c5 234.37039265 + x140 c6 6184.8933866 c7 433 + x140 c8 8057.6528343 c9 5264.9477578 + x140 c10 7785.9167409 c11 433 + x140 c12 5743.9670479 + x141 obj 1E-5 c1 1 + x141 c2 4920 c3 4920 + x141 c4 4276.6272259 c5 4920 + x141 c6 4920 c7 4920 + x141 c8 4920 c9 4920 + x141 c10 4920 c11 4920 + x141 c12 4920 + x142 obj 1E-5 c1 1 + x142 c2 8107 c3 8107 + x142 c5 8107 c6 8107 + x142 c8 8107 c9 8107 + x142 c11 8107 + x143 obj 1E-5 c1 1 + x143 c2 6103 c3 6103 + x143 c4 6103 c5 2850.6425595 + x143 c6 6103 c7 6103 + x143 c8 4014.9286683 c9 6103 + x143 c10 6103 c11 6103 + x143 c12 3705 + x144 obj 1E-5 c1 1 + x144 c2 4970 c3 4970 + x144 c4 4970 c5 4970 + x144 c6 4970 c7 4970 + x144 c8 4970 c9 4970 + x144 c10 4970 c11 4970 + x144 c12 4970 + x145 obj 1E-5 c1 1 + x145 c2 1582 c3 1582 + x145 c4 1582 c5 1582 + x145 c6 1582 c7 1582 + x145 c8 1582 c9 1582 + x145 c10 1582 c11 1582 + x145 c12 1582 + x146 obj 1E-5 c1 1 + x146 c2 6146 c3 6007.6066649 + x146 c4 6146 c5 6146 + x146 c6 1807.4118259 c7 6146 + x146 c8 6146 c9 6146 + x146 c10 4055.643386 c11 6146 + x146 c12 3889.5196078 + x147 obj 1E-5 c1 1 + x147 c2 6295 c3 6295 + x147 c4 6295 c5 6295 + x147 c6 6295 c7 6295 + x147 c8 6295 c9 6295 + x147 c10 6295 c11 6295 + x148 obj 1E-5 c1 1 + x148 c2 8177 c3 4739.5 + x148 c4 8177 c7 8177 + x148 c8 8177 c9 8177 + x148 c10 8177 c11 8177 + x148 c12 8177 + x149 obj 1E-5 c1 1 + x149 c2 5339 c3 3384.6358405 + x149 c4 8742 c5 3373 + x149 c6 4547.1370064 c7 8742 + x149 c8 8742 c9 8742 + x149 c10 8742 c11 8742 + x149 c12 8742 + x150 obj 1E-5 c1 1 + x150 c2 9936 c5 9936 + x150 c6 9936 c7 9936 + x150 c8 9936 c10 9936 + MARK0001 'MARKER' 'INTEND' + x151 obj 1 c2 1 + x151 c3 1 c4 1 + x151 c5 1 c6 1 + x151 c7 1 c8 1 + x151 c9 1 c10 1 + x151 c11 1 c12 1 +RHS + rhs c1 15 c2 157344.61033 + rhs c3 117845.82287 c4 121387.97778 + rhs c5 122529.5819 c6 124193.83991 + rhs c7 110802.52457 c8 111973.66667 + rhs c9 115941 c10 127089.14155 + rhs c11 112419.0906 c12 123188 +BOUNDS + UP bnd x1 1 + UP bnd x2 1 + UP bnd x3 1 + UP bnd x4 1 + UP bnd x5 1 + UP bnd x6 1 + UP bnd x7 1 + UP bnd x8 1 + UP bnd x9 1 + UP bnd x10 1 + UP bnd x11 1 + UP bnd x12 1 + UP bnd x13 1 + UP bnd x14 1 + UP bnd x15 1 + UP bnd x16 1 + UP bnd x17 1 + UP bnd x18 1 + UP bnd x19 1 + UP bnd x20 1 + UP bnd x21 1 + UP bnd x22 1 + UP bnd x23 1 + UP bnd x24 1 + UP bnd x25 1 + UP bnd x26 1 + UP bnd x27 1 + UP bnd x28 1 + UP bnd x29 1 + UP bnd x30 1 + UP bnd x31 1 + UP bnd x32 1 + UP bnd x33 1 + UP bnd x34 1 + UP bnd x35 1 + UP bnd x36 1 + UP bnd x37 1 + UP bnd x38 1 + UP bnd x39 1 + UP bnd x40 1 + UP bnd x41 1 + UP bnd x42 1 + UP bnd x43 1 + UP bnd x44 1 + UP bnd x45 1 + UP bnd x46 1 + UP bnd x47 1 + UP bnd x48 1 + UP bnd x49 1 + UP bnd x50 1 + UP bnd x51 1 + UP bnd x52 1 + UP bnd x53 1 + UP bnd x54 1 + UP bnd x55 1 + UP bnd x56 1 + UP bnd x57 1 + UP bnd x58 1 + UP bnd x59 1 + UP bnd x60 1 + UP bnd x61 1 + UP bnd x62 1 + UP bnd x63 1 + UP bnd x64 1 + UP bnd x65 1 + UP bnd x66 1 + UP bnd x67 1 + UP bnd x68 1 + UP bnd x69 1 + UP bnd x70 1 + UP bnd x71 1 + UP bnd x72 1 + UP bnd x73 1 + UP bnd x74 1 + UP bnd x75 1 + UP bnd x76 1 + UP bnd x77 1 + UP bnd x78 1 + UP bnd x79 1 + UP bnd x80 1 + UP bnd x81 1 + UP bnd x82 1 + UP bnd x83 1 + UP bnd x84 1 + UP bnd x85 1 + UP bnd x86 1 + UP bnd x87 1 + UP bnd x88 1 + UP bnd x89 1 + UP bnd x90 1 + UP bnd x91 1 + UP bnd x92 1 + UP bnd x93 1 + UP bnd x94 1 + UP bnd x95 1 + UP bnd x96 1 + UP bnd x97 1 + UP bnd x98 1 + UP bnd x99 1 + UP bnd x100 1 + UP bnd x101 1 + UP bnd x102 1 + UP bnd x103 1 + UP bnd x104 1 + UP bnd x105 1 + UP bnd x106 1 + UP bnd x107 1 + UP bnd x108 1 + UP bnd x109 1 + UP bnd x110 1 + UP bnd x111 1 + UP bnd x112 1 + UP bnd x113 1 + UP bnd x114 1 + UP bnd x115 1 + UP bnd x116 1 + UP bnd x117 1 + UP bnd x118 1 + UP bnd x119 1 + UP bnd x120 1 + UP bnd x121 1 + UP bnd x122 1 + UP bnd x123 1 + UP bnd x124 1 + UP bnd x125 1 + UP bnd x126 1 + UP bnd x127 1 + UP bnd x128 1 + UP bnd x129 1 + UP bnd x130 1 + UP bnd x131 1 + UP bnd x132 1 + UP bnd x133 1 + UP bnd x134 1 + UP bnd x135 1 + UP bnd x136 1 + UP bnd x137 1 + UP bnd x138 1 + UP bnd x139 1 + UP bnd x140 1 + UP bnd x141 1 + UP bnd x142 1 + UP bnd x143 1 + UP bnd x144 1 + UP bnd x145 1 + UP bnd x146 1 + UP bnd x147 1 + UP bnd x148 1 + UP bnd x149 1 + UP bnd x150 1 + UP bnd x151 1E+12 +ENDATA diff --git a/demos/ppl_lpsol/examples/mip.mps b/demos/ppl_lpsol/examples/mip.mps new file mode 100644 index 000000000..d2da1a31d --- /dev/null +++ b/demos/ppl_lpsol/examples/mip.mps @@ -0,0 +1,27 @@ +NAME SAMP2 +ROWS + N Z + G R1 + G R2 + G R3 +COLUMNS + X1 R1 2.0 R2 1.0 + X1 R3 5.0 Z 3.0 + X2 R1 -1.0 R2 -1.0 + X2 R3 3.0 Z 7.0 + X3 R1 1.0 R2 -6.0 + X3 Z -1.0 + X4 R1 -1.0 R2 4.0 + X4 R3 1.0 Z 1.0 +RHS + RHS1 R1 1.0 + RHS1 R2 8.0 + RHS1 R3 5.0 +BOUNDS + UP BND1 X1 4.0 + LO BND1 X2 2.0 + UI BND1 X2 5.0 + BV BND1 X3 + LO BND1 X4 3.0 + UP BND1 X4 8.0 +ENDATA diff --git a/demos/ppl_lpsol/examples/modglob.mps b/demos/ppl_lpsol/examples/modglob.mps new file mode 100644 index 000000000..fe9611ee5 --- /dev/null +++ b/demos/ppl_lpsol/examples/modglob.mps @@ -0,0 +1,1192 @@ +NAME modglob +ROWS + N OBJ + E c1 + E c2 + E c3 + E c4 + E c5 + E c6 + E c7 + E c8 + E c9 + E c10 + E c11 + E c12 + E c13 + E c14 + E c15 + E c16 + E c17 + E c18 + E c19 + E c20 + E c21 + E c22 + E c23 + E c24 + E c25 + E c26 + E c27 + E c28 + E c29 + E c30 + E c31 + E c32 + E c33 + E c34 + E c35 + E c36 + E c37 + E c38 + E c39 + E c40 + E c41 + E c42 + E c43 + E c44 + E c45 + E c46 + E c47 + E c48 + E c49 + E c50 + E c51 + E c52 + E c53 + E c54 + E c55 + E c56 + E c57 + E c58 + E c59 + E c60 + E c61 + E c62 + E c63 + E c64 + E c65 + E c66 + E c67 + E c68 + E c69 + E c70 + E c71 + E c72 + E c73 + E c74 + E c75 + E c76 + E c77 + E c78 + E c79 + E c80 + E c81 + E c82 + E c83 + E c84 + E c85 + E c86 + E c87 + E c88 + E c89 + E c90 + E c91 + E c92 + E c93 + E c94 + E c95 + L c96 + L c97 + L c98 + L c99 + L c100 + L c101 + L c102 + L c103 + L c104 + L c105 + L c106 + L c107 + L c108 + L c109 + L c110 + L c111 + L c112 + L c113 + L c114 + L c115 + L c116 + L c117 + L c118 + L c119 + L c120 + L c121 + L c122 + L c123 + L c124 + L c125 + L c126 + L c127 + L c128 + L c129 + L c130 + L c131 + L c132 + L c133 + L c134 + L c135 + L c136 + L c137 + L c138 + L c139 + L c140 + L c141 + L c142 + L c143 + L c144 + L c145 + L c146 + L c147 + L c148 + L c149 + L c150 + L c151 + L c152 + L c153 + L c154 + L c155 + L c156 + L c157 + L c158 + L c159 + L c160 + L c161 + L c162 + L c163 + L c164 + L c165 + L c166 + L c167 + L c168 + L c169 + L c170 + L c171 + L c172 + L c173 + L c174 + L c175 + L c176 + L c177 + L c178 + L c179 + L c180 + L c181 + L c182 + L c183 + L c184 + L c185 + L c186 + L c187 + L c188 + L c189 + L c190 + L c191 + L c192 + L c193 + L c194 + L c195 + L c196 + L c197 + L c198 + L c199 + L c200 + L c201 + L c202 + L c203 + L c204 + L c205 + L c206 + L c207 + L c208 + L c209 + L c210 + L c211 + L c212 + L c213 + L c214 + L c215 + L c216 + L c217 + L c218 + L c219 + L c220 + L c221 + L c222 + L c223 + L c224 + L c225 + L c226 + L c227 + L c228 + L c229 + L c230 + L c231 + L c232 + L c233 + L c234 + L c235 + L c236 + L c237 + L c238 + L c239 + L c240 + L c241 + L c242 + L c243 + L c244 + L c245 + L c246 + L c247 + L c248 + L c249 + L c250 + L c251 + L c252 + L c253 + L c254 + L c255 + L c256 + L c257 + L c258 + L c259 + L c260 + L c261 + L c262 + L c263 + L c264 + L c265 + L c266 + L c267 + L c268 + L c269 + L c270 + L c271 + L c272 + L c273 + L c274 + L c275 + L c276 + L c277 + L c278 + L c279 + L c280 + L c281 + L c282 + L c283 + L c284 + L c285 + L c286 + L c287 + L c288 + L c289 + L c290 + L c291 +COLUMNS + x1 OBJ 432 c1 -0.9 + x2 OBJ 432 c3 -0.9 + x3 OBJ 367 c2 -1 + x4 OBJ 367 c4 -1 + x5 OBJ 0.65392 c36 -1 + x5 c38 0.98 c98 1 + x6 OBJ 3.224038 c36 -1 + x6 c42 0.98 c96 1 + x7 OBJ 0.65392 c36 0.98 + x7 c38 -1 c196 1 + x8 OBJ 2.985518 c38 -1 + x8 c44 0.98 c100 1 + x9 OBJ 1.599959 c40 -1 + x9 c42 0.98 c206 1 + x10 OBJ 4.336906 c40 -1 + x10 c46 0.98 c110 1 + x11 OBJ 3.224038 c36 0.98 + x11 c42 -1 c194 1 + x12 OBJ 1.599959 c40 0.98 + x12 c42 -1 c108 1 + x13 OBJ 1.135649 c42 -1 + x13 c44 0.98 c200 1 + x14 OBJ 4.795188 c42 -1 + x14 c48 0.98 c106 1 + x15 OBJ 2.985518 c38 0.98 + x15 c44 -1 c198 1 + x16 OBJ 1.135649 c42 0.98 + x16 c44 -1 c102 1 + x17 OBJ 5.424316 c44 -1 + x17 c50 0.98 c104 1 + x18 OBJ 4.336906 c40 0.98 + x18 c46 -1 c208 1 + x19 OBJ 1.938308 c46 -1 + x19 c48 0.98 c210 1 + x20 OBJ 3.851157 c46 -1 + x20 c60 0.98 c124 1 + x21 OBJ 4.795188 c42 0.98 + x21 c48 -1 c204 1 + x22 OBJ 1.938308 c46 0.98 + x22 c48 -1 c112 1 + x23 OBJ 1.6951 c48 -1 + x23 c50 0.98 c114 1 + x24 OBJ 4.293357 c48 -1 + x24 c58 0.98 c122 1 + x25 OBJ 5.424316 c44 0.98 + x25 c50 -1 c202 1 + x26 OBJ 1.6951 c48 0.98 + x26 c50 -1 c212 1 + x27 OBJ 1.461269 c50 -1 + x27 c52 0.98 c116 1 + x28 OBJ 3.782818 c50 -1 + x28 c56 0.98 c120 1 + x29 OBJ 1.461269 c50 0.98 + x29 c52 -1 c214 1 + x30 OBJ 3.392878 c52 -1 + x30 c54 0.98 c118 1 + x31 OBJ 3.392878 c52 0.98 + x31 c54 -1 c216 1 + x32 OBJ 2.129257 c54 -1 + x32 c56 0.98 c126 1 + x33 OBJ 3.449157 c54 -1 + x33 c132 1 + x34 OBJ 3.782818 c50 0.98 + x34 c56 -1 c218 1 + x35 OBJ 2.129257 c54 0.98 + x35 c56 -1 c224 1 + x36 OBJ 2.294749 c56 -1 + x36 c58 0.98 c128 1 + x37 OBJ 3.3768 c56 -1 + x37 c64 0.98 c134 1 + x38 OBJ 4.293357 c48 0.98 + x38 c58 -1 c220 1 + x39 OBJ 2.294749 c56 0.98 + x39 c58 -1 c226 1 + x40 OBJ 2.068289 c58 -1 + x40 c60 0.98 c130 1 + x41 OBJ 3.107457 c58 -1 + x41 c66 0.98 c136 1 + x42 OBJ 3.851157 c46 0.98 + x42 c60 -1 c222 1 + x43 OBJ 2.068289 c58 0.98 + x43 c60 -1 c228 1 + x44 OBJ 1.222749 c60 -1 + x44 c62 0.98 c140 1 + x45 OBJ 2.622378 c60 -1 + x45 c68 0.98 c138 1 + x46 OBJ 1.222749 c60 0.98 + x46 c62 -1 c238 1 + x47 OBJ 2.252539 c62 -1 + x47 c70 0.98 c142 1 + x48 OBJ 3.3768 c56 0.98 + x48 c64 -1 c232 1 + x49 OBJ 2.510489 c64 -1 + x49 c66 0.98 c150 1 + x50 OBJ 4.276607 c64 -1 + x50 c80 0.98 c148 1 + x51 OBJ 2.449518 c64 -1 + x51 c244 1 + x52 OBJ 3.107457 c58 0.98 + x52 c66 -1 c234 1 + x53 OBJ 2.510489 c64 0.98 + x53 c66 -1 c248 1 + x54 OBJ 2.576149 c66 -1 + x54 c68 0.98 c154 1 + x55 OBJ 3.762717 c66 -1 + x55 c78 0.98 c152 1 + x56 OBJ 2.622378 c60 0.98 + x56 c68 -1 c236 1 + x57 OBJ 2.576149 c66 0.98 + x57 c68 -1 c252 1 + x58 OBJ 2.059578 c68 -1 + x58 c70 0.98 c158 1 + x59 OBJ 2.9078 c68 -1 + x59 c76 0.98 c156 1 + x60 OBJ 2.252539 c62 0.98 + x60 c70 -1 c240 1 + x61 OBJ 2.059578 c68 0.98 + x61 c70 -1 c256 1 + x62 OBJ 1.9631 c70 -1 + x62 c74 0.98 c160 1 + x63 OBJ 1.797607 c72 -1 + x63 c74 0.98 c278 1 + x64 OBJ 1.727258 c72 -1 + x64 c94 0.98 c182 1 + x65 OBJ 1.9631 c70 0.98 + x65 c74 -1 c258 1 + x66 OBJ 1.797607 c72 0.98 + x66 c74 -1 c180 1 + x67 OBJ 2.842138 c74 -1 + x67 c76 0.98 c274 1 + x68 OBJ 2.178839 c74 -1 + x68 c92 0.98 c178 1 + x69 OBJ 2.9078 c68 0.98 + x69 c76 -1 c254 1 + x70 OBJ 2.842138 c74 0.98 + x70 c76 -1 c176 1 + x71 OBJ 4.285317 c76 -1 + x71 c78 0.98 c270 1 + x72 OBJ 3.573778 c76 -1 + x72 c90 0.98 c174 1 + x73 OBJ 3.762717 c66 0.98 + x73 c78 -1 c250 1 + x74 OBJ 4.285317 c76 0.98 + x74 c78 -1 c172 1 + x75 OBJ 3.946967 c78 -1 + x75 c80 0.98 c266 1 + x76 OBJ 4.337578 c78 -1 + x76 c88 0.98 c170 1 + x77 OBJ 4.276607 c64 0.98 + x77 c80 -1 c246 1 + x78 OBJ 3.946967 c78 0.98 + x78 c80 -1 c168 1 + x79 OBJ 2.714838 c80 -1 + x79 c82 0.98 c262 1 + x80 OBJ 4.556 c80 -1 + x80 c86 0.98 c166 1 + x81 OBJ 2.714838 c80 0.98 + x81 c82 -1 c164 1 + x82 OBJ 4.397878 c82 -1 + x82 c84 0.98 c162 1 + x83 OBJ 4.060867 c82 -1 + x83 c242 1 + x84 OBJ 4.397878 c82 0.98 + x84 c84 -1 c260 1 + x85 OBJ 2.985518 c84 -1 + x85 c86 0.98 c184 1 + x86 OBJ 4.556 c80 0.98 + x86 c86 -1 c264 1 + x87 OBJ 2.985518 c84 0.98 + x87 c86 -1 c282 1 + x88 OBJ 5.672216 c86 -1 + x88 c88 0.98 c186 1 + x89 OBJ 4.337578 c78 0.98 + x89 c88 -1 c268 1 + x90 OBJ 5.672216 c86 0.98 + x90 c88 -1 c284 1 + x91 OBJ 6.280577 c88 -1 + x91 c90 0.98 c188 1 + x92 OBJ 3.573778 c76 0.98 + x92 c90 -1 c272 1 + x93 OBJ 6.280577 c88 0.98 + x93 c90 -1 c286 1 + x94 OBJ 4.728188 c90 -1 + x94 c92 0.98 c190 1 + x95 OBJ 2.178839 c74 0.98 + x95 c92 -1 c276 1 + x96 OBJ 4.728188 c90 0.98 + x96 c92 -1 c288 1 + x97 OBJ 2.384528 c92 -1 + x97 c94 0.98 c192 1 + x98 OBJ 1.727258 c72 0.98 + x98 c94 -1 c280 1 + x99 OBJ 2.384528 c92 0.98 + x99 c94 -1 c290 1 + x100 OBJ 3.449157 c3 1 + x100 c54 0.98 c230 1 + x101 OBJ 2.449518 c3 1 + x101 c64 0.98 c146 1 + x102 OBJ 4.060867 c3 1 + x102 c82 0.98 c144 1 + x103 OBJ 0.35136 c37 -1 + x103 c39 0.98 c99 1 + x104 OBJ 1.732319 c37 -1 + x104 c43 0.98 c97 1 + x105 OBJ 0.35136 c37 0.98 + x105 c39 -1 c197 1 + x106 OBJ 1.604159 c39 -1 + x106 c45 0.98 c101 1 + x107 OBJ 0.85968 c41 -1 + x107 c43 0.98 c207 1 + x108 OBJ 2.330278 c41 -1 + x108 c47 0.98 c111 1 + x109 OBJ 1.732319 c37 0.98 + x109 c43 -1 c195 1 + x110 OBJ 0.85968 c41 0.98 + x110 c43 -1 c109 1 + x111 OBJ 0.6102 c43 -1 + x111 c45 0.98 c201 1 + x112 OBJ 2.576519 c43 -1 + x112 c49 0.98 c107 1 + x113 OBJ 1.604159 c39 0.98 + x113 c45 -1 c199 1 + x114 OBJ 0.6102 c43 0.98 + x114 c45 -1 c103 1 + x115 OBJ 2.914559 c45 -1 + x115 c51 0.98 c105 1 + x116 OBJ 2.330278 c41 0.98 + x116 c47 -1 c209 1 + x117 OBJ 1.041479 c47 -1 + x117 c49 0.98 c211 1 + x118 OBJ 2.069279 c47 -1 + x118 c61 0.98 c125 1 + x119 OBJ 2.576519 c43 0.98 + x119 c49 -1 c205 1 + x120 OBJ 1.041479 c47 0.98 + x120 c49 -1 c113 1 + x121 OBJ 0.9108 c49 -1 + x121 c51 0.98 c115 1 + x122 OBJ 2.306879 c49 -1 + x122 c59 0.98 c123 1 + x123 OBJ 2.914559 c45 0.98 + x123 c51 -1 c203 1 + x124 OBJ 0.9108 c49 0.98 + x124 c51 -1 c213 1 + x125 OBJ 0.78516 c51 -1 + x125 c53 0.98 c117 1 + x126 OBJ 2.032559 c51 -1 + x126 c57 0.98 c121 1 + x127 OBJ 0.78516 c51 0.98 + x127 c53 -1 c215 1 + x128 OBJ 1.823039 c53 -1 + x128 c55 0.98 c119 1 + x129 OBJ 1.823039 c53 0.98 + x129 c55 -1 c217 1 + x130 OBJ 1.144079 c55 -1 + x130 c57 0.98 c127 1 + x131 OBJ 1.853279 c55 -1 + x131 c133 1 + x132 OBJ 2.032559 c51 0.98 + x132 c57 -1 c219 1 + x133 OBJ 1.144079 c55 0.98 + x133 c57 -1 c225 1 + x134 OBJ 1.233 c57 -1 + x134 c59 0.98 c129 1 + x135 OBJ 1.8144 c57 -1 + x135 c65 0.98 c135 1 + x136 OBJ 2.306879 c49 0.98 + x136 c59 -1 c221 1 + x137 OBJ 1.233 c57 0.98 + x137 c59 -1 c227 1 + x138 OBJ 1.11132 c59 -1 + x138 c61 0.98 c131 1 + x139 OBJ 1.669679 c59 -1 + x139 c67 0.98 c137 1 + x140 OBJ 2.069279 c47 0.98 + x140 c61 -1 c223 1 + x141 OBJ 1.11132 c59 0.98 + x141 c61 -1 c229 1 + x142 OBJ 0.657 c61 -1 + x142 c63 0.98 c141 1 + x143 OBJ 1.409039 c61 -1 + x143 c69 0.98 c139 1 + x144 OBJ 0.657 c61 0.98 + x144 c63 -1 c239 1 + x145 OBJ 1.21032 c63 -1 + x145 c71 0.98 c143 1 + x146 OBJ 1.8144 c57 0.98 + x146 c65 -1 c233 1 + x147 OBJ 1.348919 c65 -1 + x147 c67 0.98 c151 1 + x148 OBJ 2.297879 c65 -1 + x148 c81 0.98 c149 1 + x149 OBJ 1.316159 c65 -1 + x149 c245 1 + x150 OBJ 1.669679 c59 0.98 + x150 c67 -1 c235 1 + x151 OBJ 1.348919 c65 0.98 + x151 c67 -1 c249 1 + x152 OBJ 1.3842 c67 -1 + x152 c69 0.98 c155 1 + x153 OBJ 2.021759 c67 -1 + x153 c79 0.98 c153 1 + x154 OBJ 1.409039 c61 0.98 + x154 c69 -1 c237 1 + x155 OBJ 1.3842 c67 0.98 + x155 c69 -1 c253 1 + x156 OBJ 1.106639 c69 -1 + x156 c71 0.98 c159 1 + x157 OBJ 1.5624 c69 -1 + x157 c77 0.98 c157 1 + x158 OBJ 1.21032 c63 0.98 + x158 c71 -1 c241 1 + x159 OBJ 1.106639 c69 0.98 + x159 c71 -1 c257 1 + x160 OBJ 1.0548 c71 -1 + x160 c75 0.98 c161 1 + x161 OBJ 0.965879 c73 -1 + x161 c75 0.98 c279 1 + x162 OBJ 0.928079 c73 -1 + x162 c95 0.98 c183 1 + x163 OBJ 1.0548 c71 0.98 + x163 c75 -1 c259 1 + x164 OBJ 0.965879 c73 0.98 + x164 c75 -1 c181 1 + x165 OBJ 1.52712 c75 -1 + x165 c77 0.98 c275 1 + x166 OBJ 1.170719 c75 -1 + x166 c93 0.98 c179 1 + x167 OBJ 1.5624 c69 0.98 + x167 c77 -1 c255 1 + x168 OBJ 1.52712 c75 0.98 + x168 c77 -1 c177 1 + x169 OBJ 2.302559 c77 -1 + x169 c79 0.98 c271 1 + x170 OBJ 1.920239 c77 -1 + x170 c91 0.98 c175 1 + x171 OBJ 2.021759 c67 0.98 + x171 c79 -1 c251 1 + x172 OBJ 2.302559 c77 0.98 + x172 c79 -1 c173 1 + x173 OBJ 2.120759 c79 -1 + x173 c81 0.98 c267 1 + x174 OBJ 2.330639 c79 -1 + x174 c89 0.98 c171 1 + x175 OBJ 2.297879 c65 0.98 + x175 c81 -1 c247 1 + x176 OBJ 2.120759 c79 0.98 + x176 c81 -1 c169 1 + x177 OBJ 1.458719 c81 -1 + x177 c83 0.98 c263 1 + x178 OBJ 2.448 c81 -1 + x178 c87 0.98 c167 1 + x179 OBJ 1.458719 c81 0.98 + x179 c83 -1 c165 1 + x180 OBJ 2.363039 c83 -1 + x180 c85 0.98 c163 1 + x181 OBJ 2.181959 c83 -1 + x181 c243 1 + x182 OBJ 2.363039 c83 0.98 + x182 c85 -1 c261 1 + x183 OBJ 1.604159 c85 -1 + x183 c87 0.98 c185 1 + x184 OBJ 2.448 c81 0.98 + x184 c87 -1 c265 1 + x185 OBJ 1.604159 c85 0.98 + x185 c87 -1 c283 1 + x186 OBJ 3.047759 c87 -1 + x186 c89 0.98 c187 1 + x187 OBJ 2.330639 c79 0.98 + x187 c89 -1 c269 1 + x188 OBJ 3.047759 c87 0.98 + x188 c89 -1 c285 1 + x189 OBJ 3.37464 c89 -1 + x189 c91 0.98 c189 1 + x190 OBJ 1.920239 c77 0.98 + x190 c91 -1 c273 1 + x191 OBJ 3.37464 c89 0.98 + x191 c91 -1 c287 1 + x192 OBJ 2.54052 c91 -1 + x192 c93 0.98 c191 1 + x193 OBJ 1.170719 c75 0.98 + x193 c93 -1 c277 1 + x194 OBJ 2.54052 c91 0.98 + x194 c93 -1 c289 1 + x195 OBJ 1.28124 c93 -1 + x195 c95 0.98 c193 1 + x196 OBJ 0.928079 c73 0.98 + x196 c95 -1 c281 1 + x197 OBJ 1.28124 c93 0.98 + x197 c95 -1 c291 1 + x198 OBJ 1.853279 c4 1 + x198 c55 0.98 c231 1 + x199 OBJ 1.316159 c4 1 + x199 c65 0.98 c147 1 + x200 OBJ 2.181959 c4 1 + x200 c83 0.98 c145 1 + MARK0000 'MARKER' 'INTORG' + x201 OBJ 15061.55078 c96 -17360 + x201 c194 -17360 + x202 OBJ 9479.636719 c97 -17360 + x202 c195 -17360 + x203 OBJ 3054.878418 c98 -17360 + x203 c196 -17360 + x204 OBJ 1922.719482 c99 -17360 + x204 c197 -17360 + x205 OBJ 13947.26953 c100 -17360 + x205 c198 -17360 + x206 OBJ 8778.3125 c101 -17360 + x206 c199 -17360 + x207 OBJ 5305.347656 c102 -17360 + x207 c200 -17360 + x208 OBJ 3339.149414 c103 -17360 + x208 c201 -17360 + x209 OBJ 25340.46484 c104 -17360 + x209 c202 -17360 + x210 OBJ 15949.11328 c105 -17360 + x210 c203 -17360 + x211 OBJ 22401.39844 c106 -17360 + x211 c204 -17360 + x212 OBJ 14099.28516 c107 -17360 + x212 c205 -17360 + x213 OBJ 7474.433594 c108 -17360 + x213 c206 -17360 + x214 OBJ 4704.355469 c109 -17360 + x214 c207 -17360 + x215 OBJ 20260.47266 c110 -17360 + x215 c208 -17360 + x216 OBJ 12751.80078 c111 -17360 + x216 c209 -17360 + x217 OBJ 9055.078125 c112 -17360 + x217 c210 -17360 + x218 OBJ 5699.203125 c113 -17360 + x218 c211 -17360 + x219 OBJ 7918.894531 c114 -17360 + x219 c212 -17360 + x220 OBJ 4984.097656 c115 -17360 + x220 c213 -17360 + x221 OBJ 6826.523438 c116 -17360 + x221 c214 -17360 + x222 OBJ 4296.566406 c117 -17360 + x222 c215 -17360 + x223 OBJ 15850.30859 c118 -17360 + x223 c216 -17360 + x224 OBJ 9976.074219 c119 -17360 + x224 c217 -17360 + x225 OBJ 17671.96484 c120 -17360 + x225 c218 -17360 + x226 OBJ 11122.61328 c121 -17360 + x226 c219 -17360 + x227 OBJ 20057.02344 c122 -17360 + x227 c220 -17360 + x228 OBJ 12623.75391 c123 -17360 + x228 c221 -17360 + x229 OBJ 17991.22656 c124 -17360 + x229 c222 -17360 + x230 OBJ 11323.55078 c125 -17360 + x230 c223 -17360 + x231 OBJ 9947.128906 c126 -17360 + x231 c224 -17360 + x232 OBJ 6260.652344 c127 -17360 + x232 c225 -17360 + x233 OBJ 10720.24219 c128 -17360 + x233 c226 -17360 + x234 OBJ 6747.246094 c129 -17360 + x234 c227 -17360 + x235 OBJ 9662.304688 c130 -17360 + x235 c228 -17360 + x236 OBJ 6081.386719 c131 -17360 + x236 c229 -17360 + x237 OBJ 16113.22656 c132 -17360 + x237 c230 -17360 + x238 OBJ 10141.55078 c133 -17360 + x238 c231 -17360 + x239 OBJ 15775.19141 c134 -17360 + x239 c232 -17360 + x240 OBJ 9928.796875 c135 -17360 + x240 c233 -17360 + x241 OBJ 14516.92578 c136 -17360 + x241 c234 -17360 + x242 OBJ 9136.851563 c137 -17360 + x242 c235 -17360 + x243 OBJ 12250.80859 c138 -17360 + x243 c236 -17360 + x244 OBJ 7710.574219 c139 -17360 + x244 c237 -17360 + x245 OBJ 5712.246094 c140 -17360 + x245 c238 -17360 + x246 OBJ 3595.249268 c141 -17360 + x246 c239 -17360 + x247 OBJ 10523.05078 c142 -17360 + x247 c240 -17360 + x248 OBJ 6623.136719 c143 -17360 + x248 c241 -17360 + x249 OBJ 18970.91797 c144 -17360 + x249 c242 -17360 + x250 OBJ 11940.16406 c145 -17360 + x250 c243 -17360 + x251 OBJ 11443.26953 c146 -17360 + x251 c244 -17360 + x252 OBJ 7202.3125 c147 -17360 + x252 c245 -17360 + x253 OBJ 19978.77344 c148 -17360 + x253 c246 -17360 + x254 OBJ 12574.50391 c149 -17360 + x254 c247 -17360 + x255 OBJ 11728.10156 c150 -17360 + x255 c248 -17360 + x256 OBJ 7381.585938 c151 -17360 + x256 c249 -17360 + x257 OBJ 17578.06641 c152 -17360 + x257 c250 -17360 + x258 OBJ 11063.51172 c153 -17360 + x258 c251 -17360 + x259 OBJ 12034.84375 c154 -17360 + x259 c252 -17360 + x260 OBJ 7574.648438 c155 -17360 + x260 c253 -17360 + x261 OBJ 13584.19141 c156 -17360 + x261 c254 -17360 + x262 OBJ 8549.796875 c157 -17360 + x262 c255 -17360 + x263 OBJ 9621.609375 c158 -17360 + x263 c256 -17360 + x264 OBJ 6055.773438 c159 -17360 + x264 c257 -17360 + x265 OBJ 9170.894531 c160 -17360 + x265 c258 -17360 + x266 OBJ 5772.097656 c161 -17360 + x266 c259 -17360 + x267 OBJ 20545.30859 c162 -17360 + x267 c260 -17360 + x268 OBJ 12931.07422 c163 -17360 + x268 c261 -17360 + x269 OBJ 12682.75 c164 -17360 + x269 c262 -17360 + x270 OBJ 7982.4375 c165 -17360 + x270 c263 -17360 + x271 OBJ 21283.98828 c166 -17360 + x271 c264 -17360 + x272 OBJ 13395.99609 c167 -17360 + x272 c265 -17360 + x273 OBJ 18438.81641 c168 -17360 + x273 c266 -17360 + x274 OBJ 11605.26172 c169 -17360 + x274 c267 -17360 + x275 OBJ 20263.60547 c170 -17360 + x275 c268 -17360 + x276 OBJ 12753.77344 c171 -17360 + x276 c269 -17360 + x277 OBJ 20019.46484 c172 -17360 + x277 c270 -17360 + x278 OBJ 12600.11328 c173 -17360 + x278 c271 -17360 + x279 OBJ 16695.41016 c174 -17360 + x279 c272 -17360 + x280 OBJ 10507.97266 c175 -17360 + x280 c273 -17360 + x281 OBJ 13277.45313 c176 -17360 + x281 c274 -17360 + x282 OBJ 8356.734375 c177 -17360 + x282 c275 -17360 + x283 OBJ 10178.75391 c178 -17360 + x283 c276 -17360 + x284 OBJ 6406.4375 c179 -17360 + x284 c277 -17360 + x285 OBJ 8397.777344 c180 -17360 + x285 c278 -17360 + x286 OBJ 5285.503906 c181 -17360 + x286 c279 -17360 + x287 OBJ 8069.128906 c182 -17360 + x287 c280 -17360 + x288 OBJ 5078.652344 c183 -17360 + x288 c281 -17360 + x289 OBJ 13947.26953 c184 -17360 + x289 c282 -17360 + x290 OBJ 8778.3125 c185 -17360 + x290 c283 -17360 + x291 OBJ 26498.5625 c186 -17360 + x291 c284 -17360 + x292 OBJ 16678.01172 c187 -17360 + x292 c285 -17360 + x293 OBJ 29340.60547 c188 -17360 + x293 c286 -17360 + x294 OBJ 18466.77344 c189 -17360 + x294 c287 -17360 + x295 OBJ 22088.39844 c190 -17360 + x295 c288 -17360 + x296 OBJ 13902.28516 c191 -17360 + x296 c289 -17360 + x297 OBJ 11139.66016 c192 -17360 + x297 c290 -17360 + x298 OBJ 7011.226563 c193 -17360 + x298 c291 -17360 + MARK0001 'MARKER' 'INTEND' + x299 OBJ 935.779785 c5 1 + x299 c36 -1.197604 + x300 OBJ 590.19458 c6 1 + x300 c38 -1.197604 + x301 OBJ 586.431152 c7 1 + x301 c40 -1.197604 + x302 OBJ 586.384521 c8 1 + x302 c42 -1.197604 + x303 OBJ 585.222412 c9 1 + x303 c44 -1.197604 + x304 OBJ 584.8667 c10 1 + x304 c46 -1.197604 + x305 OBJ 584.592285 c11 1 + x305 c48 -1.197604 + x306 OBJ 586.196533 c12 1 + x306 c50 -1.197604 + x307 OBJ 607.073486 c13 1 + x307 c52 -1.197604 + x308 OBJ 593.749756 c14 1 + x308 c54 -1.197604 + x309 OBJ 585.37793 c15 1 + x309 c56 -1.197604 + x310 OBJ 584.541016 c16 1 + x310 c58 -1.197604 + x311 OBJ 585.455078 c17 1 + x311 c60 -1.197604 + x312 OBJ 587.869385 c18 1 + x312 c62 -1.197604 + x313 OBJ 584.969482 c19 1 + x313 c64 -1.197604 + x314 OBJ 584.601318 c20 1 + x314 c66 -1.197604 + x315 OBJ 585.421143 c21 1 + x315 c68 -1.197604 + x316 OBJ 586.946777 c22 1 + x316 c70 -1.197604 + x317 OBJ 592.529541 c23 1 + x317 c72 -1.197604 + x318 OBJ 585.983643 c24 1 + x318 c74 -1.197604 + x319 OBJ 585.921387 c25 1 + x319 c76 -1.197604 + x320 OBJ 586.138184 c26 1 + x320 c78 -1.197604 + x321 OBJ 585.365967 c27 1 + x321 c80 -1.197604 + x322 OBJ 593.9563 c28 1 + x322 c82 -1.197604 + x323 OBJ 586.775391 c29 1 + x323 c84 -1.197604 + x324 OBJ 590.526367 c30 1 + x324 c86 -1.197604 + x325 OBJ 588.990479 c31 1 + x325 c88 -1.197604 + x326 OBJ 628.276367 c32 1 + x326 c90 -1.197604 + x327 OBJ 589.911133 c33 1 + x327 c92 -1.197604 + x328 OBJ 590.110107 c34 1 + x328 c94 -1.197604 + x329 OBJ 585.704346 c3 1.197604 + x329 c35 1 + x330 OBJ 994.519775 c5 1 + x330 c37 -1.503759 + x331 OBJ 764.129639 c6 1 + x331 c39 -1.503759 + x332 OBJ 761.62085 c7 1 + x332 c41 -1.503759 + x333 OBJ 761.5896 c8 1 + x333 c43 -1.503759 + x334 OBJ 760.814697 c9 1 + x334 c45 -1.503759 + x335 OBJ 760.577881 c10 1 + x335 c47 -1.503759 + x336 OBJ 760.394287 c11 1 + x336 c49 -1.503759 + x337 OBJ 761.463867 c12 1 + x337 c51 -1.503759 + x338 OBJ 775.38208 c13 1 + x338 c53 -1.503759 + x339 OBJ 766.499756 c14 1 + x339 c55 -1.503759 + x340 OBJ 760.918457 c15 1 + x340 c57 -1.503759 + x341 OBJ 760.360107 c16 1 + x341 c59 -1.503759 + x342 OBJ 760.969971 c17 1 + x342 c61 -1.503759 + x343 OBJ 762.579346 c18 1 + x343 c63 -1.503759 + x344 OBJ 760.64624 c19 1 + x344 c65 -1.503759 + x345 OBJ 760.4 c20 1 + x345 c67 -1.503759 + x346 OBJ 760.947021 c21 1 + x346 c69 -1.503759 + x347 OBJ 761.964355 c22 1 + x347 c71 -1.503759 + x348 OBJ 765.686279 c23 1 + x348 c73 -1.503759 + x349 OBJ 761.322021 c24 1 + x349 c75 -1.503759 + x350 OBJ 761.280518 c25 1 + x350 c77 -1.503759 + x351 OBJ 761.425293 c26 1 + x351 c79 -1.503759 + x352 OBJ 760.9104 c27 1 + x352 c81 -1.503759 + x353 OBJ 766.636475 c28 1 + x353 c83 -1.503759 + x354 OBJ 761.849609 c29 1 + x354 c85 -1.503759 + x355 OBJ 764.35083 c30 1 + x355 c87 -1.503759 + x356 OBJ 763.32666 c31 1 + x356 c89 -1.503759 + x357 OBJ 789.517578 c32 1 + x357 c91 -1.503759 + x358 OBJ 763.940186 c33 1 + x358 c93 -1.503759 + x359 OBJ 764.072754 c34 1 + x359 c95 -1.503759 + x360 OBJ 761.135986 c4 1.503759 + x360 c35 1 + x361 OBJ 40996 c5 1 + x362 OBJ 40996 c6 1 + x363 OBJ 40995.97266 c7 1 + x364 OBJ 40995.97656 c8 1 + x365 OBJ 40995.99609 c9 1 + x366 OBJ 40995.99219 c10 1 + x367 OBJ 40995.99609 c11 1 + x368 OBJ 40995.99219 c12 1 + x369 OBJ 40995.99609 c13 1 + x370 OBJ 40995.99609 c14 1 + x371 OBJ 40995.97266 c15 1 + x372 OBJ 40995.99609 c16 1 + x373 OBJ 40995.98438 c17 1 + x374 OBJ 40995.99609 c18 1 + x375 OBJ 40995.98828 c19 1 + x376 OBJ 40995.99609 c20 1 + x377 OBJ 40995.99219 c21 1 + x378 OBJ 40995.99609 c22 1 + x379 OBJ 40996 c23 1 + x380 OBJ 40995.99609 c24 1 + x381 OBJ 40995.97656 c25 1 + x382 OBJ 40995.98438 c26 1 + x383 OBJ 40995.98047 c27 1 + x384 OBJ 40995.98828 c28 1 + x385 OBJ 40995.98828 c29 1 + x386 OBJ 40995.99219 c30 1 + x387 OBJ 40995.98828 c31 1 + x388 OBJ 40996 c32 1 + x389 OBJ 40995.99609 c33 1 + x390 OBJ 40995.99609 c34 1 + x391 OBJ 40995.98047 c35 1 + x392 OBJ 2184.375 c5 1 + x393 OBJ 2184.375 c6 1 + x394 OBJ 2184.375 c7 1 + x395 OBJ 2184.374268 c8 1 + x396 OBJ 2184.374512 c9 1 + x397 OBJ 2184.375 c10 1 + x398 OBJ 2184.374512 c11 1 + x399 OBJ 2184.374512 c12 1 + x400 OBJ 2184.374512 c13 1 + x401 OBJ 2184.373779 c14 1 + x402 OBJ 2184.374268 c15 1 + x403 OBJ 2184.374268 c16 1 + x404 OBJ 2184.374268 c17 1 + x405 OBJ 2184.374512 c18 1 + x406 OBJ 2184.374512 c19 1 + x407 OBJ 2184.374512 c20 1 + x408 OBJ 2184.374268 c21 1 + x409 OBJ 2184.374512 c22 1 + x410 OBJ 2184.375 c23 1 + x411 OBJ 2184.374268 c24 1 + x412 OBJ 2184.374512 c25 1 + x413 OBJ 2184.374512 c26 1 + x414 OBJ 2184.374512 c27 1 + x415 OBJ 2184.374268 c28 1 + x416 OBJ 2184.374512 c29 1 + x417 OBJ 2184.374512 c30 1 + x418 OBJ 2184.374512 c31 1 + x419 OBJ 2184.375 c32 1 + x420 OBJ 2184.374512 c33 1 + x421 OBJ 2184.374512 c34 1 + x422 OBJ 2184.374268 c35 1 +RHS + rhs c5 1.5 c6 69 + rhs c7 520.5 c8 495.299805 + rhs c9 754.099854 c10 1198.5 + rhs c11 2188.799805 c12 594.4 + rhs c13 51.4 c14 75.6 + rhs c15 563.099854 c16 1533.099854 + rhs c17 556.299805 c18 167.8 + rhs c19 975.799805 c20 1642.9 + rhs c21 347.099854 c22 262.799805 + rhs c23 62 c24 395.9 + rhs c25 691.7 c26 936.7 + rhs c27 791.099854 c28 106.7 + rhs c29 393.7 c30 173.7 + rhs c31 466.2 c32 34 + rhs c33 116.9 c34 103.4 + rhs c35 552.099854 +BOUNDS + UP bnd x201 1 + UP bnd x202 1 + UP bnd x203 1 + UP bnd x204 1 + UP bnd x205 1 + UP bnd x206 1 + UP bnd x207 1 + UP bnd x208 1 + UP bnd x209 1 + UP bnd x210 1 + UP bnd x211 1 + UP bnd x212 1 + UP bnd x213 1 + UP bnd x214 1 + UP bnd x215 1 + UP bnd x216 1 + UP bnd x217 1 + UP bnd x218 1 + UP bnd x219 1 + UP bnd x220 1 + UP bnd x221 1 + UP bnd x222 1 + UP bnd x223 1 + UP bnd x224 1 + UP bnd x225 1 + UP bnd x226 1 + UP bnd x227 1 + UP bnd x228 1 + UP bnd x229 1 + UP bnd x230 1 + UP bnd x231 1 + UP bnd x232 1 + UP bnd x233 1 + UP bnd x234 1 + UP bnd x235 1 + UP bnd x236 1 + UP bnd x237 1 + UP bnd x238 1 + UP bnd x239 1 + UP bnd x240 1 + UP bnd x241 1 + UP bnd x242 1 + UP bnd x243 1 + UP bnd x244 1 + UP bnd x245 1 + UP bnd x246 1 + UP bnd x247 1 + UP bnd x248 1 + UP bnd x249 1 + UP bnd x250 1 + UP bnd x251 1 + UP bnd x252 1 + UP bnd x253 1 + UP bnd x254 1 + UP bnd x255 1 + UP bnd x256 1 + UP bnd x257 1 + UP bnd x258 1 + UP bnd x259 1 + UP bnd x260 1 + UP bnd x261 1 + UP bnd x262 1 + UP bnd x263 1 + UP bnd x264 1 + UP bnd x265 1 + UP bnd x266 1 + UP bnd x267 1 + UP bnd x268 1 + UP bnd x269 1 + UP bnd x270 1 + UP bnd x271 1 + UP bnd x272 1 + UP bnd x273 1 + UP bnd x274 1 + UP bnd x275 1 + UP bnd x276 1 + UP bnd x277 1 + UP bnd x278 1 + UP bnd x279 1 + UP bnd x280 1 + UP bnd x281 1 + UP bnd x282 1 + UP bnd x283 1 + UP bnd x284 1 + UP bnd x285 1 + UP bnd x286 1 + UP bnd x287 1 + UP bnd x288 1 + UP bnd x289 1 + UP bnd x290 1 + UP bnd x291 1 + UP bnd x292 1 + UP bnd x293 1 + UP bnd x294 1 + UP bnd x295 1 + UP bnd x296 1 + UP bnd x297 1 + UP bnd x298 1 +ENDATA diff --git a/demos/ppl_lpsol/examples/noswot.mps b/demos/ppl_lpsol/examples/noswot.mps new file mode 100644 index 000000000..bf3f987b8 --- /dev/null +++ b/demos/ppl_lpsol/examples/noswot.mps @@ -0,0 +1,729 @@ +NAME noswot +ROWS + N 1 + L c1 + L c2 + L c3 + L c4 + L c5 + L c6 + G c7 + L c8 + G c9 + L c10 + G c11 + L c12 + G c13 + L c14 + G c15 + L c16 + G c17 + G c18 + G c19 + G c20 + G c21 + G c22 + G c23 + G c24 + G c25 + G c26 + G c27 + G c28 + G c29 + G c30 + G c31 + G c32 + G c33 + G c34 + G c35 + G c36 + G c37 + G c38 + G c39 + G c40 + G c41 + G c42 + G c43 + G c44 + G c45 + G c46 + G c47 + G c48 + G c49 + G c50 + G c51 + G c52 + G c53 + G c54 + G c55 + G c56 + L c57 + L c58 + L c59 + L c60 + L c61 + L c62 + G c63 + L c64 + G c65 + L c66 + G c67 + L c68 + G c69 + L c70 + G c71 + L c72 + G c73 + G c74 + G c75 + G c76 + G c77 + G c78 + G c79 + G c80 + G c81 + G c82 + G c83 + G c84 + G c85 + G c86 + G c87 + G c88 + G c89 + G c90 + G c91 + G c92 + G c93 + G c94 + G c95 + G c96 + G c97 + G c98 + G c99 + G c100 + G c101 + G c102 + G c103 + L c104 + L c105 + L c106 + L c107 + L c108 + L c109 + G c110 + L c111 + G c112 + L c113 + G c114 + L c115 + G c116 + L c117 + G c118 + L c119 + G c120 + G c121 + G c122 + G c123 + G c124 + G c125 + G c126 + G c127 + G c128 + G c129 + G c130 + G c131 + G c132 + G c133 + G c134 + G c135 + G c136 + G c137 + G c138 + G c139 + L c140 + L c141 + L c142 + L c143 + L c144 + L c145 + G c146 + E c147 + G c148 + E c149 + G c150 + L c151 + G c152 + L c153 + G c154 + L c155 + G c156 + G c157 + G c158 + G c159 + G c160 + G c161 + G c162 + G c163 + G c164 + G c165 + L c166 + L c167 + L c168 + L c169 + L c170 + L c171 + G c172 + L c173 + G c174 + L c175 + G c176 + L c177 + G c178 + L c179 + G c180 + L c181 + L c182 +COLUMNS + MARK0000 'MARKER' 'INTORG' + x1 c17 21 c18 -21 + x2 c19 21 c20 -21 + x3 c21 21 c22 -21 + x4 c23 21 c24 -21 + x5 c25 21 c26 -21 + x6 c27 21 c28 -21 + x7 c29 21 c30 -21 + x8 c31 21 c32 -21 + x9 c33 21 c34 -21 + x10 c35 21 c36 -21 + x11 c37 21 c38 -21 + x12 c39 21 c40 -21 + x13 c41 21 c42 -21 + x14 c43 21 c44 -21 + x15 c45 21 c46 -21 + x16 c47 21 c48 -21 + x17 c49 21 c50 -21 + x18 c51 21 c52 -21 + x19 c53 21 c54 -21 + x20 c55 21 c56 -21 + x21 c73 21 c74 -21 + x22 c75 21 c76 -21 + x23 c77 21 c78 -21 + x24 c79 21 c80 -21 + x25 c81 21 c82 -21 + x26 c83 21 c84 -21 + x27 c85 21 c86 -21 + x28 c87 21 c88 -21 + x29 c89 21 c90 -21 + x30 c91 21 c92 -21 + x31 c93 21 c94 -21 + x32 c95 21 c96 -21 + x33 c97 21 c98 -21 + x34 c99 21 c100 -21 + x35 c101 21 c102 -21 + x36 c120 21 c121 -21 + x37 c122 21 c123 -21 + x38 c124 21 c125 -21 + x39 c126 21 c127 -21 + x40 c128 21 c129 -21 + x41 c130 21 c131 -21 + x42 c132 21 c133 -21 + x43 c134 21 c135 -21 + x44 c136 21 c137 -21 + x45 c138 21 c139 -21 + x46 c156 21 c157 -21 + x47 c158 21 c159 -21 + x48 c160 21 c161 -21 + x49 c162 21 c163 -21 + x50 c164 21 c165 -21 + x51 c2 -20 c7 -1 + x51 c8 -9.6000004 c18 -0.75 + x51 c28 -0.66670000 c38 -0.25 + x51 c48 -0.25 + x52 1 -1 c1 1 + x52 c2 2.0833001 c7 1 + x52 c8 1 c18 -2.0833001 + x52 c28 -2.0833001 c38 -2.0833001 + x52 c48 -2.0833001 c57 1 + x53 c3 -20 c9 -1 + x53 c10 -9.6000004 c20 -0.75 + x53 c30 -0.66670000 c40 -0.25 + x53 c50 -0.25 + x54 1 -1 c1 1 + x54 c3 2.0833001 c9 1 + x54 c10 1 c20 -2.0833001 + x54 c30 -2.0833001 c40 -2.0833001 + x54 c50 -2.0833001 c57 1 + x55 c4 -20 c11 -1 + x55 c12 -9.6000004 c22 -0.75 + x55 c32 -0.66670000 c42 -0.25 + x55 c52 -0.25 + x56 1 -1 c1 1 + x56 c4 2.0833001 c11 1 + x56 c12 1 c22 -2.0833001 + x56 c32 -2.0833001 c42 -2.0833001 + x56 c52 -2.0833001 c57 1 + x57 c5 -20 c13 -1 + x57 c14 -9.6000004 c24 -0.75 + x57 c34 -0.66670000 c44 -0.25 + x57 c54 -0.25 + x58 1 -1 c1 1 + x58 c5 2.0833001 c13 1 + x58 c14 1 c24 -2.0833001 + x58 c34 -2.0833001 c44 -2.0833001 + x58 c54 -2.0833001 c57 1 + x59 c6 -16 c15 -1 + x59 c16 -7.6799998 c26 -0.75 + x59 c36 -0.66670000 c46 -0.25 + x59 c56 -0.25 + x60 1 -1 c1 1 + x60 c6 2.0833001 c15 1 + x60 c16 1 c26 -2.0833001 + x60 c36 -2.0833001 c46 -2.0833001 + x60 c56 -2.0833001 c57 1 + x61 c17 -0.66670000 c58 -20 + x61 c63 -1 c64 -6.7199998 + x61 c74 -0.66670000 c84 -0.66670000 + x61 c94 -0.66670000 + x62 1 -1 c1 1 + x62 c17 -2.9762001 c58 2.9762001 + x62 c63 1 c64 1 + x62 c74 -2.9762001 c84 -2.9762001 + x62 c94 -2.9762001 c103 1 + x62 c104 1 + x63 c19 -0.66670000 c59 -20 + x63 c65 -1 c66 -6.7199998 + x63 c76 -0.66670000 c86 -0.66670000 + x63 c96 -0.66670000 + x64 1 -1 c1 1 + x64 c19 -2.9762001 c59 2.9762001 + x64 c65 1 c66 1 + x64 c76 -2.9762001 c86 -2.9762001 + x64 c96 -2.9762001 c103 1 + x64 c104 1 + x65 c21 -0.66670000 c60 -20 + x65 c67 -1 c68 -6.7199998 + x65 c78 -0.66670000 c88 -0.66670000 + x65 c98 -0.66670000 + x66 1 -1 c1 1 + x66 c21 -2.9762001 c60 2.9762001 + x66 c67 1 c68 1 + x66 c78 -2.9762001 c88 -2.9762001 + x66 c98 -2.9762001 c103 1 + x66 c104 1 + x67 c23 -0.66670000 c61 -20 + x67 c69 -1 c70 -6.7199998 + x67 c80 -0.66670000 c90 -0.66670000 + x67 c100 -0.66670000 + x68 1 -1 c1 1 + x68 c23 -2.9762001 c61 2.9762001 + x68 c69 1 c70 1 + x68 c80 -2.9762001 c90 -2.9762001 + x68 c100 -2.9762001 c103 1 + x68 c104 1 + x69 c25 -0.66670000 c62 -16 + x69 c71 -1 c72 -5.3759999 + x69 c82 -0.66670000 c92 -0.66670000 + x69 c102 -0.66670000 + x70 1 -1 c1 1 + x70 c25 -2.9762001 c62 2.9762001 + x70 c71 1 c72 1 + x70 c82 -2.9762001 c92 -2.9762001 + x70 c102 -2.9762001 c103 1 + x70 c104 1 + x71 c27 -0.66670000 c73 -0.75 + x71 c105 -20 c110 -1 + x71 c111 -5.7600002 c121 -0.66670000 + x71 c131 -0.66670000 + x72 1 -1 c1 1 + x72 c27 -3.4721999 c73 -3.4721999 + x72 c105 3.4721999 c110 1 + x72 c111 1 c121 -3.4721999 + x72 c131 -3.4721999 c140 1 + x73 c29 -0.66670000 c75 -0.75 + x73 c106 -20 c112 -1 + x73 c113 -5.7600002 c123 -0.66670000 + x73 c133 -0.66670000 + x74 1 -1 c1 1 + x74 c29 -3.4721999 c75 -3.4721999 + x74 c106 3.4721999 c112 1 + x74 c113 1 c123 -3.4721999 + x74 c133 -3.4721999 c140 1 + x75 c31 -0.66670000 c77 -0.75 + x75 c107 -20 c114 -1 + x75 c115 -5.7600002 c125 -0.66670000 + x75 c135 -0.66670000 + x76 1 -1 c1 1 + x76 c31 -3.4721999 c77 -3.4721999 + x76 c107 3.4721999 c114 1 + x76 c115 1 c125 -3.4721999 + x76 c135 -3.4721999 c140 1 + x77 c33 -0.66670000 c79 -0.75 + x77 c108 -20 c116 -1 + x77 c117 -5.7600002 c127 -0.66670000 + x77 c137 -0.66670000 + x78 1 -1 c1 1 + x78 c33 -3.4721999 c79 -3.4721999 + x78 c108 3.4721999 c116 1 + x78 c117 1 c127 -3.4721999 + x78 c137 -3.4721999 c140 1 + x79 c35 -0.66670000 c81 -0.75 + x79 c109 -16 c118 -1 + x79 c119 -4.6079998 c129 -0.66670000 + x79 c139 -0.66670000 + x80 1 -1 c1 1 + x80 c35 -3.4721999 c81 -3.4721999 + x80 c109 3.4721999 c118 1 + x80 c119 1 c129 -3.4721999 + x80 c139 -3.4721999 c140 1 + x81 c37 -0.25 c83 -0.75 + x81 c120 -0.66670000 c141 -20 + x81 c146 -1 c147 -8.9280005 + x81 c157 -0.25 + x82 1 -1 c1 1 + x82 c37 -2.2400999 c83 -2.2400999 + x82 c120 -2.2400999 c141 2.2400999 + x82 c146 1 c147 1 + x82 c157 -2.2400999 c166 1 + x83 c39 -0.25 c85 -0.75 + x83 c122 -0.66670000 c142 -20 + x83 c148 -1 c149 -8.9280005 + x83 c159 -0.25 + x84 1 -1 c1 1 + x84 c39 -2.2400999 c85 -2.2400999 + x84 c122 -2.2400999 c142 2.2400999 + x84 c148 1 c149 1 + x84 c159 -2.2400999 c166 1 + x85 c41 -0.25 c87 -0.75 + x85 c124 -0.66670000 c143 -20 + x85 c150 -1 c151 -8.9280005 + x85 c161 -0.25 + x86 1 -1 c1 1 + x86 c41 -2.2400999 c87 -2.2400999 + x86 c124 -2.2400999 c143 2.2400999 + x86 c150 1 c151 1 + x86 c161 -2.2400999 c166 1 + x87 c43 -0.25 c89 -0.75 + x87 c126 -0.66670000 c144 -20 + x87 c152 -1 c153 -8.9280005 + x87 c163 -0.25 + x88 1 -1 c1 1 + x88 c43 -2.2400999 c89 -2.2400999 + x88 c126 -2.2400999 c144 2.2400999 + x88 c152 1 c153 1 + x88 c163 -2.2400999 c166 1 + x89 c45 -0.25 c91 -0.75 + x89 c128 -0.66670000 c145 -16 + x89 c154 -1 c155 -7.1423998 + x89 c165 -0.25 + x90 1 -1 c1 1 + x90 c45 -2.2400999 c91 -2.2400999 + x90 c128 -2.2400999 c145 2.2400999 + x90 c154 1 c155 1 + x90 c165 -2.2400999 c166 1 + x91 c47 -0.66670000 c93 -0.75 + x91 c130 -0.66670000 c156 -0.66670000 + x91 c167 -20 c172 -1 + x91 c173 -9.6000004 + x92 1 -1 c1 1 + x92 c47 -2.0833001 c93 -2.0833001 + x92 c130 -2.0833001 c156 -2.0833001 + x92 c167 2.0833001 c172 1 + x92 c173 1 c182 1 + x93 c49 -0.66670000 c95 -0.75 + x93 c132 -0.66670000 c158 -0.66670000 + x93 c168 -20 c174 -1 + x93 c175 -9.6000004 + x94 1 -1 c1 1 + x94 c49 -2.0833001 c95 -2.0833001 + x94 c132 -2.0833001 c158 -2.0833001 + x94 c168 2.0833001 c174 1 + x94 c175 1 c182 1 + x95 c51 -0.66670000 c97 -0.75 + x95 c134 -0.66670000 c160 -0.66670000 + x95 c169 -20 c176 -1 + x95 c177 -9.6000004 + x96 1 -1 c1 1 + x96 c51 -2.0833001 c97 -2.0833001 + x96 c134 -2.0833001 c160 -2.0833001 + x96 c169 2.0833001 c176 1 + x96 c177 1 c182 1 + x97 c53 -0.66670000 c99 -0.75 + x97 c136 -0.66670000 c162 -0.66670000 + x97 c170 -20 c178 -1 + x97 c179 -9.6000004 + x98 1 -1 c1 1 + x98 c53 -2.0833001 c99 -2.0833001 + x98 c136 -2.0833001 c162 -2.0833001 + x98 c170 2.0833001 c178 1 + x98 c179 1 c182 1 + x99 c55 -0.66670000 c101 -0.75 + x99 c138 -0.66670000 c164 -0.66670000 + x99 c171 -16 c180 -1 + x99 c181 -7.6799998 + x100 1 -1 c1 1 + x100 c55 -2.0833001 c101 -2.0833001 + x100 c138 -2.0833001 c164 -2.0833001 + x100 c171 2.0833001 c180 1 + x100 c181 1 c182 1 + MARK0001 'MARKER' 'INTEND' + x101 c2 1 c17 1 + x101 c18 -1 c27 1 + x101 c28 -1 c37 1 + x101 c38 -1 c47 1 + x101 c48 -1 + x102 c3 1 c19 1 + x102 c20 -1 c29 1 + x102 c30 -1 c39 1 + x102 c40 -1 c49 1 + x102 c50 -1 + x103 c4 1 c21 1 + x103 c22 -1 c31 1 + x103 c32 -1 c41 1 + x103 c42 -1 c51 1 + x103 c52 -1 + x104 c5 1 c23 1 + x104 c24 -1 c33 1 + x104 c34 -1 c43 1 + x104 c44 -1 c53 1 + x104 c54 -1 + x105 c6 1 c25 1 + x105 c26 -1 c35 1 + x105 c36 -1 c45 1 + x105 c46 -1 c55 1 + x105 c56 -1 + x106 c17 -1 c18 1 + x106 c58 1 c73 1 + x106 c74 -1 c83 1 + x106 c84 -1 c93 1 + x106 c94 -1 + x107 c19 -1 c20 1 + x107 c59 1 c75 1 + x107 c76 -1 c85 1 + x107 c86 -1 c95 1 + x107 c96 -1 + x108 c21 -1 c22 1 + x108 c60 1 c77 1 + x108 c78 -1 c87 1 + x108 c88 -1 c97 1 + x108 c98 -1 + x109 c23 -1 c24 1 + x109 c61 1 c79 1 + x109 c80 -1 c89 1 + x109 c90 -1 c99 1 + x109 c100 -1 + x110 c25 -1 c26 1 + x110 c62 1 c81 1 + x110 c82 -1 c91 1 + x110 c92 -1 c101 1 + x110 c102 -1 + x111 c27 -1 c28 1 + x111 c73 -1 c74 1 + x111 c105 1 c120 1 + x111 c121 -1 c130 1 + x111 c131 -1 + x112 c29 -1 c30 1 + x112 c75 -1 c76 1 + x112 c106 1 c122 1 + x112 c123 -1 c132 1 + x112 c133 -1 + x113 c31 -1 c32 1 + x113 c77 -1 c78 1 + x113 c107 1 c124 1 + x113 c125 -1 c134 1 + x113 c135 -1 + x114 c33 -1 c34 1 + x114 c79 -1 c80 1 + x114 c108 1 c126 1 + x114 c127 -1 c136 1 + x114 c137 -1 + x115 c35 -1 c36 1 + x115 c81 -1 c82 1 + x115 c109 1 c128 1 + x115 c129 -1 c138 1 + x115 c139 -1 + x116 c37 -1 c38 1 + x116 c83 -1 c84 1 + x116 c120 -1 c121 1 + x116 c141 1 c156 1 + x116 c157 -1 + x117 c39 -1 c40 1 + x117 c85 -1 c86 1 + x117 c122 -1 c123 1 + x117 c142 1 c158 1 + x117 c159 -1 + x118 c41 -1 c42 1 + x118 c87 -1 c88 1 + x118 c124 -1 c125 1 + x118 c143 1 c160 1 + x118 c161 -1 + x119 c43 -1 c44 1 + x119 c89 -1 c90 1 + x119 c126 -1 c127 1 + x119 c144 1 c162 1 + x119 c163 -1 + x120 c45 -1 c46 1 + x120 c91 -1 c92 1 + x120 c128 -1 c129 1 + x120 c145 1 c164 1 + x120 c165 -1 + x121 c47 -1 c48 1 + x121 c93 -1 c94 1 + x121 c130 -1 c131 1 + x121 c156 -1 c157 1 + x121 c167 1 + x122 c49 -1 c50 1 + x122 c95 -1 c96 1 + x122 c132 -1 c133 1 + x122 c158 -1 c159 1 + x122 c168 1 + x123 c51 -1 c52 1 + x123 c97 -1 c98 1 + x123 c134 -1 c135 1 + x123 c160 -1 c161 1 + x123 c169 1 + x124 c53 -1 c54 1 + x124 c99 -1 c100 1 + x124 c136 -1 c137 1 + x124 c162 -1 c163 1 + x124 c170 1 + x125 c55 -1 c56 1 + x125 c101 -1 c102 1 + x125 c138 -1 c139 1 + x125 c164 -1 c165 1 + x125 c171 1 + x126 c149 1 + x127 c147 1 + x128 c151 2 c153 3 + x128 c155 4 +RHS + rhs c1 43 c18 -21 + rhs c20 -21 c22 -21 + rhs c24 -21 c26 -21 + rhs c28 -21 c30 -21 + rhs c32 -21 c34 -21 + rhs c36 -21 c38 -21 + rhs c40 -21 c42 -21 + rhs c44 -21 c46 -21 + rhs c48 -21 c50 -21 + rhs c52 -21 c54 -21 + rhs c56 -21 c57 38 + rhs c74 -21 c76 -21 + rhs c78 -21 c80 -21 + rhs c82 -21 c84 -21 + rhs c86 -21 c88 -21 + rhs c90 -21 c92 -21 + rhs c94 -21 c96 -21 + rhs c98 -21 c100 -21 + rhs c102 -21 c103 5 + rhs c104 9 c121 -21 + rhs c123 -21 c125 -21 + rhs c127 -21 c129 -21 + rhs c131 -21 c133 -21 + rhs c135 -21 c137 -21 + rhs c139 -21 c140 2 + rhs c157 -21 c159 -21 + rhs c161 -21 c163 -21 + rhs c165 -21 c166 1 + rhs c182 2 +BOUNDS + UP bnd x1 1 + UP bnd x2 1 + UP bnd x3 1 + UP bnd x4 1 + UP bnd x5 1 + UP bnd x6 1 + UP bnd x7 1 + UP bnd x8 1 + UP bnd x9 1 + UP bnd x10 1 + UP bnd x11 1 + UP bnd x12 1 + UP bnd x13 1 + UP bnd x14 1 + UP bnd x15 1 + UP bnd x16 1 + UP bnd x17 1 + UP bnd x18 1 + UP bnd x19 1 + UP bnd x20 1 + UP bnd x21 1 + UP bnd x22 1 + UP bnd x23 1 + UP bnd x24 1 + UP bnd x25 1 + UP bnd x26 1 + UP bnd x27 1 + UP bnd x28 1 + UP bnd x29 1 + UP bnd x30 1 + UP bnd x31 1 + UP bnd x32 1 + UP bnd x33 1 + UP bnd x34 1 + UP bnd x35 1 + UP bnd x36 1 + UP bnd x37 1 + UP bnd x38 1 + UP bnd x39 1 + UP bnd x40 1 + UP bnd x41 1 + UP bnd x42 1 + UP bnd x43 1 + UP bnd x44 1 + UP bnd x45 1 + UP bnd x46 1 + UP bnd x47 1 + UP bnd x48 1 + UP bnd x49 1 + UP bnd x50 1 + UP bnd x51 1 + UP bnd x52 100000 + UP bnd x53 1 + UP bnd x54 100000 + UP bnd x55 1 + UP bnd x56 100000 + UP bnd x57 1 + UP bnd x58 100000 + UP bnd x59 1 + UP bnd x60 100000 + UP bnd x61 1 + UP bnd x62 100000 + UP bnd x63 1 + UP bnd x64 100000 + UP bnd x65 1 + UP bnd x66 100000 + UP bnd x67 1 + UP bnd x68 100000 + UP bnd x69 1 + UP bnd x70 100000 + UP bnd x71 1 + UP bnd x72 100000 + UP bnd x73 1 + UP bnd x74 100000 + UP bnd x75 1 + UP bnd x76 100000 + UP bnd x77 1 + UP bnd x78 100000 + UP bnd x79 1 + UP bnd x80 100000 + UP bnd x81 1 + UP bnd x82 100000 + UP bnd x83 1 + UP bnd x84 100000 + UP bnd x85 1 + UP bnd x86 100000 + UP bnd x87 1 + UP bnd x88 100000 + UP bnd x89 1 + UP bnd x90 100000 + UP bnd x91 1 + UP bnd x92 100000 + UP bnd x93 1 + UP bnd x94 100000 + UP bnd x95 1 + UP bnd x96 100000 + UP bnd x97 1 + UP bnd x98 100000 + UP bnd x99 1 + UP bnd x100 100000 +ENDATA diff --git a/demos/ppl_lpsol/examples/opt1217.mps b/demos/ppl_lpsol/examples/opt1217.mps new file mode 100644 index 000000000..afc134cff --- /dev/null +++ b/demos/ppl_lpsol/examples/opt1217.mps @@ -0,0 +1,1643 @@ +NAME opt1217 +ROWS + N MINIMIZE + G c1 + G c2 + G c3 + G c4 + G c5 + G c6 + G c7 + G c8 + G c9 + G c10 + G c11 + G c12 + G c13 + G c14 + G c15 + G c16 + E c17 + E c18 + E c19 + E c20 + E c21 + E c22 + E c23 + E c24 + E c25 + E c26 + E c27 + E c28 + E c29 + E c30 + E c31 + E c32 + E c33 + E c34 + E c35 + E c36 + E c37 + E c38 + E c39 + E c40 + E c41 + E c42 + E c43 + E c44 + E c45 + E c46 + E c47 + E c48 + E c49 + E c50 + E c51 + E c52 + E c53 + E c54 + E c55 + E c56 + E c57 + E c58 + E c59 + E c60 + E c61 + E c62 + E c63 + E c64 +COLUMNS + x1 MINIMIZE -1 c1 -1 + x1 c2 -1 c3 -1 + x1 c4 -1 c5 -1 + x1 c6 -1 c7 -1 + x1 c8 -1 c9 -1 + x1 c10 -1 c11 -1 + x1 c12 -1 c13 -1 + x1 c14 -1 c15 -1 + x1 c16 -1 + MARK0000 'MARKER' 'INTORG' + x2 c1 4 c17 1 + x3 c1 4 c18 1 + x4 c1 4 c19 1 + x5 c1 4 c20 1 + x6 c1 4 c21 1 + x7 c1 4 c22 1 + x8 c1 4 c23 1 + x9 c1 2 c24 1 + x10 c1 2 c25 1 + x11 c1 2 c26 1 + x12 c1 2 c27 1 + x13 c1 2 c28 1 + x14 c1 2 c29 1 + x15 c1 2 c30 1 + x16 c1 2 c31 1 + x17 c1 1 c32 1 + x18 c1 1 c34 1 + x19 c1 2 c35 1 + x20 c1 2 c36 1 + x21 c1 2 c37 1 + x22 c1 2 c38 1 + x23 c1 2 c39 1 + x24 c1 2 c40 1 + x25 c1 4 c41 1 + x26 c1 4 c42 1 + x27 c1 4 c43 1 + x28 c1 4 c44 1 + x29 c1 4 c45 1 + x30 c1 2 c46 1 + x31 c1 2 c47 1 + x32 c1 2 c48 1 + x33 c1 4 c49 1 + x34 c1 4 c50 1 + x35 c1 6 c51 1 + x36 c1 6 c52 1 + x37 c1 6 c53 1 + x38 c1 6 c54 1 + x39 c1 8 c55 1 + x40 c1 6 c56 1 + x41 c1 6 c57 1 + x42 c1 6 c58 1 + x43 c1 6 c59 1 + x44 c1 4 c60 1 + x45 c1 4 c61 1 + x46 c1 4 c62 1 + x47 c1 4 c63 1 + x48 c1 4 c64 1 + x49 c2 2 c17 1 + x50 c2 2 c18 1 + x51 c2 2 c19 1 + x52 c2 4 c20 1 + x53 c2 4 c21 1 + x54 c2 4 c22 1 + x55 c2 4 c23 1 + x56 c2 4 c24 1 + x57 c2 2 c25 1 + x58 c2 4 c26 1 + x59 c2 4 c27 1 + x60 c2 4 c28 1 + x61 c2 2 c29 1 + x62 c2 2 c30 1 + x63 c2 4 c31 1 + x64 c2 6 c32 1 + x65 c2 6 c33 1 + x66 c2 4 c34 1 + x67 c2 4 c35 1 + x68 c2 4 c36 1 + x69 c2 4 c37 1 + x70 c2 4 c38 1 + x71 c2 2 c39 1 + x72 c2 1 c40 1 + x73 c2 2 c41 1 + x74 c2 4 c42 1 + x75 c2 2 c43 1 + x76 c2 2 c44 1 + x77 c2 4 c45 1 + x78 c2 4 c46 1 + x79 c2 4 c47 1 + x80 c2 2 c48 1 + x81 c2 2 c49 1 + x82 c2 4 c50 1 + x83 c2 4 c51 1 + x84 c2 4 c52 1 + x85 c2 4 c53 1 + x86 c2 4 c54 1 + x87 c2 4 c55 1 + x88 c2 4 c56 1 + x89 c2 4 c57 1 + x90 c2 4 c58 1 + x91 c2 4 c59 1 + x92 c2 2 c60 1 + x93 c2 2 c61 1 + x94 c2 4 c62 1 + x95 c2 4 c63 1 + x96 c2 4 c64 1 + x97 c3 2 c17 1 + x98 c3 4 c18 1 + x99 c3 4 c19 1 + x100 c3 4 c20 1 + x101 c3 6 c21 1 + x102 c3 6 c22 1 + x103 c3 6 c23 1 + x104 c3 6 c24 1 + x105 c3 6 c25 1 + x106 c3 6 c26 1 + x107 c3 6 c27 1 + x108 c3 4 c28 1 + x109 c3 4 c29 1 + x110 c3 4 c30 1 + x111 c3 4 c31 1 + x112 c3 4 c32 1 + x113 c3 4 c33 1 + x114 c3 4 c34 1 + x115 c3 4 c35 1 + x116 c3 2 c36 1 + x117 c3 2 c37 1 + x118 c3 1 c38 1 + x119 c3 1 c40 1 + x120 c3 2 c41 1 + x121 c3 4 c42 1 + x122 c3 4 c43 1 + x123 c3 6 c44 1 + x124 c3 6 c45 1 + x125 c3 6 c46 1 + x126 c3 4 c47 1 + x127 c3 4 c48 1 + x128 c3 2 c49 1 + x129 c3 2 c50 1 + x130 c3 2 c51 1 + x131 c3 4 c52 1 + x132 c3 4 c53 1 + x133 c3 2 c54 1 + x134 c3 2 c55 1 + x135 c3 4 c56 1 + x136 c3 4 c57 1 + x137 c3 4 c58 1 + x138 c3 4 c59 1 + x139 c3 1 c60 1 + x140 c3 2 c61 1 + x141 c3 4 c62 1 + x142 c3 6 c63 1 + x143 c3 6 c64 1 + x144 c4 4 c17 1 + x145 c4 4 c18 1 + x146 c4 4 c19 1 + x147 c4 4 c20 1 + x148 c4 4 c21 1 + x149 c4 2 c22 1 + x150 c4 1 c23 1 + x151 c4 2 c24 1 + x152 c4 4 c25 1 + x153 c4 4 c26 1 + x154 c4 4 c27 1 + x155 c4 4 c28 1 + x156 c4 4 c29 1 + x157 c4 6 c30 1 + x158 c4 6 c31 1 + x159 c4 6 c32 1 + x160 c4 6 c33 1 + x161 c4 6 c34 1 + x162 c4 6 c35 1 + x163 c4 6 c36 1 + x164 c4 6 c37 1 + x165 c4 6 c38 1 + x166 c4 4 c39 1 + x167 c4 4 c40 1 + x168 c4 4 c41 1 + x169 c4 4 c42 1 + x170 c4 6 c43 1 + x171 c4 4 c44 1 + x172 c4 4 c45 1 + x173 c4 4 c46 1 + x174 c4 2 c47 1 + x175 c4 2 c48 1 + x176 c4 4 c49 1 + x177 c4 6 c50 1 + x178 c4 6 c51 1 + x179 c4 6 c52 1 + x180 c4 6 c53 1 + x181 c4 6 c54 1 + x182 c4 4 c55 1 + x183 c4 4 c56 1 + x184 c4 6 c57 1 + x185 c4 6 c58 1 + x186 c4 6 c59 1 + x187 c4 6 c60 1 + x188 c4 4 c61 1 + x189 c4 2 c62 1 + x190 c4 2 c63 1 + x191 c4 2 c64 1 + x192 c5 6 c17 1 + x193 c5 6 c18 1 + x194 c5 6 c19 1 + x195 c5 6 c20 1 + x196 c5 4 c21 1 + x197 c5 4 c22 1 + x198 c5 4 c23 1 + x199 c5 4 c24 1 + x200 c5 4 c25 1 + x201 c5 4 c26 1 + x202 c5 6 c27 1 + x203 c5 6 c28 1 + x204 c5 6 c29 1 + x205 c5 6 c30 1 + x206 c5 6 c31 1 + x207 c5 6 c32 1 + x208 c5 6 c33 1 + x209 c5 6 c34 1 + x210 c5 6 c35 1 + x211 c5 4 c36 1 + x212 c5 4 c37 1 + x213 c5 4 c38 1 + x214 c5 2 c39 1 + x215 c5 2 c40 1 + x216 c5 2 c41 1 + x217 c5 1 c42 1 + x218 c5 1 c43 1 + x219 c5 2 c44 1 + x220 c5 2 c45 1 + x221 c5 2 c46 1 + x222 c5 2 c47 1 + x223 c5 2 c48 1 + x224 c5 2 c49 1 + x225 c5 2 c50 1 + x226 c5 2 c51 1 + x227 c5 2 c52 1 + x228 c5 2 c53 1 + x229 c5 2 c54 1 + x230 c5 2 c55 1 + x231 c5 2 c56 1 + x232 c5 2 c57 1 + x233 c5 2 c58 1 + x234 c5 2 c59 1 + x235 c5 2 c60 1 + x236 c5 2 c61 1 + x237 c5 2 c62 1 + x238 c5 2 c63 1 + x239 c5 2 c64 1 + x240 c6 2 c17 1 + x241 c6 2 c18 1 + x242 c6 2 c19 1 + x243 c6 2 c20 1 + x244 c6 2 c21 1 + x245 c6 1 c22 1 + x246 c6 1 c23 1 + x247 c6 1 c24 1 + x248 c6 1 c25 1 + x249 c6 1 c30 1 + x250 c6 1 c31 1 + x251 c6 1 c32 1 + x252 c6 2 c33 1 + x253 c6 2 c34 1 + x254 c6 2 c35 1 + x255 c6 2 c36 1 + x256 c6 2 c37 1 + x257 c6 2 c38 1 + x258 c6 2 c39 1 + x259 c6 2 c40 1 + x260 c6 1 c41 1 + x261 c6 1 c42 1 + x262 c6 2 c43 1 + x263 c6 2 c44 1 + x264 c6 4 c45 1 + x265 c6 4 c46 1 + x266 c6 4 c47 1 + x267 c6 4 c48 1 + x268 c6 4 c49 1 + x269 c6 4 c50 1 + x270 c6 4 c51 1 + x271 c6 4 c52 1 + x272 c6 4 c53 1 + x273 c6 4 c54 1 + x274 c6 2 c55 1 + x275 c6 2 c56 1 + x276 c6 2 c57 1 + x277 c6 4 c58 1 + x278 c6 4 c59 1 + x279 c6 4 c60 1 + x280 c6 6 c61 1 + x281 c6 6 c62 1 + x282 c6 6 c63 1 + x283 c6 6 c64 1 + x284 c7 4 c17 1 + x285 c7 4 c18 1 + x286 c7 4 c19 1 + x287 c7 4 c20 1 + x288 c7 2 c21 1 + x289 c7 1 c22 1 + x290 c7 2 c23 1 + x291 c7 4 c24 1 + x292 c7 4 c25 1 + x293 c7 6 c26 1 + x294 c7 4 c27 1 + x295 c7 4 c28 1 + x296 c7 4 c29 1 + x297 c7 4 c30 1 + x298 c7 4 c31 1 + x299 c7 6 c32 1 + x300 c7 6 c33 1 + x301 c7 6 c34 1 + x302 c7 6 c35 1 + x303 c7 6 c36 1 + x304 c7 6 c37 1 + x305 c7 4 c38 1 + x306 c7 4 c39 1 + x307 c7 4 c40 1 + x308 c7 4 c41 1 + x309 c7 4 c42 1 + x310 c7 4 c43 1 + x311 c7 4 c44 1 + x312 c7 4 c45 1 + x313 c7 4 c46 1 + x314 c7 6 c47 1 + x315 c7 6 c48 1 + x316 c7 6 c49 1 + x317 c7 6 c50 1 + x318 c7 6 c51 1 + x319 c7 6 c52 1 + x320 c7 6 c53 1 + x321 c7 6 c54 1 + x322 c7 4 c55 1 + x323 c7 4 c56 1 + x324 c7 4 c57 1 + x325 c7 4 c58 1 + x326 c7 4 c59 1 + x327 c7 4 c60 1 + x328 c7 4 c61 1 + x329 c7 4 c62 1 + x330 c7 4 c63 1 + x331 c7 4 c64 1 + x332 c8 4 c17 1 + x333 c8 4 c18 1 + x334 c8 4 c19 1 + x335 c8 4 c20 1 + x336 c8 2 c21 1 + x337 c8 4 c22 1 + x338 c8 4 c23 1 + x339 c8 6 c24 1 + x340 c8 6 c25 1 + x341 c8 6 c26 1 + x342 c8 6 c27 1 + x343 c8 8 c28 1 + x344 c8 8 c29 1 + x345 c8 8 c30 1 + x346 c8 8 c31 1 + x347 c8 8 c32 1 + x348 c8 6 c33 1 + x349 c8 6 c34 1 + x350 c8 6 c35 1 + x351 c8 6 c36 1 + x352 c8 4 c37 1 + x353 c8 4 c38 1 + x354 c8 2 c39 1 + x355 c8 2 c40 1 + x356 c8 2 c41 1 + x357 c8 2 c42 1 + x358 c8 4 c43 1 + x359 c8 4 c44 1 + x360 c8 4 c45 1 + x361 c8 4 c46 1 + x362 c8 4 c47 1 + x363 c8 4 c48 1 + x364 c8 4 c49 1 + x365 c8 6 c50 1 + x366 c8 6 c51 1 + x367 c8 6 c52 1 + x368 c8 6 c53 1 + x369 c8 6 c54 1 + x370 c8 6 c55 1 + x371 c8 6 c56 1 + x372 c8 6 c57 1 + x373 c8 6 c58 1 + x374 c8 6 c59 1 + x375 c8 4 c60 1 + x376 c8 4 c61 1 + x377 c8 2 c62 1 + x378 c8 1 c63 1 + x379 c8 1 c64 1 + x380 c9 4 c17 1 + x381 c9 4 c18 1 + x382 c9 6 c19 1 + x383 c9 6 c20 1 + x384 c9 6 c21 1 + x385 c9 6 c22 1 + x386 c9 4 c23 1 + x387 c9 4 c24 1 + x388 c9 2 c25 1 + x389 c9 2 c26 1 + x390 c9 2 c27 1 + x391 c9 2 c28 1 + x392 c9 2 c29 1 + x393 c9 2 c30 1 + x394 c9 4 c31 1 + x395 c9 4 c32 1 + x396 c9 4 c33 1 + x397 c9 4 c34 1 + x398 c9 4 c35 1 + x399 c9 4 c36 1 + x400 c9 4 c37 1 + x401 c9 6 c38 1 + x402 c9 6 c39 1 + x403 c9 6 c40 1 + x404 c9 6 c41 1 + x405 c9 4 c42 1 + x406 c9 4 c43 1 + x407 c9 2 c44 1 + x408 c9 2 c45 1 + x409 c9 4 c46 1 + x410 c9 4 c47 1 + x411 c9 4 c48 1 + x412 c9 4 c49 1 + x413 c9 4 c50 1 + x414 c9 4 c51 1 + x415 c9 4 c52 1 + x416 c9 4 c53 1 + x417 c9 6 c54 1 + x418 c9 6 c55 1 + x419 c9 6 c56 1 + x420 c9 6 c57 1 + x421 c9 6 c58 1 + x422 c9 6 c59 1 + x423 c9 4 c60 1 + x424 c9 4 c61 1 + x425 c9 4 c62 1 + x426 c9 4 c63 1 + x427 c9 4 c64 1 + x428 c10 1 c17 1 + x429 c10 2 c18 1 + x430 c10 2 c19 1 + x431 c10 4 c20 1 + x432 c10 4 c21 1 + x433 c10 4 c22 1 + x434 c10 4 c23 1 + x435 c10 4 c24 1 + x436 c10 4 c25 1 + x437 c10 4 c26 1 + x438 c10 4 c27 1 + x439 c10 4 c28 1 + x440 c10 2 c29 1 + x441 c10 2 c30 1 + x442 c10 2 c31 1 + x443 c10 2 c32 1 + x444 c10 4 c33 1 + x445 c10 4 c34 1 + x446 c10 4 c35 1 + x447 c10 4 c36 1 + x448 c10 4 c37 1 + x449 c10 4 c38 1 + x450 c10 4 c39 1 + x451 c10 4 c40 1 + x452 c10 4 c41 1 + x453 c10 2 c42 1 + x454 c10 1 c43 1 + x455 c10 2 c45 1 + x456 c10 4 c46 1 + x457 c10 4 c47 1 + x458 c10 6 c48 1 + x459 c10 6 c49 1 + x460 c10 6 c50 1 + x461 c10 6 c51 1 + x462 c10 8 c52 1 + x463 c10 8 c53 1 + x464 c10 8 c54 1 + x465 c10 8 c55 1 + x466 c10 8 c56 1 + x467 c10 8 c57 1 + x468 c10 8 c58 1 + x469 c10 6 c59 1 + x470 c10 6 c60 1 + x471 c10 6 c61 1 + x472 c10 6 c62 1 + x473 c10 6 c63 1 + x474 c10 4 c64 1 + x475 c11 4 c18 1 + x476 c11 6 c19 1 + x477 c11 6 c20 1 + x478 c11 4 c21 1 + x479 c11 2 c22 1 + x480 c11 4 c23 1 + x481 c11 4 c24 1 + x482 c11 2 c25 1 + x483 c11 2 c26 1 + x484 c11 4 c27 1 + x485 c11 4 c28 1 + x486 c11 6 c29 1 + x487 c11 6 c30 1 + x488 c11 6 c31 1 + x489 c11 6 c32 1 + x490 c11 6 c33 1 + x491 c11 6 c34 1 + x492 c11 6 c35 1 + x493 c11 4 c36 1 + x494 c11 2 c37 1 + x495 c11 2 c38 1 + x496 c11 4 c39 1 + x497 c11 4 c40 1 + x498 c11 2 c41 1 + x499 c11 2 c42 1 + x500 c11 4 c43 1 + x501 c11 4 c44 1 + x502 c11 4 c45 1 + x503 c11 4 c46 1 + x504 c11 2 c47 1 + x505 c11 2 c48 1 + x506 c11 4 c49 1 + x507 c11 6 c50 1 + x508 c11 4 c51 1 + x509 c11 4 c52 1 + x510 c11 6 c53 1 + x511 c11 6 c54 1 + x512 c11 6 c55 1 + x513 c11 6 c56 1 + x514 c11 4 c57 1 + x515 c11 6 c58 1 + x516 c11 6 c59 1 + x517 c11 6 c60 1 + x518 c11 6 c61 1 + x519 c11 8 c62 1 + x520 c11 8 c63 1 + x521 c11 8 c64 1 + x522 c12 6 c17 1 + x523 c12 6 c18 1 + x524 c12 8 c19 1 + x525 c12 8 c20 1 + x526 c12 8 c21 1 + x527 c12 8 c22 1 + x528 c12 8 c23 1 + x529 c12 6 c24 1 + x530 c12 6 c25 1 + x531 c12 6 c26 1 + x532 c12 4 c27 1 + x533 c12 4 c28 1 + x534 c12 2 c29 1 + x535 c12 2 c30 1 + x536 c12 2 c31 1 + x537 c12 2 c32 1 + x538 c12 2 c33 1 + x539 c12 2 c34 1 + x540 c12 2 c35 1 + x541 c12 2 c36 1 + x542 c12 4 c37 1 + x543 c12 4 c38 1 + x544 c12 4 c39 1 + x545 c12 6 c40 1 + x546 c12 6 c41 1 + x547 c12 6 c42 1 + x548 c12 6 c43 1 + x549 c12 6 c44 1 + x550 c12 6 c45 1 + x551 c12 6 c46 1 + x552 c12 8 c47 1 + x553 c12 8 c48 1 + x554 c12 8 c49 1 + x555 c12 6 c50 1 + x556 c12 6 c51 1 + x557 c12 6 c52 1 + x558 c12 6 c53 1 + x559 c12 6 c54 1 + x560 c12 6 c55 1 + x561 c12 6 c56 1 + x562 c12 8 c57 1 + x563 c12 8 c58 1 + x564 c12 6 c59 1 + x565 c12 6 c60 1 + x566 c12 6 c61 1 + x567 c12 6 c62 1 + x568 c12 4 c63 1 + x569 c12 6 c64 1 + x570 c13 6 c17 1 + x571 c13 6 c18 1 + x572 c13 4 c19 1 + x573 c13 4 c20 1 + x574 c13 6 c21 1 + x575 c13 6 c22 1 + x576 c13 6 c23 1 + x577 c13 6 c24 1 + x578 c13 6 c25 1 + x579 c13 6 c26 1 + x580 c13 6 c27 1 + x581 c13 6 c28 1 + x582 c13 8 c29 1 + x583 c13 8 c30 1 + x584 c13 8 c31 1 + x585 c13 6 c32 1 + x586 c13 6 c33 1 + x587 c13 6 c34 1 + x588 c13 4 c35 1 + x589 c13 2 c36 1 + x590 c13 4 c37 1 + x591 c13 4 c38 1 + x592 c13 4 c39 1 + x593 c13 2 c40 1 + x594 c13 1 c41 1 + x595 c13 1 c42 1 + x596 c13 4 c43 1 + x597 c13 4 c44 1 + x598 c13 4 c45 1 + x599 c13 4 c46 1 + x600 c13 4 c47 1 + x601 c13 6 c48 1 + x602 c13 6 c49 1 + x603 c13 6 c50 1 + x604 c13 6 c51 1 + x605 c13 6 c52 1 + x606 c13 6 c53 1 + x607 c13 6 c54 1 + x608 c13 4 c55 1 + x609 c13 2 c56 1 + x610 c13 2 c58 1 + x611 c13 4 c59 1 + x612 c13 4 c60 1 + x613 c13 4 c61 1 + x614 c13 4 c62 1 + x615 c13 4 c63 1 + x616 c13 4 c64 1 + x617 c14 8 c17 1 + x618 c14 8 c18 1 + x619 c14 8 c19 1 + x620 c14 6 c20 1 + x621 c14 6 c21 1 + x622 c14 6 c22 1 + x623 c14 8 c23 1 + x624 c14 6 c24 1 + x625 c14 6 c25 1 + x626 c14 4 c26 1 + x627 c14 4 c27 1 + x628 c14 4 c28 1 + x629 c14 4 c29 1 + x630 c14 2 c30 1 + x631 c14 6 c31 1 + x632 c14 6 c32 1 + x633 c14 8 c33 1 + x634 c14 8 c34 1 + x635 c14 8 c35 1 + x636 c14 6 c36 1 + x637 c14 6 c37 1 + x638 c14 6 c38 1 + x639 c14 6 c39 1 + x640 c14 6 c40 1 + x641 c14 6 c41 1 + x642 c14 8 c42 1 + x643 c14 8 c43 1 + x644 c14 8 c44 1 + x645 c14 8 c45 1 + x646 c14 8 c46 1 + x647 c14 8 c47 1 + x648 c14 6 c48 1 + x649 c14 6 c49 1 + x650 c14 6 c50 1 + x651 c14 6 c51 1 + x652 c14 2 c52 1 + x653 c14 4 c53 1 + x654 c14 4 c54 1 + x655 c14 4 c55 1 + x656 c14 2 c56 1 + x657 c14 4 c57 1 + x658 c14 6 c58 1 + x659 c14 8 c59 1 + x660 c14 6 c60 1 + x661 c14 6 c61 1 + x662 c14 6 c62 1 + x663 c14 6 c63 1 + x664 c14 6 c64 1 + x665 c15 8 c17 1 + x666 c15 8 c18 1 + x667 c15 8 c19 1 + x668 c15 8 c20 1 + x669 c15 8 c21 1 + x670 c15 8 c22 1 + x671 c15 8 c23 1 + x672 c15 8 c24 1 + x673 c15 8 c25 1 + x674 c15 8 c26 1 + x675 c15 8 c27 1 + x676 c15 8 c28 1 + x677 c15 8 c29 1 + x678 c15 6 c30 1 + x679 c15 6 c31 1 + x680 c15 6 c32 1 + x681 c15 6 c33 1 + x682 c15 8 c34 1 + x683 c15 8 c35 1 + x684 c15 6 c36 1 + x685 c15 6 c37 1 + x686 c15 4 c38 1 + x687 c15 2 c40 1 + x688 c15 4 c41 1 + x689 c15 4 c42 1 + x690 c15 2 c43 1 + x691 c15 2 c44 1 + x692 c15 4 c45 1 + x693 c15 4 c46 1 + x694 c15 4 c47 1 + x695 c15 4 c48 1 + x696 c15 2 c49 1 + x697 c15 2 c50 1 + x698 c15 4 c51 1 + x699 c15 6 c52 1 + x700 c15 6 c53 1 + x701 c15 8 c54 1 + x702 c15 6 c55 1 + x703 c15 6 c56 1 + x704 c15 4 c57 1 + x705 c15 2 c58 1 + x706 c15 2 c59 1 + x707 c15 4 c60 1 + x708 c15 6 c61 1 + x709 c15 6 c62 1 + x710 c15 6 c63 1 + x711 c15 6 c64 1 + x712 c16 8 c17 1 + x713 c16 8 c18 1 + x714 c16 8 c19 1 + x715 c16 8 c20 1 + x716 c16 6 c21 1 + x717 c16 4 c22 1 + x718 c16 6 c23 1 + x719 c16 8 c24 1 + x720 c16 8 c25 1 + x721 c16 8 c26 1 + x722 c16 8 c27 1 + x723 c16 8 c28 1 + x724 c16 8 c29 1 + x725 c16 8 c30 1 + x726 c16 8 c31 1 + x727 c16 8 c32 1 + x728 c16 8 c33 1 + x729 c16 8 c34 1 + x730 c16 8 c35 1 + x731 c16 8 c36 1 + x732 c16 6 c37 1 + x733 c16 6 c38 1 + x734 c16 4 c39 1 + x735 c16 4 c40 1 + x736 c16 6 c41 1 + x737 c16 6 c42 1 + x738 c16 6 c43 1 + x739 c16 6 c44 1 + x740 c16 6 c45 1 + x741 c16 8 c46 1 + x742 c16 8 c47 1 + x743 c16 8 c48 1 + x744 c16 8 c49 1 + x745 c16 8 c50 1 + x746 c16 8 c51 1 + x747 c16 8 c52 1 + x748 c16 6 c53 1 + x749 c16 6 c54 1 + x750 c16 2 c55 1 + x751 c16 6 c56 1 + x752 c16 8 c57 1 + x753 c16 8 c58 1 + x754 c16 8 c59 1 + x755 c16 8 c60 1 + x756 c16 8 c61 1 + x757 c16 8 c62 1 + x758 c16 6 c63 1 + x759 c16 8 c64 1 + x760 c17 1 + x761 c26 1 + x762 c27 1 + x763 c28 1 + x764 c29 1 + x765 c33 1 + x766 c39 1 + x767 c39 1 + x768 c44 1 + x769 c57 1 + MARK0001 'MARKER' 'INTEND' +RHS + rhs c17 1 c18 1 + rhs c19 1 c20 1 + rhs c21 1 c22 1 + rhs c23 1 c24 1 + rhs c25 1 c26 1 + rhs c27 1 c28 1 + rhs c29 1 c30 1 + rhs c31 1 c32 1 + rhs c33 1 c34 1 + rhs c35 1 c36 1 + rhs c37 1 c38 1 + rhs c39 1 c40 1 + rhs c41 1 c42 1 + rhs c43 1 c44 1 + rhs c45 1 c46 1 + rhs c47 1 c48 1 + rhs c49 1 c50 1 + rhs c51 1 c52 1 + rhs c53 1 c54 1 + rhs c55 1 c56 1 + rhs c57 1 c58 1 + rhs c59 1 c60 1 + rhs c61 1 c62 1 + rhs c63 1 c64 1 +BOUNDS + UP bnd x1 384 + UP bnd x2 1 + UP bnd x3 1 + UP bnd x4 1 + UP bnd x5 1 + UP bnd x6 1 + UP bnd x7 1 + UP bnd x8 1 + UP bnd x9 1 + UP bnd x10 1 + UP bnd x11 1 + UP bnd x12 1 + UP bnd x13 1 + UP bnd x14 1 + UP bnd x15 1 + UP bnd x16 1 + UP bnd x17 1 + UP bnd x18 1 + UP bnd x19 1 + UP bnd x20 1 + UP bnd x21 1 + UP bnd x22 1 + UP bnd x23 1 + UP bnd x24 1 + UP bnd x25 1 + UP bnd x26 1 + UP bnd x27 1 + UP bnd x28 1 + UP bnd x29 1 + UP bnd x30 1 + UP bnd x31 1 + UP bnd x32 1 + UP bnd x33 1 + UP bnd x34 1 + UP bnd x35 1 + UP bnd x36 1 + UP bnd x37 1 + UP bnd x38 1 + UP bnd x39 1 + UP bnd x40 1 + UP bnd x41 1 + UP bnd x42 1 + UP bnd x43 1 + UP bnd x44 1 + UP bnd x45 1 + UP bnd x46 1 + UP bnd x47 1 + UP bnd x48 1 + UP bnd x49 1 + UP bnd x50 1 + UP bnd x51 1 + UP bnd x52 1 + UP bnd x53 1 + UP bnd x54 1 + UP bnd x55 1 + UP bnd x56 1 + UP bnd x57 1 + UP bnd x58 1 + UP bnd x59 1 + UP bnd x60 1 + UP bnd x61 1 + UP bnd x62 1 + UP bnd x63 1 + UP bnd x64 1 + UP bnd x65 1 + UP bnd x66 1 + UP bnd x67 1 + UP bnd x68 1 + UP bnd x69 1 + UP bnd x70 1 + UP bnd x71 1 + UP bnd x72 1 + UP bnd x73 1 + UP bnd x74 1 + UP bnd x75 1 + UP bnd x76 1 + UP bnd x77 1 + UP bnd x78 1 + UP bnd x79 1 + UP bnd x80 1 + UP bnd x81 1 + UP bnd x82 1 + UP bnd x83 1 + UP bnd x84 1 + UP bnd x85 1 + UP bnd x86 1 + UP bnd x87 1 + UP bnd x88 1 + UP bnd x89 1 + UP bnd x90 1 + UP bnd x91 1 + UP bnd x92 1 + UP bnd x93 1 + UP bnd x94 1 + UP bnd x95 1 + UP bnd x96 1 + UP bnd x97 1 + UP bnd x98 1 + UP bnd x99 1 + UP bnd x100 1 + UP bnd x101 1 + UP bnd x102 1 + UP bnd x103 1 + UP bnd x104 1 + UP bnd x105 1 + UP bnd x106 1 + UP bnd x107 1 + UP bnd x108 1 + UP bnd x109 1 + UP bnd x110 1 + UP bnd x111 1 + UP bnd x112 1 + UP bnd x113 1 + UP bnd x114 1 + UP bnd x115 1 + UP bnd x116 1 + UP bnd x117 1 + UP bnd x118 1 + UP bnd x119 1 + UP bnd x120 1 + UP bnd x121 1 + UP bnd x122 1 + UP bnd x123 1 + UP bnd x124 1 + UP bnd x125 1 + UP bnd x126 1 + UP bnd x127 1 + UP bnd x128 1 + UP bnd x129 1 + UP bnd x130 1 + UP bnd x131 1 + UP bnd x132 1 + UP bnd x133 1 + UP bnd x134 1 + UP bnd x135 1 + UP bnd x136 1 + UP bnd x137 1 + UP bnd x138 1 + UP bnd x139 1 + UP bnd x140 1 + UP bnd x141 1 + UP bnd x142 1 + UP bnd x143 1 + UP bnd x144 1 + UP bnd x145 1 + UP bnd x146 1 + UP bnd x147 1 + UP bnd x148 1 + UP bnd x149 1 + UP bnd x150 1 + UP bnd x151 1 + UP bnd x152 1 + UP bnd x153 1 + UP bnd x154 1 + UP bnd x155 1 + UP bnd x156 1 + UP bnd x157 1 + UP bnd x158 1 + UP bnd x159 1 + UP bnd x160 1 + UP bnd x161 1 + UP bnd x162 1 + UP bnd x163 1 + UP bnd x164 1 + UP bnd x165 1 + UP bnd x166 1 + UP bnd x167 1 + UP bnd x168 1 + UP bnd x169 1 + UP bnd x170 1 + UP bnd x171 1 + UP bnd x172 1 + UP bnd x173 1 + UP bnd x174 1 + UP bnd x175 1 + UP bnd x176 1 + UP bnd x177 1 + UP bnd x178 1 + UP bnd x179 1 + UP bnd x180 1 + UP bnd x181 1 + UP bnd x182 1 + UP bnd x183 1 + UP bnd x184 1 + UP bnd x185 1 + UP bnd x186 1 + UP bnd x187 1 + UP bnd x188 1 + UP bnd x189 1 + UP bnd x190 1 + UP bnd x191 1 + UP bnd x192 1 + UP bnd x193 1 + UP bnd x194 1 + UP bnd x195 1 + UP bnd x196 1 + UP bnd x197 1 + UP bnd x198 1 + UP bnd x199 1 + UP bnd x200 1 + UP bnd x201 1 + UP bnd x202 1 + UP bnd x203 1 + UP bnd x204 1 + UP bnd x205 1 + UP bnd x206 1 + UP bnd x207 1 + UP bnd x208 1 + UP bnd x209 1 + UP bnd x210 1 + UP bnd x211 1 + UP bnd x212 1 + UP bnd x213 1 + UP bnd x214 1 + UP bnd x215 1 + UP bnd x216 1 + UP bnd x217 1 + UP bnd x218 1 + UP bnd x219 1 + UP bnd x220 1 + UP bnd x221 1 + UP bnd x222 1 + UP bnd x223 1 + UP bnd x224 1 + UP bnd x225 1 + UP bnd x226 1 + UP bnd x227 1 + UP bnd x228 1 + UP bnd x229 1 + UP bnd x230 1 + UP bnd x231 1 + UP bnd x232 1 + UP bnd x233 1 + UP bnd x234 1 + UP bnd x235 1 + UP bnd x236 1 + UP bnd x237 1 + UP bnd x238 1 + UP bnd x239 1 + UP bnd x240 1 + UP bnd x241 1 + UP bnd x242 1 + UP bnd x243 1 + UP bnd x244 1 + UP bnd x245 1 + UP bnd x246 1 + UP bnd x247 1 + UP bnd x248 1 + UP bnd x249 1 + UP bnd x250 1 + UP bnd x251 1 + UP bnd x252 1 + UP bnd x253 1 + UP bnd x254 1 + UP bnd x255 1 + UP bnd x256 1 + UP bnd x257 1 + UP bnd x258 1 + UP bnd x259 1 + UP bnd x260 1 + UP bnd x261 1 + UP bnd x262 1 + UP bnd x263 1 + UP bnd x264 1 + UP bnd x265 1 + UP bnd x266 1 + UP bnd x267 1 + UP bnd x268 1 + UP bnd x269 1 + UP bnd x270 1 + UP bnd x271 1 + UP bnd x272 1 + UP bnd x273 1 + UP bnd x274 1 + UP bnd x275 1 + UP bnd x276 1 + UP bnd x277 1 + UP bnd x278 1 + UP bnd x279 1 + UP bnd x280 1 + UP bnd x281 1 + UP bnd x282 1 + UP bnd x283 1 + UP bnd x284 1 + UP bnd x285 1 + UP bnd x286 1 + UP bnd x287 1 + UP bnd x288 1 + UP bnd x289 1 + UP bnd x290 1 + UP bnd x291 1 + UP bnd x292 1 + UP bnd x293 1 + UP bnd x294 1 + UP bnd x295 1 + UP bnd x296 1 + UP bnd x297 1 + UP bnd x298 1 + UP bnd x299 1 + UP bnd x300 1 + UP bnd x301 1 + UP bnd x302 1 + UP bnd x303 1 + UP bnd x304 1 + UP bnd x305 1 + UP bnd x306 1 + UP bnd x307 1 + UP bnd x308 1 + UP bnd x309 1 + UP bnd x310 1 + UP bnd x311 1 + UP bnd x312 1 + UP bnd x313 1 + UP bnd x314 1 + UP bnd x315 1 + UP bnd x316 1 + UP bnd x317 1 + UP bnd x318 1 + UP bnd x319 1 + UP bnd x320 1 + UP bnd x321 1 + UP bnd x322 1 + UP bnd x323 1 + UP bnd x324 1 + UP bnd x325 1 + UP bnd x326 1 + UP bnd x327 1 + UP bnd x328 1 + UP bnd x329 1 + UP bnd x330 1 + UP bnd x331 1 + UP bnd x332 1 + UP bnd x333 1 + UP bnd x334 1 + UP bnd x335 1 + UP bnd x336 1 + UP bnd x337 1 + UP bnd x338 1 + UP bnd x339 1 + UP bnd x340 1 + UP bnd x341 1 + UP bnd x342 1 + UP bnd x343 1 + UP bnd x344 1 + UP bnd x345 1 + UP bnd x346 1 + UP bnd x347 1 + UP bnd x348 1 + UP bnd x349 1 + UP bnd x350 1 + UP bnd x351 1 + UP bnd x352 1 + UP bnd x353 1 + UP bnd x354 1 + UP bnd x355 1 + UP bnd x356 1 + UP bnd x357 1 + UP bnd x358 1 + UP bnd x359 1 + UP bnd x360 1 + UP bnd x361 1 + UP bnd x362 1 + UP bnd x363 1 + UP bnd x364 1 + UP bnd x365 1 + UP bnd x366 1 + UP bnd x367 1 + UP bnd x368 1 + UP bnd x369 1 + UP bnd x370 1 + UP bnd x371 1 + UP bnd x372 1 + UP bnd x373 1 + UP bnd x374 1 + UP bnd x375 1 + UP bnd x376 1 + UP bnd x377 1 + UP bnd x378 1 + UP bnd x379 1 + UP bnd x380 1 + UP bnd x381 1 + UP bnd x382 1 + UP bnd x383 1 + UP bnd x384 1 + UP bnd x385 1 + UP bnd x386 1 + UP bnd x387 1 + UP bnd x388 1 + UP bnd x389 1 + UP bnd x390 1 + UP bnd x391 1 + UP bnd x392 1 + UP bnd x393 1 + UP bnd x394 1 + UP bnd x395 1 + UP bnd x396 1 + UP bnd x397 1 + UP bnd x398 1 + UP bnd x399 1 + UP bnd x400 1 + UP bnd x401 1 + UP bnd x402 1 + UP bnd x403 1 + UP bnd x404 1 + UP bnd x405 1 + UP bnd x406 1 + UP bnd x407 1 + UP bnd x408 1 + UP bnd x409 1 + UP bnd x410 1 + UP bnd x411 1 + UP bnd x412 1 + UP bnd x413 1 + UP bnd x414 1 + UP bnd x415 1 + UP bnd x416 1 + UP bnd x417 1 + UP bnd x418 1 + UP bnd x419 1 + UP bnd x420 1 + UP bnd x421 1 + UP bnd x422 1 + UP bnd x423 1 + UP bnd x424 1 + UP bnd x425 1 + UP bnd x426 1 + UP bnd x427 1 + UP bnd x428 1 + UP bnd x429 1 + UP bnd x430 1 + UP bnd x431 1 + UP bnd x432 1 + UP bnd x433 1 + UP bnd x434 1 + UP bnd x435 1 + UP bnd x436 1 + UP bnd x437 1 + UP bnd x438 1 + UP bnd x439 1 + UP bnd x440 1 + UP bnd x441 1 + UP bnd x442 1 + UP bnd x443 1 + UP bnd x444 1 + UP bnd x445 1 + UP bnd x446 1 + UP bnd x447 1 + UP bnd x448 1 + UP bnd x449 1 + UP bnd x450 1 + UP bnd x451 1 + UP bnd x452 1 + UP bnd x453 1 + UP bnd x454 1 + UP bnd x455 1 + UP bnd x456 1 + UP bnd x457 1 + UP bnd x458 1 + UP bnd x459 1 + UP bnd x460 1 + UP bnd x461 1 + UP bnd x462 1 + UP bnd x463 1 + UP bnd x464 1 + UP bnd x465 1 + UP bnd x466 1 + UP bnd x467 1 + UP bnd x468 1 + UP bnd x469 1 + UP bnd x470 1 + UP bnd x471 1 + UP bnd x472 1 + UP bnd x473 1 + UP bnd x474 1 + UP bnd x475 1 + UP bnd x476 1 + UP bnd x477 1 + UP bnd x478 1 + UP bnd x479 1 + UP bnd x480 1 + UP bnd x481 1 + UP bnd x482 1 + UP bnd x483 1 + UP bnd x484 1 + UP bnd x485 1 + UP bnd x486 1 + UP bnd x487 1 + UP bnd x488 1 + UP bnd x489 1 + UP bnd x490 1 + UP bnd x491 1 + UP bnd x492 1 + UP bnd x493 1 + UP bnd x494 1 + UP bnd x495 1 + UP bnd x496 1 + UP bnd x497 1 + UP bnd x498 1 + UP bnd x499 1 + UP bnd x500 1 + UP bnd x501 1 + UP bnd x502 1 + UP bnd x503 1 + UP bnd x504 1 + UP bnd x505 1 + UP bnd x506 1 + UP bnd x507 1 + UP bnd x508 1 + UP bnd x509 1 + UP bnd x510 1 + UP bnd x511 1 + UP bnd x512 1 + UP bnd x513 1 + UP bnd x514 1 + UP bnd x515 1 + UP bnd x516 1 + UP bnd x517 1 + UP bnd x518 1 + UP bnd x519 1 + UP bnd x520 1 + UP bnd x521 1 + UP bnd x522 1 + UP bnd x523 1 + UP bnd x524 1 + UP bnd x525 1 + UP bnd x526 1 + UP bnd x527 1 + UP bnd x528 1 + UP bnd x529 1 + UP bnd x530 1 + UP bnd x531 1 + UP bnd x532 1 + UP bnd x533 1 + UP bnd x534 1 + UP bnd x535 1 + UP bnd x536 1 + UP bnd x537 1 + UP bnd x538 1 + UP bnd x539 1 + UP bnd x540 1 + UP bnd x541 1 + UP bnd x542 1 + UP bnd x543 1 + UP bnd x544 1 + UP bnd x545 1 + UP bnd x546 1 + UP bnd x547 1 + UP bnd x548 1 + UP bnd x549 1 + UP bnd x550 1 + UP bnd x551 1 + UP bnd x552 1 + UP bnd x553 1 + UP bnd x554 1 + UP bnd x555 1 + UP bnd x556 1 + UP bnd x557 1 + UP bnd x558 1 + UP bnd x559 1 + UP bnd x560 1 + UP bnd x561 1 + UP bnd x562 1 + UP bnd x563 1 + UP bnd x564 1 + UP bnd x565 1 + UP bnd x566 1 + UP bnd x567 1 + UP bnd x568 1 + UP bnd x569 1 + UP bnd x570 1 + UP bnd x571 1 + UP bnd x572 1 + UP bnd x573 1 + UP bnd x574 1 + UP bnd x575 1 + UP bnd x576 1 + UP bnd x577 1 + UP bnd x578 1 + UP bnd x579 1 + UP bnd x580 1 + UP bnd x581 1 + UP bnd x582 1 + UP bnd x583 1 + UP bnd x584 1 + UP bnd x585 1 + UP bnd x586 1 + UP bnd x587 1 + UP bnd x588 1 + UP bnd x589 1 + UP bnd x590 1 + UP bnd x591 1 + UP bnd x592 1 + UP bnd x593 1 + UP bnd x594 1 + UP bnd x595 1 + UP bnd x596 1 + UP bnd x597 1 + UP bnd x598 1 + UP bnd x599 1 + UP bnd x600 1 + UP bnd x601 1 + UP bnd x602 1 + UP bnd x603 1 + UP bnd x604 1 + UP bnd x605 1 + UP bnd x606 1 + UP bnd x607 1 + UP bnd x608 1 + UP bnd x609 1 + UP bnd x610 1 + UP bnd x611 1 + UP bnd x612 1 + UP bnd x613 1 + UP bnd x614 1 + UP bnd x615 1 + UP bnd x616 1 + UP bnd x617 1 + UP bnd x618 1 + UP bnd x619 1 + UP bnd x620 1 + UP bnd x621 1 + UP bnd x622 1 + UP bnd x623 1 + UP bnd x624 1 + UP bnd x625 1 + UP bnd x626 1 + UP bnd x627 1 + UP bnd x628 1 + UP bnd x629 1 + UP bnd x630 1 + UP bnd x631 1 + UP bnd x632 1 + UP bnd x633 1 + UP bnd x634 1 + UP bnd x635 1 + UP bnd x636 1 + UP bnd x637 1 + UP bnd x638 1 + UP bnd x639 1 + UP bnd x640 1 + UP bnd x641 1 + UP bnd x642 1 + UP bnd x643 1 + UP bnd x644 1 + UP bnd x645 1 + UP bnd x646 1 + UP bnd x647 1 + UP bnd x648 1 + UP bnd x649 1 + UP bnd x650 1 + UP bnd x651 1 + UP bnd x652 1 + UP bnd x653 1 + UP bnd x654 1 + UP bnd x655 1 + UP bnd x656 1 + UP bnd x657 1 + UP bnd x658 1 + UP bnd x659 1 + UP bnd x660 1 + UP bnd x661 1 + UP bnd x662 1 + UP bnd x663 1 + UP bnd x664 1 + UP bnd x665 1 + UP bnd x666 1 + UP bnd x667 1 + UP bnd x668 1 + UP bnd x669 1 + UP bnd x670 1 + UP bnd x671 1 + UP bnd x672 1 + UP bnd x673 1 + UP bnd x674 1 + UP bnd x675 1 + UP bnd x676 1 + UP bnd x677 1 + UP bnd x678 1 + UP bnd x679 1 + UP bnd x680 1 + UP bnd x681 1 + UP bnd x682 1 + UP bnd x683 1 + UP bnd x684 1 + UP bnd x685 1 + UP bnd x686 1 + UP bnd x687 1 + UP bnd x688 1 + UP bnd x689 1 + UP bnd x690 1 + UP bnd x691 1 + UP bnd x692 1 + UP bnd x693 1 + UP bnd x694 1 + UP bnd x695 1 + UP bnd x696 1 + UP bnd x697 1 + UP bnd x698 1 + UP bnd x699 1 + UP bnd x700 1 + UP bnd x701 1 + UP bnd x702 1 + UP bnd x703 1 + UP bnd x704 1 + UP bnd x705 1 + UP bnd x706 1 + UP bnd x707 1 + UP bnd x708 1 + UP bnd x709 1 + UP bnd x710 1 + UP bnd x711 1 + UP bnd x712 1 + UP bnd x713 1 + UP bnd x714 1 + UP bnd x715 1 + UP bnd x716 1 + UP bnd x717 1 + UP bnd x718 1 + UP bnd x719 1 + UP bnd x720 1 + UP bnd x721 1 + UP bnd x722 1 + UP bnd x723 1 + UP bnd x724 1 + UP bnd x725 1 + UP bnd x726 1 + UP bnd x727 1 + UP bnd x728 1 + UP bnd x729 1 + UP bnd x730 1 + UP bnd x731 1 + UP bnd x732 1 + UP bnd x733 1 + UP bnd x734 1 + UP bnd x735 1 + UP bnd x736 1 + UP bnd x737 1 + UP bnd x738 1 + UP bnd x739 1 + UP bnd x740 1 + UP bnd x741 1 + UP bnd x742 1 + UP bnd x743 1 + UP bnd x744 1 + UP bnd x745 1 + UP bnd x746 1 + UP bnd x747 1 + UP bnd x748 1 + UP bnd x749 1 + UP bnd x750 1 + UP bnd x751 1 + UP bnd x752 1 + UP bnd x753 1 + UP bnd x754 1 + UP bnd x755 1 + UP bnd x756 1 + UP bnd x757 1 + UP bnd x758 1 + UP bnd x759 1 + UP bnd x760 1 + UP bnd x761 1 + UP bnd x762 1 + UP bnd x763 1 + UP bnd x764 1 + UP bnd x765 1 + UP bnd x766 1 + UP bnd x767 1 + UP bnd x768 1 + UP bnd x769 1 +ENDATA diff --git a/demos/ppl_lpsol/examples/p0033.mps b/demos/ppl_lpsol/examples/p0033.mps new file mode 100644 index 000000000..7237e2594 --- /dev/null +++ b/demos/ppl_lpsol/examples/p0033.mps @@ -0,0 +1,152 @@ +*NAME: p0033 +*ROWS: 16 +*COLUMNS: 33 +*INTEGER: 33 +*NONZERO: 98 +*BEST SOLN: 3089 (opt) +*LP SOLN: 2520.57 +*SOURCE: Crowder-Johnson-Padberg test set +* +* E. Andrew Boyd (Rice University) +*APPLICATION: unknown +*COMMENTS: pure 0/1 IP +* 5 SOS constraints +* +NAME P0033 +ROWS + N R100 + L R114 + L R115 + L R116 + L R117 + L R118 + L R119 + L R120 + L R121 + L R122 + L R123 + L R124 + L R125 + L R126 + L R127 + L R128 + L ZBESTROW +COLUMNS + MARK0000 'MARKER' 'INTORG' + C157 R100 171 R114 1 + C157 R122 -300 R123 -300 + C158 R100 171 R114 1 + C158 R126 -300 R127 -300 + C159 R100 171 R114 1 + C159 R119 300 R120 -300 + C159 R123 -300 + C160 R100 171 R114 1 + C160 R119 300 R120 -300 + C160 R121 -300 + C161 R100 163 R115 1 + C161 R119 285 R120 -285 + C161 R124 -285 R125 -285 + C162 R100 162 R115 1 + C162 R119 285 R120 -285 + C162 R122 -285 R123 -285 + C163 R100 163 R115 1 + C163 R128 -285 + C164 R100 69 R116 1 + C164 R119 265 R120 -265 + C164 R124 -265 R125 -265 + C165 R100 69 R116 1 + C165 R119 265 R120 -265 + C165 R122 -265 R123 -265 + C166 R100 183 R117 1 + C166 R118 -230 + C167 R100 183 R117 1 + C167 R124 -230 R125 -230 + C168 R100 183 R117 1 + C168 R119 230 R120 -230 + C168 R125 -230 + C169 R100 183 R117 1 + C169 R119 230 R120 -230 + C169 R123 -230 + C170 R100 49 R119 190 + C170 R120 -190 R122 -190 + C170 R123 -190 + C171 R100 183 R117 1 + C172 R100 258 R118 -200 + C173 R100 517 R118 -400 + C174 R100 250 R126 -200 + C174 R127 -200 + C175 R100 500 R126 -400 + C175 R127 -400 + C176 R100 250 R127 -200 + C177 R100 500 R127 -400 + C178 R100 159 R119 200 + C178 R120 -200 R124 -200 + C178 R125 -200 + C179 R100 318 R119 400 + C179 R120 -400 R124 -400 + C179 R125 -400 + C180 R100 159 R119 200 + C180 R120 -200 R125 -200 + C181 R100 318 R119 400 + C181 R120 -400 R125 -400 + C182 R100 159 R119 200 + C182 R120 -200 R122 -200 + C182 R123 -200 + C183 R100 318 R119 400 + C183 R120 -400 R122 -400 + C183 R123 -400 + C184 R100 159 R119 200 + C184 R120 -200 R123 -200 + C185 R100 318 R119 400 + C185 R120 -400 R123 -400 + C186 R100 114 R119 200 + C186 R120 -200 R121 -200 + C187 R100 228 R119 400 + C187 R120 -400 R121 -400 + C188 R100 159 R128 -200 + C189 R100 318 R128 -400 + MARK0001 'MARKER' 'INTEND' +RHS + RHS R114 1 R115 1 + RHS R116 1 R117 1 + RHS R118 -5 R119 2700 + RHS R120 -2600 R121 -100 + RHS R122 -900 R123 -1656 + RHS R124 -335 R125 -1026 + RHS R126 -5 R127 -500 + RHS R128 -270 +BOUNDS + UP ONE C157 1 + UP ONE C158 1 + UP ONE C159 1 + UP ONE C160 1 + UP ONE C161 1 + UP ONE C162 1 + UP ONE C163 1 + UP ONE C164 1 + UP ONE C165 1 + UP ONE C166 1 + UP ONE C167 1 + UP ONE C168 1 + UP ONE C169 1 + UP ONE C170 1 + UP ONE C171 1 + UP ONE C172 1 + UP ONE C173 1 + UP ONE C174 1 + UP ONE C175 1 + UP ONE C176 1 + UP ONE C177 1 + UP ONE C178 1 + UP ONE C179 1 + UP ONE C180 1 + UP ONE C181 1 + UP ONE C182 1 + UP ONE C183 1 + UP ONE C184 1 + UP ONE C185 1 + UP ONE C186 1 + UP ONE C187 1 + UP ONE C188 1 + UP ONE C189 1 +ENDATA diff --git a/demos/ppl_lpsol/examples/pk1.mps b/demos/ppl_lpsol/examples/pk1.mps new file mode 100644 index 000000000..283ea7251 --- /dev/null +++ b/demos/ppl_lpsol/examples/pk1.mps @@ -0,0 +1,603 @@ +NAME pk1 +ROWS + N obj + E c1 + E c2 + E c3 + E c4 + E c5 + E c6 + E c7 + E c8 + E c9 + E c10 + E c11 + E c12 + E c13 + E c14 + E c15 + G c16 + G c17 + G c18 + G c19 + G c20 + G c21 + G c22 + G c23 + G c24 + G c25 + G c26 + G c27 + G c28 + G c29 + G c30 + G c31 + G c32 + G c33 + G c34 + G c35 + G c36 + G c37 + G c38 + G c39 + G c40 + G c41 + G c42 + G c43 + G c44 + G c45 +COLUMNS + x1 obj 1 c16 1 + x1 c17 1 c18 1 + x1 c19 1 c20 1 + x1 c21 1 c22 1 + x1 c23 1 c24 1 + x1 c25 1 c26 1 + x1 c27 1 c28 1 + x1 c29 1 c30 1 + x1 c31 1 c32 1 + x1 c33 1 c34 1 + x1 c35 1 c36 1 + x1 c37 1 c38 1 + x1 c39 1 c40 1 + x1 c41 1 c42 1 + x1 c43 1 c44 1 + x1 c45 1 + MARK0000 'MARKER' 'INTORG' + x2 c1 14 c2 53 + x2 c3 48 c4 33 + x2 c5 15 c6 43 + x2 c7 8 c8 38 + x2 c9 34 c10 37 + x2 c11 25 c12 42 + x2 c13 16 c14 10 + x2 c15 28 + x3 c1 36 c2 48 + x3 c3 34 c4 34 + x3 c5 9 c6 28 + x3 c7 30 c8 42 + x3 c9 13 c10 42 + x3 c11 47 c12 33 + x3 c13 6 c14 51 + x3 c15 47 + x4 c1 11 c2 48 + x4 c3 8 c4 36 + x4 c5 24 c6 30 + x4 c7 18 c8 24 + x4 c9 39 c10 23 + x4 c11 25 c12 45 + x4 c13 47 c14 33 + x4 c15 16 + x5 c1 27 c2 12 + x5 c3 5 c4 34 + x5 c5 43 c6 30 + x5 c7 16 c8 46 + x5 c9 19 c10 41 + x5 c11 29 c12 6 + x5 c13 30 c14 23 + x5 c15 32 + x6 c1 49 c2 43 + x6 c3 49 c4 19 + x6 c5 53 c6 10 + x6 c7 18 c8 20 + x6 c9 51 c10 33 + x6 c11 44 c12 33 + x6 c13 45 c14 31 + x6 c15 28 + x7 c1 26 c2 42 + x7 c3 21 c4 19 + x7 c5 54 c6 26 + x7 c7 21 c8 11 + x7 c9 13 c10 14 + x7 c11 22 c12 6 + x7 c13 37 c14 34 + x7 c15 16 + x8 c1 37 c2 14 + x8 c3 38 c4 30 + x8 c5 29 c6 32 + x8 c7 24 c8 32 + x8 c9 22 c10 40 + x8 c11 10 c12 24 + x8 c13 16 c14 32 + x8 c15 32 + x9 c1 45 c2 48 + x9 c3 11 c4 48 + x9 c5 24 c6 54 + x9 c7 46 c8 52 + x9 c9 20 c10 53 + x9 c11 21 c12 54 + x9 c13 19 c14 23 + x9 c15 15 + x10 c1 21 c2 16 + x10 c3 26 c4 32 + x10 c5 11 c6 26 + x10 c7 47 c8 24 + x10 c9 24 c10 14 + x10 c11 5 c12 9 + x10 c13 5 c14 38 + x10 c15 11 + x11 c1 6 c2 23 + x11 c3 12 c4 30 + x11 c5 47 c6 52 + x11 c7 6 c8 31 + x11 c9 45 c10 23 + x11 c11 10 c12 12 + x11 c13 44 c14 32 + x11 c15 8 + x12 c1 48 c2 25 + x12 c3 30 c4 26 + x12 c5 24 c6 34 + x12 c7 48 c8 45 + x12 c9 30 c10 37 + x12 c11 35 c12 48 + x12 c13 45 c14 40 + x12 c15 21 + x13 c1 38 c2 36 + x13 c3 18 c4 39 + x13 c5 34 c6 24 + x13 c7 27 c8 50 + x13 c9 51 c10 9 + x13 c11 17 c12 51 + x13 c13 53 c14 30 + x13 c15 33 + x14 c1 37 c2 54 + x14 c3 23 c4 47 + x14 c5 29 c6 21 + x14 c7 10 c8 47 + x14 c9 24 c10 14 + x14 c11 20 c12 16 + x14 c13 22 c14 14 + x14 c15 15 + x15 c1 10 c2 34 + x15 c3 8 c4 37 + x15 c5 49 c6 39 + x15 c7 26 c8 6 + x15 c9 17 c10 38 + x15 c11 33 c12 48 + x15 c13 40 c14 19 + x15 c15 54 + x16 c1 16 c2 45 + x16 c3 55 c4 52 + x16 c5 50 c6 41 + x16 c7 6 c8 15 + x16 c9 23 c10 19 + x16 c11 27 c12 8 + x16 c13 47 c14 37 + x16 c15 22 + x17 c1 35 c2 51 + x17 c3 46 c4 33 + x17 c5 39 c6 47 + x17 c7 36 c8 53 + x17 c9 22 c10 24 + x17 c11 39 c12 21 + x17 c13 55 c14 48 + x17 c15 55 + x18 c1 17 c2 45 + x18 c3 5 c4 5 + x18 c5 50 c6 36 + x18 c7 52 c8 20 + x18 c9 29 c10 29 + x18 c11 50 c12 54 + x18 c13 43 c14 36 + x18 c15 13 + x19 c1 7 c2 46 + x19 c3 10 c4 39 + x19 c5 36 c6 27 + x19 c7 14 c8 24 + x19 c9 36 c10 55 + x19 c11 17 c12 46 + x19 c13 34 c14 33 + x19 c15 47 + x20 c1 46 c2 30 + x20 c3 50 c4 34 + x20 c5 32 c6 52 + x20 c7 29 c8 31 + x20 c9 14 c10 29 + x20 c11 11 c12 39 + x20 c13 33 c14 27 + x20 c15 19 + x21 c1 26 c2 38 + x21 c3 52 c4 42 + x21 c5 42 c6 7 + x21 c7 43 c8 40 + x21 c9 33 c10 40 + x21 c11 25 c12 23 + x21 c13 6 c14 20 + x21 c15 33 + x22 c1 8 c2 52 + x22 c3 45 c4 30 + x22 c5 55 c6 6 + x22 c7 7 c8 54 + x22 c9 51 c10 52 + x22 c11 42 c12 11 + x22 c13 13 c14 14 + x22 c15 35 + x23 c1 40 c2 21 + x23 c3 42 c4 33 + x23 c5 21 c6 52 + x23 c7 8 c8 10 + x23 c9 17 c10 54 + x23 c11 50 c12 28 + x23 c13 15 c14 50 + x23 c15 15 + x24 c1 19 c2 9 + x24 c3 43 c4 19 + x24 c5 11 c6 13 + x24 c7 26 c8 40 + x24 c9 35 c10 16 + x24 c11 19 c12 27 + x24 c13 36 c14 54 + x24 c15 44 + x25 c1 33 c2 21 + x25 c3 19 c4 21 + x25 c5 24 c6 30 + x25 c7 31 c8 30 + x25 c9 31 c10 23 + x25 c11 40 c12 21 + x25 c13 41 c14 34 + x25 c15 55 + x26 c1 5 c2 15 + x26 c3 25 c4 38 + x26 c5 45 c6 32 + x26 c7 10 c8 50 + x26 c9 39 c10 8 + x26 c11 37 c12 30 + x26 c13 39 c14 50 + x26 c15 39 + x27 c1 42 c2 22 + x27 c3 8 c4 40 + x27 c5 10 c6 46 + x27 c7 6 c8 14 + x27 c9 12 c10 53 + x27 c11 38 c12 38 + x27 c13 50 c14 14 + x27 c15 28 + x28 c1 22 c2 12 + x28 c3 27 c4 9 + x28 c5 30 c6 41 + x28 c7 7 c8 44 + x28 c9 47 c10 23 + x28 c11 22 c12 52 + x28 c13 38 c14 54 + x28 c15 39 + x29 c1 14 c2 12 + x29 c3 5 c4 33 + x29 c5 42 c6 12 + x29 c7 12 c8 41 + x29 c9 9 c10 9 + x29 c11 20 c12 18 + x29 c13 18 c14 9 + x29 c15 23 + x30 c1 51 c2 19 + x30 c3 41 c4 48 + x30 c5 38 c6 44 + x30 c7 33 c8 42 + x30 c9 46 c10 52 + x30 c11 5 c12 43 + x30 c13 36 c14 37 + x30 c15 6 + x31 c1 49 c2 17 + x31 c3 39 c4 35 + x31 c5 51 c6 7 + x31 c7 42 c8 29 + x31 c9 46 c10 52 + x31 c11 16 c12 46 + x31 c13 6 c14 55 + x31 c15 20 + x32 c1 7 c2 38 + x32 c3 52 c4 42 + x32 c5 6 c6 12 + x32 c7 41 c8 8 + x32 c9 55 c10 37 + x32 c11 22 c12 42 + x32 c13 13 c14 55 + x32 c15 36 + x33 c1 10 c2 17 + x33 c3 33 c4 26 + x33 c5 48 c6 32 + x33 c7 37 c8 24 + x33 c9 25 c10 33 + x33 c11 25 c12 29 + x33 c13 47 c14 42 + x33 c15 29 + x34 c1 30 c2 9 + x34 c3 17 c4 13 + x34 c5 5 c6 30 + x34 c7 17 c8 16 + x34 c9 55 c10 39 + x34 c11 8 c12 23 + x34 c13 8 c14 51 + x34 c15 12 + x35 c1 14 c2 30 + x35 c3 5 c4 23 + x35 c5 25 c6 38 + x35 c7 55 c8 27 + x35 c9 38 c10 55 + x35 c11 43 c12 32 + x35 c13 5 c14 32 + x35 c15 48 + x36 c1 32 c2 24 + x36 c3 34 c4 55 + x36 c5 36 c6 6 + x36 c7 48 c8 15 + x36 c9 39 c10 18 + x36 c11 50 c12 31 + x36 c13 22 c14 10 + x36 c15 6 + x37 c1 24 c2 48 + x37 c3 11 c4 27 + x37 c5 53 c6 36 + x37 c7 31 c8 31 + x37 c9 51 c10 17 + x37 c11 47 c12 52 + x37 c13 48 c14 26 + x37 c15 35 + x38 c1 36 c2 16 + x38 c3 21 c4 37 + x38 c5 24 c6 8 + x38 c7 20 c8 34 + x38 c9 46 c10 14 + x38 c11 9 c12 33 + x38 c13 37 c14 11 + x38 c15 8 + x39 c1 14 c2 34 + x39 c3 16 c4 30 + x39 c5 10 c6 34 + x39 c7 17 c8 42 + x39 c9 6 c10 54 + x39 c11 5 c12 51 + x39 c13 34 c14 38 + x39 c15 33 + x40 c1 13 c2 41 + x40 c3 17 c4 20 + x40 c5 22 c6 34 + x40 c7 21 c8 28 + x40 c9 15 c10 14 + x40 c11 12 c12 50 + x40 c13 11 c14 45 + x40 c15 46 + x41 c1 52 c2 28 + x41 c3 42 c4 14 + x41 c5 31 c6 30 + x41 c7 11 c8 53 + x41 c9 15 c10 24 + x41 c11 10 c12 38 + x41 c13 38 c14 44 + x41 c15 15 + x42 c1 16 c2 52 + x42 c3 23 c4 5 + x42 c5 53 c6 31 + x42 c7 19 c8 17 + x42 c9 47 c10 21 + x42 c11 10 c12 7 + x42 c13 22 c14 14 + x42 c15 37 + x43 c1 5 c2 10 + x43 c3 43 c4 42 + x43 c5 41 c6 13 + x43 c7 13 c8 18 + x43 c9 40 c10 46 + x43 c11 42 c12 42 + x43 c13 52 c14 30 + x43 c15 11 + x44 c1 35 c2 8 + x44 c3 5 c4 49 + x44 c5 10 c6 49 + x44 c7 34 c8 48 + x44 c9 10 c10 28 + x44 c11 22 c12 34 + x44 c13 35 c14 19 + x44 c15 44 + x45 c1 48 c2 51 + x45 c3 42 c4 47 + x45 c5 26 c6 47 + x45 c7 24 c8 8 + x45 c9 15 c10 30 + x45 c11 25 c12 18 + x45 c13 39 c14 24 + x45 c15 48 + x46 c1 11 c2 40 + x46 c3 47 c4 24 + x46 c5 35 c6 48 + x46 c7 35 c8 19 + x46 c9 52 c10 29 + x46 c11 20 c12 35 + x46 c13 37 c14 44 + x46 c15 9 + x47 c1 47 c2 48 + x47 c3 55 c4 45 + x47 c5 55 c6 35 + x47 c7 35 c8 7 + x47 c9 29 c10 43 + x47 c11 45 c12 37 + x47 c13 27 c14 52 + x47 c15 11 + x48 c1 27 c2 46 + x48 c3 32 c4 25 + x48 c5 10 c6 39 + x48 c7 55 c8 6 + x48 c9 32 c10 50 + x48 c11 9 c12 35 + x48 c13 38 c14 16 + x48 c15 47 + x49 c1 24 c2 30 + x49 c3 47 c4 24 + x49 c5 29 c6 29 + x49 c7 31 c8 35 + x49 c9 26 c10 53 + x49 c11 15 c12 33 + x49 c13 24 c14 24 + x49 c15 18 + x50 c1 49 c2 38 + x50 c3 9 c4 28 + x50 c5 36 c6 6 + x50 c7 44 c8 27 + x50 c9 10 c10 43 + x50 c11 7 c12 28 + x50 c13 5 c14 29 + x50 c15 54 + x51 c1 17 c2 21 + x51 c3 26 c4 54 + x51 c5 37 c6 35 + x51 c7 29 c8 33 + x51 c9 42 c10 24 + x51 c11 15 c12 18 + x51 c13 16 c14 39 + x51 c15 10 + x52 c1 46 c2 12 + x52 c3 43 c4 11 + x52 c5 15 c6 32 + x52 c7 19 c8 20 + x52 c9 55 c10 38 + x52 c11 35 c12 52 + x52 c13 25 c14 39 + x52 c15 46 + x53 c1 53 c2 35 + x53 c3 50 c4 53 + x53 c5 36 c6 7 + x53 c7 46 c8 25 + x53 c9 6 c10 39 + x53 c11 44 c12 34 + x53 c13 14 c14 39 + x53 c15 34 + x54 c1 53 c2 38 + x54 c3 13 c4 32 + x54 c5 54 c6 32 + x54 c7 33 c8 39 + x54 c9 54 c10 22 + x54 c11 9 c12 42 + x54 c13 27 c14 33 + x54 c15 20 + x55 c1 10 c2 17 + x55 c3 30 c4 25 + x55 c5 22 c6 40 + x55 c7 41 c8 55 + x55 c9 34 c10 49 + x55 c11 50 c12 24 + x55 c13 6 c14 37 + x55 c15 35 + x56 c1 30 c2 52 + x56 c3 14 c4 19 + x56 c5 55 c6 33 + x56 c7 22 c8 51 + x56 c9 32 c10 7 + x56 c11 28 c12 51 + x56 c13 51 c14 17 + x56 c15 33 + MARK0001 'MARKER' 'INTEND' + x57 c1 1 c16 -1 + x58 c1 -1 c17 -1 + x59 c2 1 c18 -1 + x60 c2 -1 c19 -1 + x61 c3 1 c20 -1 + x62 c3 -1 c21 -1 + x63 c4 1 c22 -1 + x64 c4 -1 c23 -1 + x65 c5 1 c24 -1 + x66 c5 -1 c25 -1 + x67 c6 1 c26 -1 + x68 c6 -1 c27 -1 + x69 c7 1 c28 -1 + x70 c7 -1 c29 -1 + x71 c8 1 c30 -1 + x72 c8 -1 c31 -1 + x73 c9 1 c32 -1 + x74 c9 -1 c33 -1 + x75 c10 1 c34 -1 + x76 c10 -1 c35 -1 + x77 c11 1 c36 -1 + x78 c11 -1 c37 -1 + x79 c12 1 c38 -1 + x80 c12 -1 c39 -1 + x81 c13 1 c40 -1 + x82 c13 -1 c41 -1 + x83 c14 1 c42 -1 + x84 c14 -1 c43 -1 + x85 c15 1 c44 -1 + x86 c15 -1 c45 -1 +RHS + rhs c1 731 c2 731 + rhs c3 731 c4 731 + rhs c5 731 c6 731 + rhs c7 731 c8 731 + rhs c9 731 c10 731 + rhs c11 731 c12 731 + rhs c13 731 c14 731 + rhs c15 731 +BOUNDS + UP bnd x2 1 + UP bnd x3 1 + UP bnd x4 1 + UP bnd x5 1 + UP bnd x6 1 + UP bnd x7 1 + UP bnd x8 1 + UP bnd x9 1 + UP bnd x10 1 + UP bnd x11 1 + UP bnd x12 1 + UP bnd x13 1 + UP bnd x14 1 + UP bnd x15 1 + UP bnd x16 1 + UP bnd x17 1 + UP bnd x18 1 + UP bnd x19 1 + UP bnd x20 1 + UP bnd x21 1 + UP bnd x22 1 + UP bnd x23 1 + UP bnd x24 1 + UP bnd x25 1 + UP bnd x26 1 + UP bnd x27 1 + UP bnd x28 1 + UP bnd x29 1 + UP bnd x30 1 + UP bnd x31 1 + UP bnd x32 1 + UP bnd x33 1 + UP bnd x34 1 + UP bnd x35 1 + UP bnd x36 1 + UP bnd x37 1 + UP bnd x38 1 + UP bnd x39 1 + UP bnd x40 1 + UP bnd x41 1 + UP bnd x42 1 + UP bnd x43 1 + UP bnd x44 1 + UP bnd x45 1 + UP bnd x46 1 + UP bnd x47 1 + UP bnd x48 1 + UP bnd x49 1 + UP bnd x50 1 + UP bnd x51 1 + UP bnd x52 1 + UP bnd x53 1 + UP bnd x54 1 + UP bnd x55 1 + UP bnd x56 1 +ENDATA diff --git a/demos/ppl_lpsol/examples/rout.mps b/demos/ppl_lpsol/examples/rout.mps new file mode 100644 index 000000000..cf0541a53 --- /dev/null +++ b/demos/ppl_lpsol/examples/rout.mps @@ -0,0 +1,2038 @@ +NAME rout +ROWS + N R0000292 + E c1 + L c2 + L c3 + L c4 + L c5 + L c6 + L c7 + L c8 + L c9 + L c10 + L c11 + L c12 + L c13 + L c14 + L c15 + L c16 + L c17 + L c18 + L c19 + L c20 + L c21 + E c22 + E c23 + E c24 + E c25 + E c26 + E c27 + E c28 + E c29 + E c30 + E c31 + E c32 + E c33 + E c34 + E c35 + E c36 + E c37 + E c38 + E c39 + E c40 + E c41 + E c42 + E c43 + E c44 + E c45 + E c46 + E c47 + E c48 + E c49 + E c50 + E c51 + L c52 + L c53 + L c54 + L c55 + L c56 + L c57 + L c58 + L c59 + L c60 + L c61 + L c62 + L c63 + L c64 + L c65 + L c66 + L c67 + L c68 + L c69 + L c70 + L c71 + L c72 + L c73 + L c74 + L c75 + L c76 + L c77 + L c78 + L c79 + L c80 + L c81 + L c82 + L c83 + L c84 + L c85 + L c86 + L c87 + L c88 + L c89 + L c90 + L c91 + L c92 + L c93 + L c94 + L c95 + L c96 + L c97 + L c98 + L c99 + L c100 + L c101 + L c102 + L c103 + L c104 + L c105 + L c106 + L c107 + L c108 + L c109 + L c110 + L c111 + L c112 + L c113 + L c114 + L c115 + L c116 + L c117 + L c118 + L c119 + L c120 + L c121 + L c122 + L c123 + L c124 + L c125 + L c126 + L c127 + L c128 + L c129 + L c130 + L c131 + L c132 + L c133 + L c134 + L c135 + L c136 + L c137 + L c138 + L c139 + L c140 + L c141 + L c142 + L c143 + L c144 + L c145 + L c146 + L c147 + L c148 + L c149 + L c150 + L c151 + L c152 + L c153 + L c154 + L c155 + L c156 + L c157 + L c158 + L c159 + L c160 + L c161 + L c162 + L c163 + L c164 + L c165 + L c166 + L c167 + L c168 + L c169 + L c170 + L c171 + L c172 + L c173 + L c174 + L c175 + L c176 + L c177 + L c178 + L c179 + L c180 + L c181 + L c182 + L c183 + L c184 + L c185 + L c186 + L c187 + L c188 + L c189 + L c190 + L c191 + L c192 + L c193 + L c194 + L c195 + L c196 + L c197 + L c198 + L c199 + L c200 + L c201 + L c202 + L c203 + L c204 + L c205 + L c206 + L c207 + L c208 + L c209 + L c210 + L c211 + L c212 + L c213 + L c214 + L c215 + L c216 + L c217 + L c218 + L c219 + L c220 + L c221 + L c222 + L c223 + L c224 + L c225 + L c226 + L c227 + L c228 + L c229 + L c230 + L c231 + L c232 + L c233 + L c234 + L c235 + L c236 + L c237 + L c238 + L c239 + L c240 + L c241 + L c242 + L c243 + L c244 + L c245 + L c246 + L c247 + L c248 + L c249 + L c250 + L c251 + L c252 + L c253 + L c254 + L c255 + L c256 + L c257 + L c258 + L c259 + L c260 + L c261 + L c262 + L c263 + L c264 + L c265 + L c266 + L c267 + L c268 + L c269 + L c270 + L c271 + L c272 + L c273 + L c274 + L c275 + L c276 + L c277 + L c278 + L c279 + L c280 + L c281 + L c282 + L c283 + L c284 + L c285 + L c286 + L c287 + L c288 + L c289 + L c290 + L c291 +COLUMNS + x1 c37 -1 c52 1 + x2 c38 -1 c53 1 + x3 c39 -1 c54 1 + x4 c40 -1 c55 1 + x5 c41 -1 c56 1 + x6 c42 -1 c57 1 + x7 c43 -1 c58 1 + x8 c44 -1 c59 1 + x9 c45 -1 c60 1 + x10 c46 -1 c61 1 + x11 c47 -1 c62 1 + x12 c48 -1 c63 1 + x13 c49 -1 c64 1 + x14 c50 -1 c65 1 + x15 c51 -1 c66 1 + x16 c47 1 c67 1 + x17 c48 1 c68 1 + x18 c49 1 c69 1 + x19 c50 1 c70 1 + x20 c51 1 c71 1 + x21 c37 -1 c47 1 + x21 c72 1 + x22 c38 -1 c48 1 + x22 c73 1 + x23 c39 -1 c49 1 + x23 c74 1 + x24 c40 -1 c50 1 + x24 c75 1 + x25 c41 -1 c51 1 + x25 c76 1 + x26 c42 -1 c47 1 + x26 c77 1 + x27 c43 -1 c48 1 + x27 c78 1 + x28 c44 -1 c49 1 + x28 c79 1 + x29 c45 -1 c50 1 + x29 c80 1 + x30 c46 -1 c51 1 + x30 c81 1 + x31 c42 1 c82 1 + x32 c43 1 c83 1 + x33 c44 1 c84 1 + x34 c45 1 c85 1 + x35 c46 1 c86 1 + x36 c37 -1 c42 1 + x36 c87 1 + x37 c38 -1 c43 1 + x37 c88 1 + x38 c39 -1 c44 1 + x38 c89 1 + x39 c40 -1 c45 1 + x39 c90 1 + x40 c41 -1 c46 1 + x40 c91 1 + x41 c42 1 c47 -1 + x41 c92 1 + x42 c43 1 c48 -1 + x42 c93 1 + x43 c44 1 c49 -1 + x43 c94 1 + x44 c45 1 c50 -1 + x44 c95 1 + x45 c46 1 c51 -1 + x45 c96 1 + x46 c37 1 c97 1 + x47 c38 1 c98 1 + x48 c39 1 c99 1 + x49 c40 1 c100 1 + x50 c41 1 c101 1 + x51 c37 1 c42 -1 + x51 c102 1 + x52 c38 1 c43 -1 + x52 c103 1 + x53 c39 1 c44 -1 + x53 c104 1 + x54 c40 1 c45 -1 + x54 c105 1 + x55 c41 1 c46 -1 + x55 c106 1 + x56 c37 1 c47 -1 + x56 c107 1 + x57 c38 1 c48 -1 + x57 c108 1 + x58 c39 1 c49 -1 + x58 c109 1 + x59 c40 1 c50 -1 + x59 c110 1 + x60 c41 1 c51 -1 + x60 c111 1 + x61 c47 1 c112 1 + x62 c48 1 c113 1 + x63 c49 1 c114 1 + x64 c50 1 c115 1 + x65 c51 1 c116 1 + x66 c37 -1 c47 1 + x66 c117 1 + x67 c38 -1 c48 1 + x67 c118 1 + x68 c39 -1 c49 1 + x68 c119 1 + x69 c40 -1 c50 1 + x69 c120 1 + x70 c41 -1 c51 1 + x70 c121 1 + x71 c42 -1 c47 1 + x71 c122 1 + x72 c43 -1 c48 1 + x72 c123 1 + x73 c44 -1 c49 1 + x73 c124 1 + x74 c45 -1 c50 1 + x74 c125 1 + x75 c46 -1 c51 1 + x75 c126 1 + x76 c47 1 c127 1 + x77 c48 1 c128 1 + x78 c49 1 c129 1 + x79 c50 1 c130 1 + x80 c51 1 c131 1 + x81 c37 -1 c47 1 + x81 c132 1 + x82 c38 -1 c48 1 + x82 c133 1 + x83 c39 -1 c49 1 + x83 c134 1 + x84 c40 -1 c50 1 + x84 c135 1 + x85 c41 -1 c51 1 + x85 c136 1 + x86 c42 -1 c47 1 + x86 c137 1 + x87 c43 -1 c48 1 + x87 c138 1 + x88 c44 -1 c49 1 + x88 c139 1 + x89 c45 -1 c50 1 + x89 c140 1 + x90 c46 -1 c51 1 + x90 c141 1 + x91 c47 1 c142 1 + x92 c48 1 c143 1 + x93 c49 1 c144 1 + x94 c50 1 c145 1 + x95 c51 1 c146 1 + x96 c37 -1 c47 1 + x96 c147 1 + x97 c38 -1 c48 1 + x97 c148 1 + x98 c39 -1 c49 1 + x98 c149 1 + x99 c40 -1 c50 1 + x99 c150 1 + x100 c41 -1 c51 1 + x100 c151 1 + x101 c42 -1 c47 1 + x101 c152 1 + x102 c43 -1 c48 1 + x102 c153 1 + x103 c44 -1 c49 1 + x103 c154 1 + x104 c45 -1 c50 1 + x104 c155 1 + x105 c46 -1 c51 1 + x105 c156 1 + x106 c42 1 c157 1 + x107 c43 1 c158 1 + x108 c44 1 c159 1 + x109 c45 1 c160 1 + x110 c46 1 c161 1 + x111 c37 -1 c42 1 + x111 c162 1 + x112 c38 -1 c43 1 + x112 c163 1 + x113 c39 -1 c44 1 + x113 c164 1 + x114 c40 -1 c45 1 + x114 c165 1 + x115 c41 -1 c46 1 + x115 c166 1 + x116 c42 1 c47 -1 + x116 c167 1 + x117 c43 1 c48 -1 + x117 c168 1 + x118 c44 1 c49 -1 + x118 c169 1 + x119 c45 1 c50 -1 + x119 c170 1 + x120 c46 1 c51 -1 + x120 c171 1 + x121 c42 1 c172 1 + x122 c43 1 c173 1 + x123 c44 1 c174 1 + x124 c45 1 c175 1 + x125 c46 1 c176 1 + x126 c37 -1 c42 1 + x126 c177 1 + x127 c38 -1 c43 1 + x127 c178 1 + x128 c39 -1 c44 1 + x128 c179 1 + x129 c40 -1 c45 1 + x129 c180 1 + x130 c41 -1 c46 1 + x130 c181 1 + x131 c42 1 c47 -1 + x131 c182 1 + x132 c43 1 c48 -1 + x132 c183 1 + x133 c44 1 c49 -1 + x133 c184 1 + x134 c45 1 c50 -1 + x134 c185 1 + x135 c46 1 c51 -1 + x135 c186 1 + x136 c37 1 c187 1 + x137 c38 1 c188 1 + x138 c39 1 c189 1 + x139 c40 1 c190 1 + x140 c41 1 c191 1 + x141 c37 1 c42 -1 + x141 c192 1 + x142 c38 1 c43 -1 + x142 c193 1 + x143 c39 1 c44 -1 + x143 c194 1 + x144 c40 1 c45 -1 + x144 c195 1 + x145 c41 1 c46 -1 + x145 c196 1 + x146 c37 1 c47 -1 + x146 c197 1 + x147 c38 1 c48 -1 + x147 c198 1 + x148 c39 1 c49 -1 + x148 c199 1 + x149 c40 1 c50 -1 + x149 c200 1 + x150 c41 1 c51 -1 + x150 c201 1 + x151 c37 1 c202 1 + x152 c38 1 c203 1 + x153 c39 1 c204 1 + x154 c40 1 c205 1 + x155 c41 1 c206 1 + x156 c37 1 c42 -1 + x156 c207 1 + x157 c38 1 c43 -1 + x157 c208 1 + x158 c39 1 c44 -1 + x158 c209 1 + x159 c40 1 c45 -1 + x159 c210 1 + x160 c41 1 c46 -1 + x160 c211 1 + x161 c37 1 c47 -1 + x161 c212 1 + x162 c38 1 c48 -1 + x162 c213 1 + x163 c39 1 c49 -1 + x163 c214 1 + x164 c40 1 c50 -1 + x164 c215 1 + x165 c41 1 c51 -1 + x165 c216 1 + x166 c37 1 c217 1 + x167 c38 1 c218 1 + x168 c39 1 c219 1 + x169 c40 1 c220 1 + x170 c41 1 c221 1 + x171 c37 1 c42 -1 + x171 c222 1 + x172 c38 1 c43 -1 + x172 c223 1 + x173 c39 1 c44 -1 + x173 c224 1 + x174 c40 1 c45 -1 + x174 c225 1 + x175 c41 1 c46 -1 + x175 c226 1 + x176 c37 1 c47 -1 + x176 c227 1 + x177 c38 1 c48 -1 + x177 c228 1 + x178 c39 1 c49 -1 + x178 c229 1 + x179 c40 1 c50 -1 + x179 c230 1 + x180 c41 1 c51 -1 + x180 c231 1 + x181 c47 1 c232 1 + x182 c48 1 c233 1 + x183 c49 1 c234 1 + x184 c50 1 c235 1 + x185 c51 1 c236 1 + x186 c37 -1 c47 1 + x186 c237 1 + x187 c38 -1 c48 1 + x187 c238 1 + x188 c39 -1 c49 1 + x188 c239 1 + x189 c40 -1 c50 1 + x189 c240 1 + x190 c41 -1 c51 1 + x190 c241 1 + x191 c42 -1 c47 1 + x191 c242 1 + x192 c43 -1 c48 1 + x192 c243 1 + x193 c44 -1 c49 1 + x193 c244 1 + x194 c45 -1 c50 1 + x194 c245 1 + x195 c46 -1 c51 1 + x195 c246 1 + x196 c37 1 c247 1 + x197 c38 1 c248 1 + x198 c39 1 c249 1 + x199 c40 1 c250 1 + x200 c41 1 c251 1 + x201 c37 1 c42 -1 + x201 c252 1 + x202 c38 1 c43 -1 + x202 c253 1 + x203 c39 1 c44 -1 + x203 c254 1 + x204 c40 1 c45 -1 + x204 c255 1 + x205 c41 1 c46 -1 + x205 c256 1 + x206 c37 1 c47 -1 + x206 c257 1 + x207 c38 1 c48 -1 + x207 c258 1 + x208 c39 1 c49 -1 + x208 c259 1 + x209 c40 1 c50 -1 + x209 c260 1 + x210 c41 1 c51 -1 + x210 c261 1 + x211 c47 1 c262 1 + x212 c48 1 c263 1 + x213 c49 1 c264 1 + x214 c50 1 c265 1 + x215 c51 1 c266 1 + x216 c37 -1 c47 1 + x216 c267 1 + x217 c38 -1 c48 1 + x217 c268 1 + x218 c39 -1 c49 1 + x218 c269 1 + x219 c40 -1 c50 1 + x219 c270 1 + x220 c41 -1 c51 1 + x220 c271 1 + x221 c42 -1 c47 1 + x221 c272 1 + x222 c43 -1 c48 1 + x222 c273 1 + x223 c44 -1 c49 1 + x223 c274 1 + x224 c45 -1 c50 1 + x224 c275 1 + x225 c46 -1 c51 1 + x225 c276 1 + x226 c47 1 c277 1 + x227 c48 1 c278 1 + x228 c49 1 c279 1 + x229 c50 1 c280 1 + x230 c51 1 c281 1 + x231 c37 -1 c47 1 + x231 c282 1 + x232 c38 -1 c48 1 + x232 c283 1 + x233 c39 -1 c49 1 + x233 c284 1 + x234 c40 -1 c50 1 + x234 c285 1 + x235 c41 -1 c51 1 + x235 c286 1 + x236 c42 -1 c47 1 + x236 c287 1 + x237 c43 -1 c48 1 + x237 c288 1 + x238 c44 -1 c49 1 + x238 c289 1 + x239 c45 -1 c50 1 + x239 c290 1 + x240 c46 -1 c51 1 + x240 c291 1 + x241 R0000292 1 c1 1 + MARK0000 'MARKER' 'INTORG' + x242 c1 -5.43 c2 0.22 + x242 c22 1 c37 -1 + x242 c52 -7 + x243 c1 -5.43 c3 0.22 + x243 c23 1 c38 -1 + x243 c53 -7 + x244 c1 -5.43 c4 0.22 + x244 c24 1 c39 -1 + x244 c54 -7 + x245 c1 -5.43 c5 0.22 + x245 c25 1 c40 -1 + x245 c55 -7 + x246 c1 -5.43 c6 0.22 + x246 c26 1 c41 -1 + x246 c56 -7 + x247 c1 -53.78 c2 2.2 + x247 c27 1 c42 -1 + x247 c57 -7 + x248 c1 -53.78 c3 2.2 + x248 c28 1 c43 -1 + x248 c58 -7 + x249 c1 -53.78 c4 2.2 + x249 c29 1 c44 -1 + x249 c59 -7 + x250 c1 -53.78 c5 2.2 + x250 c30 1 c45 -1 + x250 c60 -7 + x251 c1 -53.78 c6 2.2 + x251 c31 1 c46 -1 + x251 c61 -7 + x252 c1 -23.36 c2 0.96 + x252 c32 1 c47 -1 + x252 c62 -7 + x253 c1 -23.36 c3 0.96 + x253 c33 1 c48 -1 + x253 c63 -7 + x254 c1 -23.36 c4 0.96 + x254 c34 1 c49 -1 + x254 c64 -7 + x255 c1 -23.36 c5 0.96 + x255 c35 1 c50 -1 + x255 c65 -7 + x256 c1 -23.36 c6 0.96 + x256 c36 1 c51 -1 + x256 c66 -7 + x257 c1 74.52 c2 3.79 + x257 c7 1 c32 -1 + x257 c67 -7 + x258 c1 74.52 c3 3.79 + x258 c7 1 c33 -1 + x258 c68 -7 + x259 c1 74.52 c4 3.79 + x259 c7 1 c34 -1 + x259 c69 -7 + x260 c1 74.52 c5 3.79 + x260 c7 1 c35 -1 + x260 c70 -7 + x261 c1 74.52 c6 3.79 + x261 c7 1 c36 -1 + x261 c71 -7 + x262 c1 78.87 c2 3.62 + x262 c7 1 c22 1 + x262 c32 -1 c37 -1 + x262 c72 -7 + x263 c1 78.87 c3 3.62 + x263 c7 1 c23 1 + x263 c33 -1 c38 -1 + x263 c73 -7 + x264 c1 78.87 c4 3.62 + x264 c7 1 c24 1 + x264 c34 -1 c39 -1 + x264 c74 -7 + x265 c1 78.87 c5 3.62 + x265 c7 1 c25 1 + x265 c35 -1 c40 -1 + x265 c75 -7 + x266 c1 78.87 c6 3.62 + x266 c7 1 c26 1 + x266 c36 -1 c41 -1 + x266 c76 -7 + x267 c1 79.41 c2 3.59 + x267 c7 1 c27 1 + x267 c32 -1 c42 -1 + x267 c77 -7 + x268 c1 79.41 c3 3.59 + x268 c7 1 c28 1 + x268 c33 -1 c43 -1 + x268 c78 -7 + x269 c1 79.41 c4 3.59 + x269 c7 1 c29 1 + x269 c34 -1 c44 -1 + x269 c79 -7 + x270 c1 79.41 c5 3.59 + x270 c7 1 c30 1 + x270 c35 -1 c45 -1 + x270 c80 -7 + x271 c1 79.41 c6 3.59 + x271 c7 1 c31 1 + x271 c36 -1 c46 -1 + x271 c81 -7 + x272 c1 84.3 c2 3.39 + x272 c7 1 c47 -1 + x273 c1 84.3 c3 3.39 + x273 c7 1 c48 -1 + x274 c1 84.3 c4 3.39 + x274 c7 1 c49 -1 + x275 c1 84.3 c5 3.39 + x275 c7 1 c50 -1 + x276 c1 84.3 c6 3.39 + x276 c7 1 c51 -1 + x277 c1 29.18 c2 4.48 + x277 c8 1 c27 -1 + x277 c82 -7 + x278 c1 29.18 c3 4.48 + x278 c8 1 c28 -1 + x278 c83 -7 + x279 c1 29.18 c4 4.48 + x279 c8 1 c29 -1 + x279 c84 -7 + x280 c1 29.18 c5 4.48 + x280 c8 1 c30 -1 + x280 c85 -7 + x281 c1 29.18 c6 4.48 + x281 c8 1 c31 -1 + x281 c86 -7 + x282 c1 38.96 c2 4.08 + x282 c8 1 c22 1 + x282 c27 -1 c37 -1 + x282 c87 -7 + x283 c1 38.96 c3 4.08 + x283 c8 1 c23 1 + x283 c28 -1 c38 -1 + x283 c88 -7 + x284 c1 38.96 c4 4.08 + x284 c8 1 c24 1 + x284 c29 -1 c39 -1 + x284 c89 -7 + x285 c1 38.96 c5 4.08 + x285 c8 1 c25 1 + x285 c30 -1 c40 -1 + x285 c90 -7 + x286 c1 38.96 c6 4.08 + x286 c8 1 c26 1 + x286 c31 -1 c41 -1 + x286 c91 -7 + x287 c1 69.92 c2 2.82 + x287 c8 1 c42 -1 + x288 c1 69.92 c3 2.82 + x288 c8 1 c43 -1 + x289 c1 69.92 c4 2.82 + x289 c8 1 c44 -1 + x290 c1 69.92 c5 2.82 + x290 c8 1 c45 -1 + x291 c1 69.92 c6 2.82 + x291 c8 1 c46 -1 + x292 c1 51.45 c2 3.57 + x292 c8 1 c27 -1 + x292 c32 1 c47 -1 + x292 c92 -7 + x293 c1 51.45 c3 3.57 + x293 c8 1 c28 -1 + x293 c33 1 c48 -1 + x293 c93 -7 + x294 c1 51.45 c4 3.57 + x294 c8 1 c29 -1 + x294 c34 1 c49 -1 + x294 c94 -7 + x295 c1 51.45 c5 3.57 + x295 c8 1 c30 -1 + x295 c35 1 c50 -1 + x295 c95 -7 + x296 c1 51.45 c6 3.57 + x296 c8 1 c31 -1 + x296 c36 1 c51 -1 + x296 c96 -7 + x297 c1 120.54 c2 5.19 + x297 c9 1 c22 -1 + x297 c97 -7 + x298 c1 120.54 c3 5.19 + x298 c9 1 c23 -1 + x298 c98 -7 + x299 c1 120.54 c4 5.19 + x299 c9 1 c24 -1 + x299 c99 -7 + x300 c1 120.54 c5 5.19 + x300 c9 1 c25 -1 + x300 c100 -7 + x301 c1 120.54 c6 5.19 + x301 c9 1 c26 -1 + x301 c101 -7 + x302 c1 125.43 c2 4.99 + x302 c9 1 c37 -1 + x303 c1 125.43 c3 4.99 + x303 c9 1 c38 -1 + x304 c1 125.43 c4 4.99 + x304 c9 1 c39 -1 + x305 c1 125.43 c5 4.99 + x305 c9 1 c40 -1 + x306 c1 125.43 c6 4.99 + x306 c9 1 c41 -1 + x307 c1 108.05 c2 5.71 + x307 c9 1 c22 -1 + x307 c27 1 c42 -1 + x307 c102 -7 + x308 c1 108.05 c3 5.71 + x308 c9 1 c23 -1 + x308 c28 1 c43 -1 + x308 c103 -7 + x309 c1 108.05 c4 5.71 + x309 c9 1 c24 -1 + x309 c29 1 c44 -1 + x309 c104 -7 + x310 c1 108.05 c5 5.71 + x310 c9 1 c25 -1 + x310 c30 1 c45 -1 + x310 c105 -7 + x311 c1 108.05 c6 5.71 + x311 c9 1 c26 -1 + x311 c31 1 c46 -1 + x311 c106 -7 + x312 c1 142.82 c2 4.28 + x312 c9 1 c22 -1 + x312 c32 1 c47 -1 + x312 c107 -7 + x313 c1 142.82 c3 4.28 + x313 c9 1 c23 -1 + x313 c33 1 c48 -1 + x313 c108 -7 + x314 c1 142.82 c4 4.28 + x314 c9 1 c24 -1 + x314 c34 1 c49 -1 + x314 c109 -7 + x315 c1 142.82 c5 4.28 + x315 c9 1 c25 -1 + x315 c35 1 c50 -1 + x315 c110 -7 + x316 c1 142.82 c6 4.28 + x316 c9 1 c26 -1 + x316 c36 1 c51 -1 + x316 c111 -7 + x317 c1 74.43 c2 4.99 + x317 c10 1 c32 -1 + x317 c112 -7 + x318 c1 74.43 c3 4.99 + x318 c10 1 c33 -1 + x318 c113 -7 + x319 c1 74.43 c4 4.99 + x319 c10 1 c34 -1 + x319 c114 -7 + x320 c1 74.43 c5 4.99 + x320 c10 1 c35 -1 + x320 c115 -7 + x321 c1 74.43 c6 4.99 + x321 c10 1 c36 -1 + x321 c116 -7 + x322 c1 83.13 c2 4.64 + x322 c10 1 c22 1 + x322 c32 -1 c37 -1 + x322 c117 -7 + x323 c1 83.13 c3 4.64 + x323 c10 1 c23 1 + x323 c33 -1 c38 -1 + x323 c118 -7 + x324 c1 83.13 c4 4.64 + x324 c10 1 c24 1 + x324 c34 -1 c39 -1 + x324 c119 -7 + x325 c1 83.13 c5 4.64 + x325 c10 1 c25 1 + x325 c35 -1 c40 -1 + x325 c120 -7 + x326 c1 83.13 c6 4.64 + x326 c10 1 c26 1 + x326 c36 -1 c41 -1 + x326 c121 -7 + x327 c1 93.99 c2 4.19 + x327 c10 1 c27 1 + x327 c32 -1 c42 -1 + x327 c122 -7 + x328 c1 93.99 c3 4.19 + x328 c10 1 c28 1 + x328 c33 -1 c43 -1 + x328 c123 -7 + x329 c1 93.99 c4 4.19 + x329 c10 1 c29 1 + x329 c34 -1 c44 -1 + x329 c124 -7 + x330 c1 93.99 c5 4.19 + x330 c10 1 c30 1 + x330 c35 -1 c45 -1 + x330 c125 -7 + x331 c1 93.99 c6 4.19 + x331 c10 1 c31 1 + x331 c36 -1 c46 -1 + x331 c126 -7 + x332 c1 96.16 c2 4.11 + x332 c10 1 c47 -1 + x333 c1 96.16 c3 4.11 + x333 c10 1 c48 -1 + x334 c1 96.16 c4 4.11 + x334 c10 1 c49 -1 + x335 c1 96.16 c5 4.11 + x335 c10 1 c50 -1 + x336 c1 96.16 c6 4.11 + x336 c10 1 c51 -1 + x337 c1 48.09 c2 3.37 + x337 c11 1 c32 -1 + x337 c127 -7 + x338 c1 48.09 c3 3.37 + x338 c11 1 c33 -1 + x338 c128 -7 + x339 c1 48.09 c4 3.37 + x339 c11 1 c34 -1 + x339 c129 -7 + x340 c1 48.09 c5 3.37 + x340 c11 1 c35 -1 + x340 c130 -7 + x341 c1 48.09 c6 3.37 + x341 c11 1 c36 -1 + x341 c131 -7 + x342 c1 56.24 c2 3.04 + x342 c11 1 c22 1 + x342 c32 -1 c37 -1 + x342 c132 -7 + x343 c1 56.24 c3 3.04 + x343 c11 1 c23 1 + x343 c33 -1 c38 -1 + x343 c133 -7 + x344 c1 56.24 c4 3.04 + x344 c11 1 c24 1 + x344 c34 -1 c39 -1 + x344 c134 -7 + x345 c1 56.24 c5 3.04 + x345 c11 1 c25 1 + x345 c35 -1 c40 -1 + x345 c135 -7 + x346 c1 56.24 c6 3.04 + x346 c11 1 c26 1 + x346 c36 -1 c41 -1 + x346 c136 -7 + x347 c1 26.9 c2 4.24 + x347 c11 1 c27 1 + x347 c32 -1 c42 -1 + x347 c137 -7 + x348 c1 26.9 c3 4.24 + x348 c11 1 c28 1 + x348 c33 -1 c43 -1 + x348 c138 -7 + x349 c1 26.9 c4 4.24 + x349 c11 1 c29 1 + x349 c34 -1 c44 -1 + x349 c139 -7 + x350 c1 26.9 c5 4.24 + x350 c11 1 c30 1 + x350 c35 -1 c45 -1 + x350 c140 -7 + x351 c1 26.9 c6 4.24 + x351 c11 1 c31 1 + x351 c36 -1 c46 -1 + x351 c141 -7 + x352 c1 66.02 c2 2.64 + x352 c11 1 c47 -1 + x353 c1 66.02 c3 2.64 + x353 c11 1 c48 -1 + x354 c1 66.02 c4 2.64 + x354 c11 1 c49 -1 + x355 c1 66.02 c5 2.64 + x355 c11 1 c50 -1 + x356 c1 66.02 c6 2.64 + x356 c11 1 c51 -1 + x357 c1 94.53 c2 4.17 + x357 c12 1 c32 -1 + x357 c142 -7 + x358 c1 94.53 c3 4.17 + x358 c12 1 c33 -1 + x358 c143 -7 + x359 c1 94.53 c4 4.17 + x359 c12 1 c34 -1 + x359 c144 -7 + x360 c1 94.53 c5 4.17 + x360 c12 1 c35 -1 + x360 c145 -7 + x361 c1 94.53 c6 4.17 + x361 c12 1 c36 -1 + x361 c146 -7 + x362 c1 96.71 c2 4.08 + x362 c12 1 c22 1 + x362 c32 -1 c37 -1 + x362 c147 -7 + x363 c1 96.71 c3 4.08 + x363 c12 1 c23 1 + x363 c33 -1 c38 -1 + x363 c148 -7 + x364 c1 96.71 c4 4.08 + x364 c12 1 c24 1 + x364 c34 -1 c39 -1 + x364 c149 -7 + x365 c1 96.71 c5 4.08 + x365 c12 1 c25 1 + x365 c35 -1 c40 -1 + x365 c150 -7 + x366 c1 96.71 c6 4.08 + x366 c12 1 c26 1 + x366 c36 -1 c41 -1 + x366 c151 -7 + x367 c1 93.45 c2 4.22 + x367 c12 1 c27 1 + x367 c32 -1 c42 -1 + x367 c152 -7 + x368 c1 93.45 c3 4.22 + x368 c12 1 c28 1 + x368 c33 -1 c43 -1 + x368 c153 -7 + x369 c1 93.45 c4 4.22 + x369 c12 1 c29 1 + x369 c34 -1 c44 -1 + x369 c154 -7 + x370 c1 93.45 c5 4.22 + x370 c12 1 c30 1 + x370 c35 -1 c45 -1 + x370 c155 -7 + x371 c1 93.45 c6 4.22 + x371 c12 1 c31 1 + x371 c36 -1 c46 -1 + x371 c156 -7 + x372 c1 93.99 c2 4.19 + x372 c12 1 c47 -1 + x373 c1 93.99 c3 4.19 + x373 c12 1 c48 -1 + x374 c1 93.99 c4 4.19 + x374 c12 1 c49 -1 + x375 c1 93.99 c5 4.19 + x375 c12 1 c50 -1 + x376 c1 93.99 c6 4.19 + x376 c12 1 c51 -1 + x377 c1 22.76 c2 5.08 + x377 c13 1 c27 -1 + x377 c157 -7 + x378 c1 22.76 c3 5.08 + x378 c13 1 c28 -1 + x378 c158 -7 + x379 c1 22.76 c4 5.08 + x379 c13 1 c29 -1 + x379 c159 -7 + x380 c1 22.76 c5 5.08 + x380 c13 1 c30 -1 + x380 c160 -7 + x381 c1 22.76 c6 5.08 + x381 c13 1 c31 -1 + x381 c161 -7 + x382 c1 37.97 c2 4.46 + x382 c13 1 c22 1 + x382 c27 -1 c37 -1 + x382 c162 -7 + x383 c1 37.97 c3 4.46 + x383 c13 1 c23 1 + x383 c28 -1 c38 -1 + x383 c163 -7 + x384 c1 37.97 c4 4.46 + x384 c13 1 c24 1 + x384 c29 -1 c39 -1 + x384 c164 -7 + x385 c1 37.97 c5 4.46 + x385 c13 1 c25 1 + x385 c30 -1 c40 -1 + x385 c165 -7 + x386 c1 37.97 c6 4.46 + x386 c13 1 c26 1 + x386 c31 -1 c41 -1 + x386 c166 -7 + x387 c1 74.91 c2 2.95 + x387 c13 1 c42 -1 + x388 c1 74.91 c3 2.95 + x388 c13 1 c43 -1 + x389 c1 74.91 c4 2.95 + x389 c13 1 c44 -1 + x390 c1 74.91 c5 2.95 + x390 c13 1 c45 -1 + x391 c1 74.91 c6 2.95 + x391 c13 1 c46 -1 + x392 c1 47.75 c2 4.06 + x392 c13 1 c27 -1 + x392 c32 1 c47 -1 + x392 c167 -7 + x393 c1 47.75 c3 4.06 + x393 c13 1 c28 -1 + x393 c33 1 c48 -1 + x393 c168 -7 + x394 c1 47.75 c4 4.06 + x394 c13 1 c29 -1 + x394 c34 1 c49 -1 + x394 c169 -7 + x395 c1 47.75 c5 4.06 + x395 c13 1 c30 -1 + x395 c35 1 c50 -1 + x395 c170 -7 + x396 c1 47.75 c6 4.06 + x396 c13 1 c31 -1 + x396 c36 1 c51 -1 + x396 c171 -7 + x397 c1 85.38 c2 3.99 + x397 c14 1 c27 -1 + x397 c172 -7 + x398 c1 85.38 c3 3.99 + x398 c14 1 c28 -1 + x398 c173 -7 + x399 c1 85.38 c4 3.99 + x399 c14 1 c29 -1 + x399 c174 -7 + x400 c1 85.38 c5 3.99 + x400 c14 1 c30 -1 + x400 c175 -7 + x401 c1 85.38 c6 3.99 + x401 c14 1 c31 -1 + x401 c176 -7 + x402 c1 86.47 c2 3.95 + x402 c14 1 c22 1 + x402 c27 -1 c37 -1 + x402 c177 -7 + x403 c1 86.47 c3 3.95 + x403 c14 1 c23 1 + x403 c28 -1 c38 -1 + x403 c178 -7 + x404 c1 86.47 c4 3.95 + x404 c14 1 c24 1 + x404 c29 -1 c39 -1 + x404 c179 -7 + x405 c1 86.47 c5 3.95 + x405 c14 1 c25 1 + x405 c30 -1 c40 -1 + x405 c180 -7 + x406 c1 86.47 c6 3.95 + x406 c14 1 c26 1 + x406 c31 -1 c41 -1 + x406 c181 -7 + x407 c1 90.27 c2 3.79 + x407 c14 1 c42 -1 + x408 c1 90.27 c3 3.79 + x408 c14 1 c43 -1 + x409 c1 90.27 c4 3.79 + x409 c14 1 c44 -1 + x410 c1 90.27 c5 3.79 + x410 c14 1 c45 -1 + x411 c1 90.27 c6 3.79 + x411 c14 1 c46 -1 + x412 c1 76.69 c2 4.35 + x412 c14 1 c27 -1 + x412 c32 1 c47 -1 + x412 c182 -7 + x413 c1 76.69 c3 4.35 + x413 c14 1 c28 -1 + x413 c33 1 c48 -1 + x413 c183 -7 + x414 c1 76.69 c4 4.35 + x414 c14 1 c29 -1 + x414 c34 1 c49 -1 + x414 c184 -7 + x415 c1 76.69 c5 4.35 + x415 c14 1 c30 -1 + x415 c35 1 c50 -1 + x415 c185 -7 + x416 c1 76.69 c6 4.35 + x416 c14 1 c31 -1 + x416 c36 1 c51 -1 + x416 c186 -7 + x417 c1 87.17 c2 3.46 + x417 c15 1 c22 -1 + x417 c187 -7 + x418 c1 87.17 c3 3.46 + x418 c15 1 c23 -1 + x418 c188 -7 + x419 c1 87.17 c4 3.46 + x419 c15 1 c24 -1 + x419 c189 -7 + x420 c1 87.17 c5 3.46 + x420 c15 1 c25 -1 + x420 c190 -7 + x421 c1 87.17 c6 3.46 + x421 c15 1 c26 -1 + x421 c191 -7 + x422 c1 83.37 c2 3.62 + x422 c15 1 c37 -1 + x423 c1 83.37 c3 3.62 + x423 c15 1 c38 -1 + x424 c1 83.37 c4 3.62 + x424 c15 1 c39 -1 + x425 c1 83.37 c5 3.62 + x425 c15 1 c40 -1 + x426 c1 83.37 c6 3.62 + x426 c15 1 c41 -1 + x427 c1 38.27 c2 5.46 + x427 c15 1 c22 -1 + x427 c27 1 c42 -1 + x427 c192 -7 + x428 c1 38.27 c3 5.46 + x428 c15 1 c23 -1 + x428 c28 1 c43 -1 + x428 c193 -7 + x429 c1 38.27 c4 5.46 + x429 c15 1 c24 -1 + x429 c29 1 c44 -1 + x429 c194 -7 + x430 c1 38.27 c5 5.46 + x430 c15 1 c25 -1 + x430 c30 1 c45 -1 + x430 c195 -7 + x431 c1 38.27 c6 5.46 + x431 c15 1 c26 -1 + x431 c31 1 c46 -1 + x431 c196 -7 + x432 c1 75.76 c2 3.93 + x432 c15 1 c22 -1 + x432 c32 1 c47 -1 + x432 c197 -7 + x433 c1 75.76 c3 3.93 + x433 c15 1 c23 -1 + x433 c33 1 c48 -1 + x433 c198 -7 + x434 c1 75.76 c4 3.93 + x434 c15 1 c24 -1 + x434 c34 1 c49 -1 + x434 c199 -7 + x435 c1 75.76 c5 3.93 + x435 c15 1 c25 -1 + x435 c35 1 c50 -1 + x435 c200 -7 + x436 c1 75.76 c6 3.93 + x436 c15 1 c26 -1 + x436 c36 1 c51 -1 + x436 c201 -7 + x437 c1 69.51 c2 2.13 + x437 c16 1 c22 -1 + x437 c202 -7 + x438 c1 69.51 c3 2.13 + x438 c16 1 c23 -1 + x438 c203 -7 + x439 c1 69.51 c4 2.13 + x439 c16 1 c24 -1 + x439 c204 -7 + x440 c1 69.51 c5 2.13 + x440 c16 1 c25 -1 + x440 c205 -7 + x441 c1 69.51 c6 2.13 + x441 c16 1 c26 -1 + x441 c206 -7 + x442 c1 65.71 c2 2.28 + x442 c16 1 c37 -1 + x443 c1 65.71 c3 2.28 + x443 c16 1 c38 -1 + x444 c1 65.71 c4 2.28 + x444 c16 1 c39 -1 + x445 c1 65.71 c5 2.28 + x445 c16 1 c40 -1 + x446 c1 65.71 c6 2.28 + x446 c16 1 c41 -1 + x447 c1 20.62 c2 4.13 + x447 c16 1 c22 -1 + x447 c27 1 c42 -1 + x447 c207 -7 + x448 c1 20.62 c3 4.13 + x448 c16 1 c23 -1 + x448 c28 1 c43 -1 + x448 c208 -7 + x449 c1 20.62 c4 4.13 + x449 c16 1 c24 -1 + x449 c29 1 c44 -1 + x449 c209 -7 + x450 c1 20.62 c5 4.13 + x450 c16 1 c25 -1 + x450 c30 1 c45 -1 + x450 c210 -7 + x451 c1 20.62 c6 4.13 + x451 c16 1 c26 -1 + x451 c31 1 c46 -1 + x451 c211 -7 + x452 c1 53.22 c2 2.79 + x452 c16 1 c22 -1 + x452 c32 1 c47 -1 + x452 c212 -7 + x453 c1 53.22 c3 2.79 + x453 c16 1 c23 -1 + x453 c33 1 c48 -1 + x453 c213 -7 + x454 c1 53.22 c4 2.79 + x454 c16 1 c24 -1 + x454 c34 1 c49 -1 + x454 c214 -7 + x455 c1 53.22 c5 2.79 + x455 c16 1 c25 -1 + x455 c35 1 c50 -1 + x455 c215 -7 + x456 c1 53.22 c6 2.79 + x456 c16 1 c26 -1 + x456 c36 1 c51 -1 + x456 c216 -7 + x457 c1 87.47 c2 4.46 + x457 c17 1 c22 -1 + x457 c217 -7 + x458 c1 87.47 c3 4.46 + x458 c17 1 c23 -1 + x458 c218 -7 + x459 c1 87.47 c4 4.46 + x459 c17 1 c24 -1 + x459 c219 -7 + x460 c1 87.47 c5 4.46 + x460 c17 1 c25 -1 + x460 c220 -7 + x461 c1 87.47 c6 4.46 + x461 c17 1 c26 -1 + x461 c221 -7 + x462 c1 95.08 c2 4.15 + x462 c17 1 c37 -1 + x463 c1 95.08 c3 4.15 + x463 c17 1 c38 -1 + x464 c1 95.08 c4 4.15 + x464 c17 1 c39 -1 + x465 c1 95.08 c5 4.15 + x465 c17 1 c40 -1 + x466 c1 95.08 c6 4.15 + x466 c17 1 c41 -1 + x467 c1 39.66 c2 6.42 + x467 c17 1 c22 -1 + x467 c27 1 c42 -1 + x467 c222 -7 + x468 c1 39.66 c3 6.42 + x468 c17 1 c23 -1 + x468 c28 1 c43 -1 + x468 c223 -7 + x469 c1 39.66 c4 6.42 + x469 c17 1 c24 -1 + x469 c29 1 c44 -1 + x469 c224 -7 + x470 c1 39.66 c5 6.42 + x470 c17 1 c25 -1 + x470 c30 1 c45 -1 + x470 c225 -7 + x471 c1 39.66 c6 6.42 + x471 c17 1 c26 -1 + x471 c31 1 c46 -1 + x471 c226 -7 + x472 c1 76.06 c2 4.93 + x472 c17 1 c22 -1 + x472 c32 1 c47 -1 + x472 c227 -7 + x473 c1 76.06 c3 4.93 + x473 c17 1 c23 -1 + x473 c33 1 c48 -1 + x473 c228 -7 + x474 c1 76.06 c4 4.93 + x474 c17 1 c24 -1 + x474 c34 1 c49 -1 + x474 c229 -7 + x475 c1 76.06 c5 4.93 + x475 c17 1 c25 -1 + x475 c35 1 c50 -1 + x475 c230 -7 + x476 c1 76.06 c6 4.93 + x476 c17 1 c26 -1 + x476 c36 1 c51 -1 + x476 c231 -7 + x477 c1 43.98 c2 3.17 + x477 c18 1 c32 -1 + x477 c232 -7 + x478 c1 43.98 c3 3.17 + x478 c18 1 c33 -1 + x478 c233 -7 + x479 c1 43.98 c4 3.17 + x479 c18 1 c34 -1 + x479 c234 -7 + x480 c1 43.98 c5 3.17 + x480 c18 1 c35 -1 + x480 c235 -7 + x481 c1 43.98 c6 3.17 + x481 c18 1 c36 -1 + x481 c236 -7 + x482 c1 46.7 c2 3.06 + x482 c18 1 c22 1 + x482 c32 -1 c37 -1 + x482 c237 -7 + x483 c1 46.7 c3 3.06 + x483 c18 1 c23 1 + x483 c33 -1 c38 -1 + x483 c238 -7 + x484 c1 46.7 c4 3.06 + x484 c18 1 c24 1 + x484 c34 -1 c39 -1 + x484 c239 -7 + x485 c1 46.7 c5 3.06 + x485 c18 1 c25 1 + x485 c35 -1 c40 -1 + x485 c240 -7 + x486 c1 46.7 c6 3.06 + x486 c18 1 c26 1 + x486 c36 -1 c41 -1 + x486 c241 -7 + x487 c1 29.31 c2 3.77 + x487 c18 1 c27 1 + x487 c32 -1 c42 -1 + x487 c242 -7 + x488 c1 29.31 c3 3.77 + x488 c18 1 c28 1 + x488 c33 -1 c43 -1 + x488 c243 -7 + x489 c1 29.31 c4 3.77 + x489 c18 1 c29 1 + x489 c34 -1 c44 -1 + x489 c244 -7 + x490 c1 29.31 c5 3.77 + x490 c18 1 c30 1 + x490 c35 -1 c45 -1 + x490 c245 -7 + x491 c1 29.31 c6 3.77 + x491 c18 1 c31 1 + x491 c36 -1 c46 -1 + x491 c246 -7 + x492 c1 65.71 c2 2.28 + x492 c18 1 c47 -1 + x493 c1 65.71 c3 2.28 + x493 c18 1 c48 -1 + x494 c1 65.71 c4 2.28 + x494 c18 1 c49 -1 + x495 c1 65.71 c5 2.28 + x495 c18 1 c50 -1 + x496 c1 65.71 c6 2.28 + x496 c18 1 c51 -1 + x497 c1 68.29 c2 2.88 + x497 c19 1 c22 -1 + x497 c247 -7 + x498 c1 68.29 c3 2.88 + x498 c19 1 c23 -1 + x498 c248 -7 + x499 c1 68.29 c4 2.88 + x499 c19 1 c24 -1 + x499 c249 -7 + x500 c1 68.29 c5 2.88 + x500 c19 1 c25 -1 + x500 c250 -7 + x501 c1 68.29 c6 2.88 + x501 c19 1 c26 -1 + x501 c251 -7 + x502 c1 71.01 c2 2.77 + x502 c19 1 c37 -1 + x503 c1 71.01 c3 2.77 + x503 c19 1 c38 -1 + x504 c1 71.01 c4 2.77 + x504 c19 1 c39 -1 + x505 c1 71.01 c5 2.77 + x505 c19 1 c40 -1 + x506 c1 71.01 c6 2.77 + x506 c19 1 c41 -1 + x507 c1 40.59 c2 4.02 + x507 c19 1 c22 -1 + x507 c27 1 c42 -1 + x507 c252 -7 + x508 c1 40.59 c3 4.02 + x508 c19 1 c23 -1 + x508 c28 1 c43 -1 + x508 c253 -7 + x509 c1 40.59 c4 4.02 + x509 c19 1 c24 -1 + x509 c29 1 c44 -1 + x509 c254 -7 + x510 c1 40.59 c5 4.02 + x510 c19 1 c25 -1 + x510 c30 1 c45 -1 + x510 c255 -7 + x511 c1 40.59 c6 4.02 + x511 c19 1 c26 -1 + x511 c31 1 c46 -1 + x511 c256 -7 + x512 c1 52 c2 3.55 + x512 c19 1 c22 -1 + x512 c32 1 c47 -1 + x512 c257 -7 + x513 c1 52 c3 3.55 + x513 c19 1 c23 -1 + x513 c33 1 c48 -1 + x513 c258 -7 + x514 c1 52 c4 3.55 + x514 c19 1 c24 -1 + x514 c34 1 c49 -1 + x514 c259 -7 + x515 c1 52 c5 3.55 + x515 c19 1 c25 -1 + x515 c35 1 c50 -1 + x515 c260 -7 + x516 c1 52 c6 3.55 + x516 c19 1 c26 -1 + x516 c36 1 c51 -1 + x516 c261 -7 + x517 c1 64.59 c2 3.37 + x517 c20 1 c32 -1 + x517 c262 -7 + x518 c1 64.59 c3 3.37 + x518 c20 1 c33 -1 + x518 c263 -7 + x519 c1 64.59 c4 3.37 + x519 c20 1 c34 -1 + x519 c264 -7 + x520 c1 64.59 c5 3.37 + x520 c20 1 c35 -1 + x520 c265 -7 + x521 c1 64.59 c6 3.37 + x521 c20 1 c36 -1 + x521 c266 -7 + x522 c1 62.96 c2 3.44 + x522 c20 1 c22 1 + x522 c32 -1 c37 -1 + x522 c267 -7 + x523 c1 62.96 c3 3.44 + x523 c20 1 c23 1 + x523 c33 -1 c38 -1 + x523 c268 -7 + x524 c1 62.96 c4 3.44 + x524 c20 1 c24 1 + x524 c34 -1 c39 -1 + x524 c269 -7 + x525 c1 62.96 c5 3.44 + x525 c20 1 c25 1 + x525 c35 -1 c40 -1 + x525 c270 -7 + x526 c1 62.96 c6 3.44 + x526 c20 1 c26 1 + x526 c36 -1 c41 -1 + x526 c271 -7 + x527 c1 29.82 c2 4.79 + x527 c20 1 c27 1 + x527 c32 -1 c42 -1 + x527 c272 -7 + x528 c1 29.82 c3 4.79 + x528 c20 1 c28 1 + x528 c33 -1 c43 -1 + x528 c273 -7 + x529 c1 29.82 c4 4.79 + x529 c20 1 c29 1 + x529 c34 -1 c44 -1 + x529 c274 -7 + x530 c1 29.82 c5 4.79 + x530 c20 1 c30 1 + x530 c35 -1 c45 -1 + x530 c275 -7 + x531 c1 29.82 c6 4.79 + x531 c20 1 c31 1 + x531 c36 -1 c46 -1 + x531 c276 -7 + x532 c1 74.91 c2 2.95 + x532 c20 1 c47 -1 + x533 c1 74.91 c3 2.95 + x533 c20 1 c48 -1 + x534 c1 74.91 c4 2.95 + x534 c20 1 c49 -1 + x535 c1 74.91 c5 2.95 + x535 c20 1 c50 -1 + x536 c1 74.91 c6 2.95 + x536 c20 1 c51 -1 + x537 c1 62.18 c2 4.48 + x537 c21 1 c32 -1 + x537 c277 -7 + x538 c1 62.18 c3 4.48 + x538 c21 1 c33 -1 + x538 c278 -7 + x539 c1 62.18 c4 4.48 + x539 c21 1 c34 -1 + x539 c279 -7 + x540 c1 62.18 c5 4.48 + x540 c21 1 c35 -1 + x540 c280 -7 + x541 c1 62.18 c6 4.48 + x541 c21 1 c36 -1 + x541 c281 -7 + x542 c1 67.07 c2 4.28 + x542 c21 1 c22 1 + x542 c32 -1 c37 -1 + x542 c282 -7 + x543 c1 67.07 c3 4.28 + x543 c21 1 c23 1 + x543 c33 -1 c38 -1 + x543 c283 -7 + x544 c1 67.07 c4 4.28 + x544 c21 1 c24 1 + x544 c34 -1 c39 -1 + x544 c284 -7 + x545 c1 67.07 c5 4.28 + x545 c21 1 c25 1 + x545 c35 -1 c40 -1 + x545 c285 -7 + x546 c1 67.07 c6 4.28 + x546 c21 1 c26 1 + x546 c36 -1 c41 -1 + x546 c286 -7 + x547 c1 49.68 c2 4.99 + x547 c21 1 c27 1 + x547 c32 -1 c42 -1 + x547 c287 -7 + x548 c1 49.68 c3 4.99 + x548 c21 1 c28 1 + x548 c33 -1 c43 -1 + x548 c288 -7 + x549 c1 49.68 c4 4.99 + x549 c21 1 c29 1 + x549 c34 -1 c44 -1 + x549 c289 -7 + x550 c1 49.68 c5 4.99 + x550 c21 1 c30 1 + x550 c35 -1 c45 -1 + x550 c290 -7 + x551 c1 49.68 c6 4.99 + x551 c21 1 c31 1 + x551 c36 -1 c46 -1 + x551 c291 -7 + x552 c1 84.45 c2 3.57 + x552 c21 1 c47 -1 + x553 c1 84.45 c3 3.57 + x553 c21 1 c48 -1 + x554 c1 84.45 c4 3.57 + x554 c21 1 c49 -1 + x555 c1 84.45 c5 3.57 + x555 c21 1 c50 -1 + x556 c1 84.45 c6 3.57 + x556 c21 1 c51 -1 + MARK0001 'MARKER' 'INTEND' +RHS + rhs c1 2375.25 c2 12.5 + rhs c3 12.5 c4 12.5 + rhs c5 12.5 c6 12.5 + rhs c7 1 c8 1 + rhs c9 2 c10 1 + rhs c11 1 c12 1 + rhs c13 1 c14 1 + rhs c15 1 c16 1 + rhs c17 1 c18 1 + rhs c19 1 c20 1 + rhs c21 1 +BOUNDS + FR bnd x241 + UP bnd x242 1 + UP bnd x243 1 + UP bnd x244 1 + UP bnd x245 1 + UP bnd x246 1 + UP bnd x247 1 + UP bnd x248 1 + UP bnd x249 1 + UP bnd x250 1 + UP bnd x251 1 + UP bnd x252 1 + UP bnd x253 1 + UP bnd x254 1 + UP bnd x255 1 + UP bnd x256 1 + UP bnd x257 1 + UP bnd x258 1 + UP bnd x259 1 + UP bnd x260 1 + UP bnd x261 1 + UP bnd x262 1 + UP bnd x263 1 + UP bnd x264 1 + UP bnd x265 1 + UP bnd x266 1 + UP bnd x267 1 + UP bnd x268 1 + UP bnd x269 1 + UP bnd x270 1 + UP bnd x271 1 + UP bnd x272 1 + UP bnd x273 1 + UP bnd x274 1 + UP bnd x275 1 + UP bnd x276 1 + UP bnd x277 1 + UP bnd x278 1 + UP bnd x279 1 + UP bnd x280 1 + UP bnd x281 1 + UP bnd x282 1 + UP bnd x283 1 + UP bnd x284 1 + UP bnd x285 1 + UP bnd x286 1 + UP bnd x287 1 + UP bnd x288 1 + UP bnd x289 1 + UP bnd x290 1 + UP bnd x291 1 + UP bnd x292 1 + UP bnd x293 1 + UP bnd x294 1 + UP bnd x295 1 + UP bnd x296 1 + UP bnd x297 1 + UP bnd x298 1 + UP bnd x299 1 + UP bnd x300 1 + UP bnd x301 1 + UP bnd x302 2 + UP bnd x303 2 + UP bnd x304 2 + UP bnd x305 2 + UP bnd x306 2 + UP bnd x307 2 + UP bnd x308 2 + UP bnd x309 2 + UP bnd x310 2 + UP bnd x311 2 + UP bnd x312 2 + UP bnd x313 2 + UP bnd x314 2 + UP bnd x315 2 + UP bnd x316 2 + UP bnd x317 1 + UP bnd x318 1 + UP bnd x319 1 + UP bnd x320 1 + UP bnd x321 1 + UP bnd x322 1 + UP bnd x323 1 + UP bnd x324 1 + UP bnd x325 1 + UP bnd x326 1 + UP bnd x327 1 + UP bnd x328 1 + UP bnd x329 1 + UP bnd x330 1 + UP bnd x331 1 + UP bnd x332 1 + UP bnd x333 1 + UP bnd x334 1 + UP bnd x335 1 + UP bnd x336 1 + UP bnd x337 1 + UP bnd x338 1 + UP bnd x339 1 + UP bnd x340 1 + UP bnd x341 1 + UP bnd x342 1 + UP bnd x343 1 + UP bnd x344 1 + UP bnd x345 1 + UP bnd x346 1 + UP bnd x347 1 + UP bnd x348 1 + UP bnd x349 1 + UP bnd x350 1 + UP bnd x351 1 + UP bnd x352 1 + UP bnd x353 1 + UP bnd x354 1 + UP bnd x355 1 + UP bnd x356 1 + UP bnd x357 1 + UP bnd x358 1 + UP bnd x359 1 + UP bnd x360 1 + UP bnd x361 1 + UP bnd x362 1 + UP bnd x363 1 + UP bnd x364 1 + UP bnd x365 1 + UP bnd x366 1 + UP bnd x367 1 + UP bnd x368 1 + UP bnd x369 1 + UP bnd x370 1 + UP bnd x371 1 + UP bnd x372 1 + UP bnd x373 1 + UP bnd x374 1 + UP bnd x375 1 + UP bnd x376 1 + UP bnd x377 1 + UP bnd x378 1 + UP bnd x379 1 + UP bnd x380 1 + UP bnd x381 1 + UP bnd x382 1 + UP bnd x383 1 + UP bnd x384 1 + UP bnd x385 1 + UP bnd x386 1 + UP bnd x387 1 + UP bnd x388 1 + UP bnd x389 1 + UP bnd x390 1 + UP bnd x391 1 + UP bnd x392 1 + UP bnd x393 1 + UP bnd x394 1 + UP bnd x395 1 + UP bnd x396 1 + UP bnd x397 1 + UP bnd x398 1 + UP bnd x399 1 + UP bnd x400 1 + UP bnd x401 1 + UP bnd x402 1 + UP bnd x403 1 + UP bnd x404 1 + UP bnd x405 1 + UP bnd x406 1 + UP bnd x407 1 + UP bnd x408 1 + UP bnd x409 1 + UP bnd x410 1 + UP bnd x411 1 + UP bnd x412 1 + UP bnd x413 1 + UP bnd x414 1 + UP bnd x415 1 + UP bnd x416 1 + UP bnd x417 1 + UP bnd x418 1 + UP bnd x419 1 + UP bnd x420 1 + UP bnd x421 1 + UP bnd x422 1 + UP bnd x423 1 + UP bnd x424 1 + UP bnd x425 1 + UP bnd x426 1 + UP bnd x427 1 + UP bnd x428 1 + UP bnd x429 1 + UP bnd x430 1 + UP bnd x431 1 + UP bnd x432 1 + UP bnd x433 1 + UP bnd x434 1 + UP bnd x435 1 + UP bnd x436 1 + UP bnd x437 1 + UP bnd x438 1 + UP bnd x439 1 + UP bnd x440 1 + UP bnd x441 1 + UP bnd x442 1 + UP bnd x443 1 + UP bnd x444 1 + UP bnd x445 1 + UP bnd x446 1 + UP bnd x447 1 + UP bnd x448 1 + UP bnd x449 1 + UP bnd x450 1 + UP bnd x451 1 + UP bnd x452 1 + UP bnd x453 1 + UP bnd x454 1 + UP bnd x455 1 + UP bnd x456 1 + UP bnd x457 1 + UP bnd x458 1 + UP bnd x459 1 + UP bnd x460 1 + UP bnd x461 1 + UP bnd x462 1 + UP bnd x463 1 + UP bnd x464 1 + UP bnd x465 1 + UP bnd x466 1 + UP bnd x467 1 + UP bnd x468 1 + UP bnd x469 1 + UP bnd x470 1 + UP bnd x471 1 + UP bnd x472 1 + UP bnd x473 1 + UP bnd x474 1 + UP bnd x475 1 + UP bnd x476 1 + UP bnd x477 1 + UP bnd x478 1 + UP bnd x479 1 + UP bnd x480 1 + UP bnd x481 1 + UP bnd x482 1 + UP bnd x483 1 + UP bnd x484 1 + UP bnd x485 1 + UP bnd x486 1 + UP bnd x487 1 + UP bnd x488 1 + UP bnd x489 1 + UP bnd x490 1 + UP bnd x491 1 + UP bnd x492 1 + UP bnd x493 1 + UP bnd x494 1 + UP bnd x495 1 + UP bnd x496 1 + UP bnd x497 1 + UP bnd x498 1 + UP bnd x499 1 + UP bnd x500 1 + UP bnd x501 1 + UP bnd x502 1 + UP bnd x503 1 + UP bnd x504 1 + UP bnd x505 1 + UP bnd x506 1 + UP bnd x507 1 + UP bnd x508 1 + UP bnd x509 1 + UP bnd x510 1 + UP bnd x511 1 + UP bnd x512 1 + UP bnd x513 1 + UP bnd x514 1 + UP bnd x515 1 + UP bnd x516 1 + UP bnd x517 1 + UP bnd x518 1 + UP bnd x519 1 + UP bnd x520 1 + UP bnd x521 1 + UP bnd x522 1 + UP bnd x523 1 + UP bnd x524 1 + UP bnd x525 1 + UP bnd x526 1 + UP bnd x527 1 + UP bnd x528 1 + UP bnd x529 1 + UP bnd x530 1 + UP bnd x531 1 + UP bnd x532 1 + UP bnd x533 1 + UP bnd x534 1 + UP bnd x535 1 + UP bnd x536 1 + UP bnd x537 1 + UP bnd x538 1 + UP bnd x539 1 + UP bnd x540 1 + UP bnd x541 1 + UP bnd x542 1 + UP bnd x543 1 + UP bnd x544 1 + UP bnd x545 1 + UP bnd x546 1 + UP bnd x547 1 + UP bnd x548 1 + UP bnd x549 1 + UP bnd x550 1 + UP bnd x551 1 + UP bnd x552 1 + UP bnd x553 1 + UP bnd x554 1 + UP bnd x555 1 + UP bnd x556 1 +ENDATA diff --git a/demos/ppl_lpsol/examples/sample.mps b/demos/ppl_lpsol/examples/sample.mps new file mode 100644 index 000000000..fa3cffe97 --- /dev/null +++ b/demos/ppl_lpsol/examples/sample.mps @@ -0,0 +1,22 @@ +* Problem: sample +* Rows: 3 +* Columns: 3 +* Non-zeros: 12 +* +NAME sample +ROWS + N R______0 + L p + L q + L r +COLUMNS + x1 R______0 -10 r 2 + q 10 p 1 + x2 R______0 -6 r 2 + q 4 p 1 + x3 R______0 -4 r 6 + q 5 p 1 +RHS + p 100 q 600 + r 300 +ENDATA diff --git a/demos/ppl_lpsol/examples/sc105.mps b/demos/ppl_lpsol/examples/sc105.mps new file mode 100644 index 000000000..4de391e38 --- /dev/null +++ b/demos/ppl_lpsol/examples/sc105.mps @@ -0,0 +1,296 @@ +NAME SC105 +ROWS + N MAXIM + L ROW00001 + L ROW00002 + L ROW00003 + E ROW00004 + E ROW00005 + E ROW00006 + E ROW00007 + L ROW00008 + L ROW00009 + L ROW00010 + L ROW00011 + L ROW00012 + L ROW00013 + E ROW00014 + E ROW00015 + E ROW00016 + E ROW00017 + E ROW00018 + L ROW00019 + L ROW00020 + L ROW00021 + L ROW00022 + L ROW00023 + L ROW00024 + E ROW00025 + E ROW00026 + E ROW00027 + E ROW00028 + E ROW00029 + L ROW00030 + L ROW00031 + L ROW00032 + L ROW00033 + L ROW00034 + L ROW00035 + E ROW00036 + E ROW00037 + E ROW00038 + E ROW00039 + E ROW00040 + L ROW00041 + L ROW00042 + L ROW00043 + L ROW00044 + L ROW00045 + L ROW00046 + E ROW00047 + E ROW00048 + E ROW00049 + E ROW00050 + E ROW00051 + L ROW00052 + L ROW00053 + L ROW00054 + L ROW00055 + L ROW00056 + L ROW00057 + E ROW00058 + E ROW00059 + E ROW00060 + E ROW00061 + E ROW00062 + L ROW00063 + L ROW00064 + L ROW00065 + L ROW00066 + L ROW00067 + L ROW00068 + E ROW00069 + E ROW00070 + E ROW00071 + E ROW00072 + E ROW00073 + L ROW00074 + L ROW00075 + L ROW00076 + L ROW00077 + L ROW00078 + L ROW00079 + E ROW00080 + E ROW00081 + E ROW00082 + E ROW00083 + E ROW00084 + L ROW00085 + L ROW00086 + L ROW00087 + L ROW00088 + L ROW00089 + L ROW00090 + E ROW00091 + E ROW00092 + E ROW00093 + E ROW00094 + E ROW00095 + L ROW00096 + L ROW00097 + L ROW00098 + L ROW00099 + L ROW00100 + L ROW00101 + E ROW00102 + L ROW00103 + L ROW00104 + L ROW00105 +COLUMNS + COL00001 ROW00001 2. ROW00002 1. + COL00001 ROW00005 -1. + COL00002 ROW00001 1. ROW00002 2. + COL00002 ROW00006 -1. + COL00003 ROW00001 1.5 ROW00002 1.5 + COL00003 ROW00007 -1. + COL00004 MAXIM -1. ROW00004 1. + COL00004 ROW00014 1.1 + COL00005 ROW00004 -1. ROW00013 1. + COL00005 ROW00015 1. + COL00006 ROW00005 1. ROW00008 -1. + COL00006 ROW00016 -1. + COL00007 ROW00006 1. ROW00009 -1. + COL00007 ROW00017 -1. + COL00008 ROW00007 1. ROW00010 -1. + COL00008 ROW00018 -1. + COL00009 ROW00008 1. ROW00011 -1. + COL00010 ROW00009 1. ROW00012 -1. + COL00011 ROW00010 1. ROW00013 -1. + COL00012 ROW00011 2. ROW00012 1. + COL00012 ROW00016 -1. + COL00013 ROW00011 1. ROW00012 2. + COL00013 ROW00017 -1. + COL00014 ROW00011 1.5 ROW00012 1.5 + COL00014 ROW00018 -1. + COL00015 ROW00014 -1. ROW00015 1. + COL00015 ROW00025 1.1 + COL00016 ROW00015 -1. ROW00024 1. + COL00016 ROW00026 1. + COL00017 ROW00016 1. ROW00019 -1. + COL00017 ROW00027 -1. + COL00018 ROW00017 1. ROW00020 -1. + COL00018 ROW00028 -1. + COL00019 ROW00018 1. ROW00021 -1. + COL00019 ROW00029 -1. + COL00020 ROW00019 1. ROW00022 -1. + COL00021 ROW00020 1. ROW00023 -1. + COL00022 ROW00021 1. ROW00024 -1. + COL00023 ROW00022 2. ROW00023 1. + COL00023 ROW00027 -1. + COL00024 ROW00022 1. ROW00023 2. + COL00024 ROW00028 -1. + COL00025 ROW00022 1.5 ROW00023 1.5 + COL00025 ROW00029 -1. + COL00026 ROW00025 -1. ROW00026 1. + COL00026 ROW00036 1.1 + COL00027 ROW00026 -1. ROW00035 1. + COL00027 ROW00037 1. + COL00028 ROW00027 1. ROW00030 -1. + COL00028 ROW00038 -1. + COL00029 ROW00028 1. ROW00031 -1. + COL00029 ROW00039 -1. + COL00030 ROW00029 1. ROW00032 -1. + COL00030 ROW00040 -1. + COL00031 ROW00030 1. ROW00033 -1. + COL00032 ROW00031 1. ROW00034 -1. + COL00033 ROW00032 1. ROW00035 -1. + COL00034 ROW00033 2. ROW00034 1. + COL00034 ROW00038 -1. + COL00035 ROW00033 1. ROW00034 2. + COL00035 ROW00039 -1. + COL00036 ROW00033 1.5 ROW00034 1.5 + COL00036 ROW00040 -1. + COL00037 ROW00036 -1. ROW00037 1. + COL00037 ROW00047 1.1 + COL00038 ROW00037 -1. ROW00046 1. + COL00038 ROW00048 1. + COL00039 ROW00038 1. ROW00041 -1. + COL00039 ROW00049 -1. + COL00040 ROW00039 1. ROW00042 -1. + COL00040 ROW00050 -1. + COL00041 ROW00040 1. ROW00043 -1. + COL00041 ROW00051 -1. + COL00042 ROW00041 1. ROW00044 -1. + COL00043 ROW00042 1. ROW00045 -1. + COL00044 ROW00043 1. ROW00046 -1. + COL00045 ROW00044 2. ROW00045 1. + COL00045 ROW00049 -1. + COL00046 ROW00044 1. ROW00045 2. + COL00046 ROW00050 -1. + COL00047 ROW00044 1.5 ROW00045 1.5 + COL00047 ROW00051 -1. + COL00048 ROW00047 -1. ROW00048 1. + COL00048 ROW00058 1.1 + COL00049 ROW00048 -1. ROW00057 1. + COL00049 ROW00059 1. + COL00050 ROW00049 1. ROW00052 -1. + COL00050 ROW00060 -1. + COL00051 ROW00050 1. ROW00053 -1. + COL00051 ROW00061 -1. + COL00052 ROW00051 1. ROW00054 -1. + COL00052 ROW00062 -1. + COL00053 ROW00052 1. ROW00055 -1. + COL00054 ROW00053 1. ROW00056 -1. + COL00055 ROW00054 1. ROW00057 -1. + COL00056 ROW00055 2. ROW00056 1. + COL00056 ROW00060 -1. + COL00057 ROW00055 1. ROW00056 2. + COL00057 ROW00061 -1. + COL00058 ROW00055 1.5 ROW00056 1.5 + COL00058 ROW00062 -1. + COL00059 ROW00058 -1. ROW00059 1. + COL00059 ROW00069 1.1 + COL00060 ROW00059 -1. ROW00068 1. + COL00060 ROW00070 1. + COL00061 ROW00060 1. ROW00063 -1. + COL00061 ROW00071 -1. + COL00062 ROW00061 1. ROW00064 -1. + COL00062 ROW00072 -1. + COL00063 ROW00062 1. ROW00065 -1. + COL00063 ROW00073 -1. + COL00064 ROW00063 1. ROW00066 -1. + COL00065 ROW00064 1. ROW00067 -1. + COL00066 ROW00065 1. ROW00068 -1. + COL00067 ROW00066 2. ROW00067 1. + COL00067 ROW00071 -1. + COL00068 ROW00066 1. ROW00067 2. + COL00068 ROW00072 -1. + COL00069 ROW00066 1.5 ROW00067 1.5 + COL00069 ROW00073 -1. + COL00070 ROW00069 -1. ROW00070 1. + COL00070 ROW00080 1.1 + COL00071 ROW00070 -1. ROW00079 1. + COL00071 ROW00081 1. + COL00072 ROW00071 1. ROW00074 -1. + COL00072 ROW00082 -1. + COL00073 ROW00072 1. ROW00075 -1. + COL00073 ROW00083 -1. + COL00074 ROW00073 1. ROW00076 -1. + COL00074 ROW00084 -1. + COL00075 ROW00074 1. ROW00077 -1. + COL00076 ROW00075 1. ROW00078 -1. + COL00077 ROW00076 1. ROW00079 -1. + COL00078 ROW00077 2. ROW00078 1. + COL00078 ROW00082 -1. + COL00079 ROW00077 1. ROW00078 2. + COL00079 ROW00083 -1. + COL00080 ROW00077 1.5 ROW00078 1.5 + COL00080 ROW00084 -1. + COL00081 ROW00080 -1. ROW00081 1. + COL00081 ROW00091 1.1 + COL00082 ROW00081 -1. ROW00090 1. + COL00082 ROW00092 1. + COL00083 ROW00082 1. ROW00085 -1. + COL00083 ROW00093 -1. + COL00084 ROW00083 1. ROW00086 -1. + COL00084 ROW00094 -1. + COL00085 ROW00084 1. ROW00087 -1. + COL00085 ROW00095 -1. + COL00086 ROW00085 1. ROW00088 -1. + COL00087 ROW00086 1. ROW00089 -1. + COL00088 ROW00087 1. ROW00090 -1. + COL00089 ROW00088 2. ROW00089 1. + COL00089 ROW00093 -1. + COL00090 ROW00088 1. ROW00089 2. + COL00090 ROW00094 -1. + COL00091 ROW00088 1.5 ROW00089 1.5 + COL00091 ROW00095 -1. + COL00092 ROW00091 -1. ROW00092 1. + COL00092 ROW00102 1.1 + COL00093 ROW00092 -1. ROW00101 1. + COL00094 ROW00093 1. ROW00096 -1. + COL00095 ROW00094 1. ROW00097 -1. + COL00096 ROW00095 1. ROW00098 -1. + COL00097 ROW00096 1. ROW00099 -1. + COL00098 ROW00097 1. ROW00100 -1. + COL00099 ROW00098 1. ROW00101 -1. + COL00100 ROW00099 2. ROW00100 1. + COL00100 ROW00103 -.8 ROW00104 .1 + COL00101 ROW00099 1. ROW00100 2. + COL00101 ROW00103 .1 ROW00104 -.8 + COL00102 ROW00099 1.5 ROW00100 1.5 + COL00102 ROW00103 .15 ROW00104 .15 + COL00102 ROW00105 -1. + COL00103 ROW00102 -1. ROW00105 1. +RHS + CONST ROW00001 200. ROW00002 100. + CONST ROW00011 200. ROW00012 100. + CONST ROW00022 200. ROW00023 100. + CONST ROW00033 200. ROW00034 100. + CONST ROW00044 200. ROW00045 100. + CONST ROW00055 200. ROW00056 100. + CONST ROW00066 200. ROW00067 100. + CONST ROW00077 200. ROW00078 100. + CONST ROW00088 200. ROW00089 100. + CONST ROW00099 200. ROW00100 100. +ENDATA diff --git a/demos/ppl_lpsol/examples/sc50a.mps b/demos/ppl_lpsol/examples/sc50a.mps new file mode 100644 index 000000000..a59623fa8 --- /dev/null +++ b/demos/ppl_lpsol/examples/sc50a.mps @@ -0,0 +1,141 @@ +NAME SC50A +ROWS + N MAXIM + L ROW00001 + L ROW00002 + L ROW00003 + E ROW00004 + E ROW00005 + E ROW00006 + E ROW00007 + L ROW00008 + L ROW00009 + L ROW00010 + L ROW00011 + L ROW00012 + L ROW00013 + E ROW00014 + E ROW00015 + E ROW00016 + E ROW00017 + E ROW00018 + L ROW00019 + L ROW00020 + L ROW00021 + L ROW00022 + L ROW00023 + L ROW00024 + E ROW00025 + E ROW00026 + E ROW00027 + E ROW00028 + E ROW00029 + L ROW00030 + L ROW00031 + L ROW00032 + L ROW00033 + L ROW00034 + L ROW00035 + E ROW00036 + E ROW00037 + E ROW00038 + E ROW00039 + E ROW00040 + L ROW00041 + L ROW00042 + L ROW00043 + L ROW00044 + L ROW00045 + L ROW00046 + E ROW00047 + L ROW00048 + L ROW00049 + L ROW00050 +COLUMNS + COL00001 ROW00001 2. ROW00002 1. + COL00001 ROW00005 -1. + COL00002 ROW00001 1. ROW00002 2. + COL00002 ROW00006 -1. + COL00003 ROW00001 1.5 ROW00002 1.5 + COL00003 ROW00007 -1. + COL00004 MAXIM -1. ROW00004 1. + COL00004 ROW00014 1.1 + COL00005 ROW00004 -1. ROW00013 1. + COL00005 ROW00015 1. + COL00006 ROW00005 1. ROW00008 -1. + COL00006 ROW00016 -1. + COL00007 ROW00006 1. ROW00009 -1. + COL00007 ROW00017 -1. + COL00008 ROW00007 1. ROW00010 -1. + COL00008 ROW00018 -1. + COL00009 ROW00008 1. ROW00011 -1. + COL00010 ROW00009 1. ROW00012 -1. + COL00011 ROW00010 1. ROW00013 -1. + COL00012 ROW00011 2. ROW00012 1. + COL00012 ROW00016 -1. + COL00013 ROW00011 1. ROW00012 2. + COL00013 ROW00017 -1. + COL00014 ROW00011 1.5 ROW00012 1.5 + COL00014 ROW00018 -1. + COL00015 ROW00014 -1. ROW00015 1. + COL00015 ROW00025 1.1 + COL00016 ROW00015 -1. ROW00024 1. + COL00016 ROW00026 1. + COL00017 ROW00016 1. ROW00019 -1. + COL00017 ROW00027 -1. + COL00018 ROW00017 1. ROW00020 -1. + COL00018 ROW00028 -1. + COL00019 ROW00018 1. ROW00021 -1. + COL00019 ROW00029 -1. + COL00020 ROW00019 1. ROW00022 -1. + COL00021 ROW00020 1. ROW00023 -1. + COL00022 ROW00021 1. ROW00024 -1. + COL00023 ROW00022 2. ROW00023 1. + COL00023 ROW00027 -1. + COL00024 ROW00022 1. ROW00023 2. + COL00024 ROW00028 -1. + COL00025 ROW00022 1.5 ROW00023 1.5 + COL00025 ROW00029 -1. + COL00026 ROW00025 -1. ROW00026 1. + COL00026 ROW00036 1.1 + COL00027 ROW00026 -1. ROW00035 1. + COL00027 ROW00037 1. + COL00028 ROW00027 1. ROW00030 -1. + COL00028 ROW00038 -1. + COL00029 ROW00028 1. ROW00031 -1. + COL00029 ROW00039 -1. + COL00030 ROW00029 1. ROW00032 -1. + COL00030 ROW00040 -1. + COL00031 ROW00030 1. ROW00033 -1. + COL00032 ROW00031 1. ROW00034 -1. + COL00033 ROW00032 1. ROW00035 -1. + COL00034 ROW00033 2. ROW00034 1. + COL00034 ROW00038 -1. + COL00035 ROW00033 1. ROW00034 2. + COL00035 ROW00039 -1. + COL00036 ROW00033 1.5 ROW00034 1.5 + COL00036 ROW00040 -1. + COL00037 ROW00036 -1. ROW00037 1. + COL00037 ROW00047 1.1 + COL00038 ROW00037 -1. ROW00046 1. + COL00039 ROW00038 1. ROW00041 -1. + COL00040 ROW00039 1. ROW00042 -1. + COL00041 ROW00040 1. ROW00043 -1. + COL00042 ROW00041 1. ROW00044 -1. + COL00043 ROW00042 1. ROW00045 -1. + COL00044 ROW00043 1. ROW00046 -1. + COL00045 ROW00044 2. ROW00045 1. + COL00045 ROW00048 -.8 ROW00049 .1 + COL00046 ROW00044 1. ROW00045 2. + COL00046 ROW00048 .1 ROW00049 -.8 + COL00047 ROW00044 1.5 ROW00045 1.5 + COL00047 ROW00048 .15 ROW00049 .15 + COL00047 ROW00050 -1. + COL00048 ROW00047 -1. ROW00050 1. +RHS + CONST ROW00001 170. ROW00002 130. + CONST ROW00011 170. ROW00012 130. + CONST ROW00022 170. ROW00023 130. + CONST ROW00033 170. ROW00034 130. + CONST ROW00044 170. ROW00045 130. +ENDATA diff --git a/demos/ppl_lpsol/examples/sc50b.mps b/demos/ppl_lpsol/examples/sc50b.mps new file mode 100644 index 000000000..8d517ef1a --- /dev/null +++ b/demos/ppl_lpsol/examples/sc50b.mps @@ -0,0 +1,127 @@ +NAME SC50B +ROWS + N MAXIM + L ROW00001 + L ROW00002 + L ROW00003 + E ROW00004 + E ROW00005 + E ROW00006 + E ROW00007 + L ROW00008 + L ROW00009 + L ROW00010 + L ROW00011 + L ROW00012 + L ROW00013 + E ROW00014 + E ROW00015 + E ROW00016 + E ROW00017 + E ROW00018 + L ROW00019 + L ROW00020 + L ROW00021 + L ROW00022 + L ROW00023 + L ROW00024 + E ROW00025 + E ROW00026 + E ROW00027 + E ROW00028 + E ROW00029 + L ROW00030 + L ROW00031 + L ROW00032 + L ROW00033 + L ROW00034 + L ROW00035 + E ROW00036 + E ROW00037 + E ROW00038 + E ROW00039 + E ROW00040 + L ROW00041 + L ROW00042 + L ROW00043 + L ROW00044 + L ROW00045 + L ROW00046 + E ROW00047 + L ROW00048 + L ROW00049 + L ROW00050 +COLUMNS + COL00001 ROW00001 3. ROW00005 -1. + COL00002 ROW00001 3. ROW00006 -1. + COL00003 ROW00001 3. ROW00007 -1. + COL00004 MAXIM -1. ROW00004 1. + COL00004 ROW00014 1.1 + COL00005 ROW00004 -1. ROW00012 .4 + COL00005 ROW00013 .6 ROW00015 1. + COL00006 ROW00005 1. ROW00008 -1. + COL00006 ROW00016 -1. + COL00007 ROW00006 1. ROW00009 -1. + COL00007 ROW00017 -1. + COL00008 ROW00007 1. ROW00010 -1. + COL00008 ROW00018 -1. + COL00009 ROW00008 1. ROW00011 -1. + COL00010 ROW00009 1. ROW00012 -1. + COL00011 ROW00010 1. ROW00013 -1. + COL00012 ROW00011 3. ROW00016 -1. + COL00013 ROW00011 3. ROW00017 -1. + COL00014 ROW00011 3. ROW00018 -1. + COL00015 ROW00014 -1. ROW00015 1. + COL00015 ROW00025 1.1 + COL00016 ROW00015 -1. ROW00023 .4 + COL00016 ROW00024 .6 ROW00026 1. + COL00017 ROW00016 1. ROW00019 -1. + COL00017 ROW00027 -1. + COL00018 ROW00017 1. ROW00020 -1. + COL00018 ROW00028 -1. + COL00019 ROW00018 1. ROW00021 -1. + COL00019 ROW00029 -1. + COL00020 ROW00019 1. ROW00022 -1. + COL00021 ROW00020 1. ROW00023 -1. + COL00022 ROW00021 1. ROW00024 -1. + COL00023 ROW00022 3. ROW00027 -1. + COL00024 ROW00022 3. ROW00028 -1. + COL00025 ROW00022 3. ROW00029 -1. + COL00026 ROW00025 -1. ROW00026 1. + COL00026 ROW00036 1.1 + COL00027 ROW00026 -1. ROW00034 .4 + COL00027 ROW00035 .6 ROW00037 1. + COL00028 ROW00027 1. ROW00030 -1. + COL00028 ROW00038 -1. + COL00029 ROW00028 1. ROW00031 -1. + COL00029 ROW00039 -1. + COL00030 ROW00029 1. ROW00032 -1. + COL00030 ROW00040 -1. + COL00031 ROW00030 1. ROW00033 -1. + COL00032 ROW00031 1. ROW00034 -1. + COL00033 ROW00032 1. ROW00035 -1. + COL00034 ROW00033 3. ROW00038 -1. + COL00035 ROW00033 3. ROW00039 -1. + COL00036 ROW00033 3. ROW00040 -1. + COL00037 ROW00036 -1. ROW00037 1. + COL00037 ROW00047 1.1 + COL00038 ROW00037 -1. ROW00045 .4 + COL00038 ROW00046 .6 + COL00039 ROW00038 1. ROW00041 -1. + COL00040 ROW00039 1. ROW00042 -1. + COL00041 ROW00040 1. ROW00043 -1. + COL00042 ROW00041 1. ROW00044 -1. + COL00043 ROW00042 1. ROW00045 -1. + COL00044 ROW00043 1. ROW00046 -1. + COL00045 ROW00044 3. ROW00048 -.7 + COL00046 ROW00044 3. ROW00048 .3 + COL00046 ROW00049 -1. + COL00047 ROW00044 3. ROW00048 .3 + COL00047 ROW00050 -1. + COL00048 ROW00047 -1. ROW00049 .4 + COL00048 ROW00050 .6 +RHS + CONST ROW00001 300. ROW00011 300. + CONST ROW00022 300. ROW00033 300. + CONST ROW00044 300. +ENDATA diff --git a/demos/ppl_lpsol/examples/ship08l.mps b/demos/ppl_lpsol/examples/ship08l.mps new file mode 100644 index 000000000..afb09b814 --- /dev/null +++ b/demos/ppl_lpsol/examples/ship08l.mps @@ -0,0 +1,9547 @@ +NAME SHIP08L +ROWS + N COST + G REGMIN + L REGMAX + G OVRMIN + L OVRMAX + G REGMIN01 + G REGMIN02 + E REGMIN03 + G REGMIN04 + E REGMIN05 + E REGMIN06 + E REGMIN07 + E REGMIN08 + L REGMAX01 + L REGMAX02 + L REGMAX04 + G OVRMIN01 + G OVRMIN02 + E OVRMIN03 + G OVRMIN04 + E OVRMIN05 + E OVRMIN06 + E OVRMIN07 + E OVRMIN08 + L OVRMAX01 + L OVRMAX02 + L OVRMAX04 + L TRAN0101 + L TRAN0102 + L TRAN0103 + L TRAN0104 + L TRAN0105 + L TRAN0106 + L TRAN0107 + L TRAN0108 + L TRAN0201 + L TRAN0202 + L TRAN0203 + L TRAN0204 + L TRAN0205 + L TRAN0206 + L TRAN0207 + L TRAN0208 + L TRAN0301 + L TRAN0302 + L TRAN0303 + L TRAN0304 + L TRAN0305 + L TRAN0306 + L TRAN0307 + L TRAN0308 + L TRAN0401 + L TRAN0402 + L TRAN0403 + L TRAN0404 + L TRAN0405 + L TRAN0406 + L TRAN0407 + L TRAN0408 + L TRAN0501 + L TRAN0502 + L TRAN0503 + L TRAN0504 + L TRAN0505 + L TRAN0506 + L TRAN0507 + L TRAN0508 + L TRAN0601 + L TRAN0602 + L TRAN0603 + L TRAN0604 + L TRAN0605 + L TRAN0606 + L TRAN0607 + L TRAN0608 + L TRAN0701 + L TRAN0702 + L TRAN0703 + L TRAN0704 + L TRAN0705 + L TRAN0706 + L TRAN0707 + L TRAN0708 + L TRAN0801 + L TRAN0802 + L TRAN0803 + L TRAN0804 + L TRAN0805 + L TRAN0806 + L TRAN0807 + L TRAN0808 + E BAL0101 + E BAL0102 + E BAL0103 + E BAL0104 + E BAL0105 + E BAL0106 + E BAL0107 + E BAL0108 + E BAL0109 + E BAL0110 + E BAL0111 + E BAL0112 + E BAL0113 + E BAL0114 + E BAL0115 + E BAL0116 + E BAL0117 + E BAL0118 + E BAL0119 + E BAL0120 + E BAL0121 + E BAL0122 + E BAL0123 + E BAL0124 + E BAL0125 + E BAL0126 + E BAL0127 + E BAL0128 + E BAL0129 + E BAL0130 + E BAL0131 + E BAL0132 + E BAL0133 + E BAL0134 + E BAL0135 + E BAL0136 + E BAL0137 + E BAL0138 + E BAL0139 + E BAL0140 + E BAL0141 + E BAL0142 + E BAL0143 + E BAL0144 + E BAL0145 + E BAL0146 + E BAL0147 + E BAL0148 + E BAL0149 + E BAL0150 + E BAL0151 + E BAL0152 + E BAL0153 + E BAL0154 + E BAL0155 + E BAL0156 + E BAL0157 + E BAL0158 + E BAL0159 + E BAL0160 + E BAL0161 + E BAL0162 + E BAL0163 + E BAL0164 + E BAL0165 + E BAL0166 + E BAL0167 + E BAL0168 + E BAL0169 + E BAL0170 + E BAL0171 + E BAL0172 + E BAL0173 + E BAL0174 + E BAL0175 + E BAL0176 + E BAL0177 + E BAL0178 + E BAL0179 + E BAL0180 + E BAL0181 + E BAL0182 + E BAL0183 + E BAL0184 + E BAL0185 + E BAL0186 + E BAL0201 + E BAL0202 + E BAL0203 + E BAL0204 + E BAL0205 + E BAL0206 + E BAL0207 + E BAL0208 + E BAL0209 + E BAL0210 + E BAL0211 + E BAL0212 + E BAL0213 + E BAL0214 + E BAL0215 + E BAL0216 + E BAL0217 + E BAL0218 + E BAL0219 + E BAL0220 + E BAL0221 + E BAL0222 + E BAL0223 + E BAL0224 + E BAL0225 + E BAL0226 + E BAL0227 + E BAL0228 + E BAL0229 + E BAL0230 + E BAL0231 + E BAL0232 + E BAL0233 + E BAL0234 + E BAL0235 + E BAL0236 + E BAL0237 + E BAL0238 + E BAL0239 + E BAL0240 + E BAL0241 + E BAL0242 + E BAL0243 + E BAL0244 + E BAL0245 + E BAL0246 + E BAL0247 + E BAL0248 + E BAL0249 + E BAL0250 + E BAL0251 + E BAL0252 + E BAL0253 + E BAL0254 + E BAL0255 + E BAL0256 + E BAL0257 + E BAL0258 + E BAL0259 + E BAL0260 + E BAL0261 + E BAL0262 + E BAL0263 + E BAL0264 + E BAL0265 + E BAL0266 + E BAL0267 + E BAL0268 + E BAL0269 + E BAL0270 + E BAL0271 + E BAL0272 + E BAL0273 + E BAL0274 + E BAL0275 + E BAL0276 + E BAL0277 + E BAL0278 + E BAL0279 + E BAL0280 + E BAL0281 + E BAL0282 + E BAL0283 + E BAL0284 + E BAL0285 + E BAL0286 + E BAL0301 + E BAL0302 + E BAL0303 + E BAL0304 + E BAL0305 + E BAL0306 + E BAL0307 + E BAL0308 + E BAL0309 + E BAL0310 + E BAL0311 + E BAL0312 + E BAL0313 + E BAL0314 + E BAL0315 + E BAL0316 + E BAL0317 + E BAL0318 + E BAL0319 + E BAL0320 + E BAL0321 + E BAL0322 + E BAL0323 + E BAL0324 + E BAL0325 + E BAL0326 + E BAL0327 + E BAL0328 + E BAL0329 + E BAL0330 + E BAL0331 + E BAL0332 + E BAL0333 + E BAL0334 + E BAL0335 + E BAL0336 + E BAL0337 + E BAL0338 + E BAL0339 + E BAL0340 + E BAL0341 + E BAL0342 + E BAL0343 + E BAL0344 + E BAL0345 + E BAL0346 + E BAL0347 + E BAL0348 + E BAL0349 + E BAL0350 + E BAL0351 + E BAL0352 + E BAL0353 + E BAL0354 + E BAL0355 + E BAL0356 + E BAL0357 + E BAL0358 + E BAL0359 + E BAL0360 + E BAL0361 + E BAL0362 + E BAL0363 + E BAL0364 + E BAL0365 + E BAL0366 + E BAL0367 + E BAL0368 + E BAL0369 + E BAL0370 + E BAL0371 + E BAL0372 + E BAL0373 + E BAL0374 + E BAL0375 + E BAL0376 + E BAL0377 + E BAL0378 + E BAL0379 + E BAL0380 + E BAL0381 + E BAL0382 + E BAL0383 + E BAL0384 + E BAL0385 + E BAL0386 + E BAL0401 + E BAL0402 + E BAL0403 + E BAL0404 + E BAL0405 + E BAL0406 + E BAL0407 + E BAL0408 + E BAL0409 + E BAL0410 + E BAL0411 + E BAL0412 + E BAL0413 + E BAL0414 + E BAL0415 + E BAL0416 + E BAL0417 + E BAL0418 + E BAL0419 + E BAL0420 + E BAL0421 + E BAL0422 + E BAL0423 + E BAL0424 + E BAL0425 + E BAL0426 + E BAL0427 + E BAL0428 + E BAL0429 + E BAL0430 + E BAL0431 + E BAL0432 + E BAL0433 + E BAL0434 + E BAL0435 + E BAL0436 + E BAL0437 + E BAL0438 + E BAL0439 + E BAL0440 + E BAL0441 + E BAL0442 + E BAL0443 + E BAL0444 + E BAL0445 + E BAL0446 + E BAL0447 + E BAL0448 + E BAL0449 + E BAL0450 + E BAL0451 + E BAL0452 + E BAL0453 + E BAL0454 + E BAL0455 + E BAL0456 + E BAL0457 + E BAL0458 + E BAL0459 + E BAL0460 + E BAL0461 + E BAL0462 + E BAL0463 + E BAL0464 + E BAL0465 + E BAL0466 + E BAL0467 + E BAL0468 + E BAL0469 + E BAL0470 + E BAL0471 + E BAL0472 + E BAL0473 + E BAL0474 + E BAL0475 + E BAL0476 + E BAL0477 + E BAL0478 + E BAL0479 + E BAL0480 + E BAL0481 + E BAL0482 + E BAL0483 + E BAL0484 + E BAL0485 + E BAL0486 + E BAL0501 + E BAL0502 + E BAL0503 + E BAL0504 + E BAL0505 + E BAL0506 + E BAL0507 + E BAL0508 + E BAL0509 + E BAL0510 + E BAL0511 + E BAL0512 + E BAL0513 + E BAL0514 + E BAL0515 + E BAL0516 + E BAL0517 + E BAL0518 + E BAL0519 + E BAL0520 + E BAL0521 + E BAL0522 + E BAL0523 + E BAL0524 + E BAL0525 + E BAL0526 + E BAL0527 + E BAL0528 + E BAL0529 + E BAL0530 + E BAL0531 + E BAL0532 + E BAL0533 + E BAL0534 + E BAL0535 + E BAL0536 + E BAL0537 + E BAL0538 + E BAL0539 + E BAL0540 + E BAL0541 + E BAL0542 + E BAL0543 + E BAL0544 + E BAL0545 + E BAL0546 + E BAL0547 + E BAL0548 + E BAL0549 + E BAL0550 + E BAL0551 + E BAL0552 + E BAL0553 + E BAL0554 + E BAL0555 + E BAL0556 + E BAL0557 + E BAL0558 + E BAL0559 + E BAL0560 + E BAL0561 + E BAL0562 + E BAL0563 + E BAL0564 + E BAL0565 + E BAL0566 + E BAL0567 + E BAL0568 + E BAL0569 + E BAL0570 + E BAL0571 + E BAL0572 + E BAL0573 + E BAL0574 + E BAL0575 + E BAL0576 + E BAL0577 + E BAL0578 + E BAL0579 + E BAL0580 + E BAL0581 + E BAL0582 + E BAL0583 + E BAL0584 + E BAL0585 + E BAL0586 + E BAL0601 + E BAL0602 + E BAL0603 + E BAL0604 + E BAL0605 + E BAL0606 + E BAL0607 + E BAL0608 + E BAL0609 + E BAL0610 + E BAL0611 + E BAL0612 + E BAL0613 + E BAL0614 + E BAL0615 + E BAL0616 + E BAL0617 + E BAL0618 + E BAL0619 + E BAL0620 + E BAL0621 + E BAL0622 + E BAL0623 + E BAL0624 + E BAL0625 + E BAL0626 + E BAL0627 + E BAL0628 + E BAL0629 + E BAL0630 + E BAL0631 + E BAL0632 + E BAL0633 + E BAL0634 + E BAL0635 + E BAL0636 + E BAL0637 + E BAL0638 + E BAL0639 + E BAL0640 + E BAL0641 + E BAL0642 + E BAL0643 + E BAL0644 + E BAL0645 + E BAL0646 + E BAL0647 + E BAL0648 + E BAL0649 + E BAL0650 + E BAL0651 + E BAL0652 + E BAL0653 + E BAL0654 + E BAL0655 + E BAL0656 + E BAL0657 + E BAL0658 + E BAL0659 + E BAL0660 + E BAL0661 + E BAL0662 + E BAL0663 + E BAL0664 + E BAL0665 + E BAL0666 + E BAL0667 + E BAL0668 + E BAL0669 + E BAL0670 + E BAL0671 + E BAL0672 + E BAL0673 + E BAL0674 + E BAL0675 + E BAL0676 + E BAL0677 + E BAL0678 + E BAL0679 + E BAL0680 + E BAL0681 + E BAL0682 + E BAL0683 + E BAL0684 + E BAL0685 + E BAL0686 + E BAL0701 + E BAL0702 + E BAL0703 + E BAL0704 + E BAL0705 + E BAL0706 + E BAL0707 + E BAL0708 + E BAL0709 + E BAL0710 + E BAL0711 + E BAL0712 + E BAL0713 + E BAL0714 + E BAL0715 + E BAL0716 + E BAL0717 + E BAL0718 + E BAL0719 + E BAL0720 + E BAL0721 + E BAL0722 + E BAL0723 + E BAL0724 + E BAL0725 + E BAL0726 + E BAL0727 + E BAL0728 + E BAL0729 + E BAL0730 + E BAL0731 + E BAL0732 + E BAL0733 + E BAL0734 + E BAL0735 + E BAL0736 + E BAL0737 + E BAL0738 + E BAL0739 + E BAL0740 + E BAL0741 + E BAL0742 + E BAL0743 + E BAL0744 + E BAL0745 + E BAL0746 + E BAL0747 + E BAL0748 + E BAL0749 + E BAL0750 + E BAL0751 + E BAL0752 + E BAL0753 + E BAL0754 + E BAL0755 + E BAL0756 + E BAL0757 + E BAL0758 + E BAL0759 + E BAL0760 + E BAL0761 + E BAL0762 + E BAL0763 + E BAL0764 + E BAL0765 + E BAL0766 + E BAL0767 + E BAL0768 + E BAL0769 + E BAL0770 + E BAL0771 + E BAL0772 + E BAL0773 + E BAL0774 + E BAL0775 + E BAL0776 + E BAL0777 + E BAL0778 + E BAL0779 + E BAL0780 + E BAL0781 + E BAL0782 + E BAL0783 + E BAL0784 + E BAL0785 + E BAL0786 + E BAL0801 + E BAL0802 + E BAL0803 + E BAL0804 + E BAL0805 + E BAL0806 + E BAL0807 + E BAL0808 + E BAL0809 + E BAL0810 + E BAL0811 + E BAL0812 + E BAL0813 + E BAL0814 + E BAL0815 + E BAL0816 + E BAL0817 + E BAL0818 + E BAL0819 + E BAL0820 + E BAL0821 + E BAL0822 + E BAL0823 + E BAL0824 + E BAL0825 + E BAL0826 + E BAL0827 + E BAL0828 + E BAL0829 + E BAL0830 + E BAL0831 + E BAL0832 + E BAL0833 + E BAL0834 + E BAL0835 + E BAL0836 + E BAL0837 + E BAL0838 + E BAL0839 + E BAL0840 + E BAL0841 + E BAL0842 + E BAL0843 + E BAL0844 + E BAL0845 + E BAL0846 + E BAL0847 + E BAL0848 + E BAL0849 + E BAL0850 + E BAL0851 + E BAL0852 + E BAL0853 + E BAL0854 + E BAL0855 + E BAL0856 + E BAL0857 + E BAL0858 + E BAL0859 + E BAL0860 + E BAL0861 + E BAL0862 + E BAL0863 + E BAL0864 + E BAL0865 + E BAL0866 + E BAL0867 + E BAL0868 + E BAL0869 + E BAL0870 + E BAL0871 + E BAL0872 + E BAL0873 + E BAL0874 + E BAL0875 + E BAL0876 + E BAL0877 + E BAL0878 + E BAL0879 + E BAL0880 + E BAL0881 + E BAL0882 + E BAL0883 + E BAL0884 + E BAL0885 + E BAL0886 +COLUMNS + PREG0101 COST 4862. REGMIN .0210855 + PREG0101 REGMAX .0210855 REGMIN01 .0210855 + PREG0101 REGMAX01 .0210855 TRAN0101 -1. + PREG0101 BAL0101 1. + PREG0102 COST 4688. REGMIN .0175461 + PREG0102 REGMAX .0175461 REGMIN01 .0175461 + PREG0102 REGMAX01 .0175461 TRAN0201 -1. + PREG0102 BAL0201 1. + PREG0103 COST 4872. REGMIN .0175461 + PREG0103 REGMAX .0175461 REGMIN01 .0175461 + PREG0103 REGMAX01 .0175461 TRAN0301 -1. + PREG0103 BAL0301 1. + PREG0105 COST 4655. REGMIN .0175461 + PREG0105 REGMAX .0175461 REGMIN01 .0175461 + PREG0105 REGMAX01 .0175461 TRAN0501 -1. + PREG0105 BAL0501 1. + PREG0202 COST 4196. REGMIN .0187961 + PREG0202 REGMAX .0187961 REGMIN02 .0187961 + PREG0202 REGMAX02 .0187961 TRAN0202 -1. + PREG0202 BAL0202 1. + PREG0203 COST 4338. REGMIN .0328947 + PREG0203 REGMAX .0328947 REGMIN02 .0328947 + PREG0203 REGMAX02 .0328947 TRAN0302 -1. + PREG0203 BAL0302 1. + PREG0205 COST 4283. REGMIN .0112105 + PREG0205 REGMAX .0112105 REGMIN02 .0112105 + PREG0205 REGMAX02 .0112105 TRAN0502 -1. + PREG0205 BAL0502 1. + PREG0207 COST 4156. REGMIN .0131579 + PREG0207 REGMAX .0131579 REGMIN02 .0131579 + PREG0207 REGMAX02 .0131579 TRAN0702 -1. + PREG0207 BAL0702 1. + PREG0401 COST 4691. REGMIN .0175461 + PREG0401 REGMAX .0175461 REGMIN04 .0175461 + PREG0401 REGMAX04 .0175461 TRAN0104 -1. + PREG0401 BAL0104 1. + PREG0402 COST 4669. REGMIN .0181711 + PREG0402 REGMAX .0181711 REGMIN04 .0181711 + PREG0402 REGMAX04 .0181711 TRAN0204 -1. + PREG0402 BAL0204 1. + PREG0404 COST 6724. REGMIN .0263158 + PREG0404 REGMAX .0263158 REGMIN04 .0263158 + PREG0404 REGMAX04 .0263158 TRAN0404 -1. + PREG0404 BAL0404 1. + PREG0405 COST 4615. REGMIN .0181711 + PREG0405 REGMAX .0181711 REGMIN04 .0181711 + PREG0405 REGMAX04 .0181711 TRAN0504 -1. + PREG0405 BAL0504 1. + PREG0406 COST 4148. REGMIN .0181711 + PREG0406 REGMAX .0181711 REGMIN04 .0181711 + PREG0406 REGMAX04 .0181711 TRAN0604 -1. + PREG0406 BAL0604 1. + PREG0408 COST 6411. REGMIN .0239211 + PREG0408 REGMAX .0239211 REGMIN04 .0239211 + PREG0408 REGMAX04 .0239211 TRAN0804 -1. + PREG0408 BAL0804 1. + POVR0101 COST 6552. OVRMIN 3.205 + POVR0101 OVRMAX 3.205 OVRMIN01 3.205 + POVR0101 OVRMAX01 3.205 TRAN0101 -1. + POVR0101 BAL0101 1. + POVR0102 COST 6351. OVRMIN 2.667 + POVR0102 OVRMAX 2.667 OVRMIN01 2.667 + POVR0102 OVRMAX01 2.667 TRAN0201 -1. + POVR0102 BAL0201 1. + POVR0103 COST 6554. OVRMIN 2.667 + POVR0103 OVRMAX 2.667 OVRMIN01 2.667 + POVR0103 OVRMAX01 2.667 TRAN0301 -1. + POVR0103 BAL0301 1. + POVR0105 COST 6325. OVRMIN 2.667 + POVR0105 OVRMAX 2.667 OVRMIN01 2.667 + POVR0105 OVRMAX01 2.667 TRAN0501 -1. + POVR0105 BAL0501 1. + POVR0202 COST 5756. OVRMIN 2.857 + POVR0202 OVRMAX 2.857 OVRMIN02 2.857 + POVR0202 OVRMAX02 2.857 TRAN0202 -1. + POVR0202 BAL0202 1. + POVR0203 COST 6777. OVRMIN 5. + POVR0203 OVRMAX 5. OVRMIN02 5. + POVR0203 OVRMAX02 5. TRAN0302 -1. + POVR0203 BAL0302 1. + POVR0205 COST 5844. OVRMIN 1.704 + POVR0205 OVRMAX 1.704 OVRMIN02 1.704 + POVR0205 OVRMAX02 1.704 TRAN0502 -1. + POVR0205 BAL0502 1. + POVR0207 COST 5673. OVRMIN 2. + POVR0207 OVRMAX 2. OVRMIN02 2. + POVR0207 OVRMAX02 2. TRAN0702 -1. + POVR0207 BAL0702 1. + POVR0401 COST 5794. OVRMIN 2.667 + POVR0401 OVRMAX 2.667 OVRMIN04 2.667 + POVR0401 OVRMAX04 2.667 TRAN0104 -1. + POVR0401 BAL0104 1. + POVR0402 COST 5787. OVRMIN 2.762 + POVR0402 OVRMAX 2.762 OVRMIN04 2.762 + POVR0402 OVRMAX04 2.762 TRAN0204 -1. + POVR0402 BAL0204 1. + POVR0404 COST 8111. OVRMIN 4. + POVR0404 OVRMAX 4. OVRMIN04 4. + POVR0404 OVRMAX04 4. TRAN0404 -1. + POVR0404 BAL0404 1. + POVR0405 COST 5721. OVRMIN 2.762 + POVR0405 OVRMAX 2.762 OVRMIN04 2.762 + POVR0405 OVRMAX04 2.762 TRAN0504 -1. + POVR0405 BAL0504 1. + POVR0406 COST 5303. OVRMIN 2.762 + POVR0406 OVRMAX 2.762 OVRMIN04 2.762 + POVR0406 OVRMAX04 2.762 TRAN0604 -1. + POVR0406 BAL0604 1. + SH010201 COST 323.73 TRAN0102 1. + SH010201 BAL0102 -1. BAL0101 1. + SH010301 COST 124.26 TRAN0103 1. + SH010301 BAL0103 -1. BAL0101 1. + SH010401 COST 226.72 TRAN0104 1. + SH010401 BAL0104 -1. BAL0101 1. + SH010501 COST 258.33 TRAN0105 1. + SH010501 BAL0105 -1. BAL0101 1. + SH010601 COST 137.34 TRAN0106 1. + SH010601 BAL0152 -1. BAL0101 1. + SH010801 COST 155.87 TRAN0108 1. + SH010801 BAL0183 -1. BAL0101 1. + SH010102 COST 516.66 TRAN0101 1. + SH010102 BAL0101 -1. BAL0102 1. + SH010302 COST 454.53 TRAN0103 1. + SH010302 BAL0103 -1. BAL0102 1. + SH010402 COST 667.08 TRAN0104 1. + SH010402 BAL0104 -1. BAL0102 1. + SH010502 COST 807.69 TRAN0105 1. + SH010502 BAL0105 -1. BAL0102 1. + SH010602 COST 412.02 TRAN0106 1. + SH010602 BAL0152 -1. BAL0102 1. + SH010802 COST 567.89 TRAN0108 1. + SH010802 BAL0183 -1. BAL0102 1. + SH010103 COST 267.05 TRAN0101 1. + SH010103 BAL0101 -1. BAL0103 1. + SH010203 COST 516.66 TRAN0102 1. + SH010203 BAL0102 -1. BAL0103 1. + SH010403 COST 400.03 TRAN0104 1. + SH010403 BAL0104 -1. BAL0103 1. + SH010503 COST 309.56 TRAN0105 1. + SH010503 BAL0105 -1. BAL0103 1. + SH010603 COST 98.1 TRAN0106 1. + SH010603 BAL0152 -1. BAL0103 1. + SH010803 COST 277.95 TRAN0108 1. + SH010803 BAL0183 -1. BAL0103 1. + SH010104 COST 189.66 TRAN0101 1. + SH010104 BAL0101 -1. BAL0104 1. + SH010204 COST 548.27 TRAN0102 1. + SH010204 BAL0102 -1. BAL0104 1. + SH010304 COST 264.87 TRAN0103 1. + SH010304 BAL0103 -1. BAL0104 1. + SH010504 COST 347.71 TRAN0105 1. + SH010504 BAL0105 -1. BAL0104 1. + SH010604 COST 267.05 TRAN0106 1. + SH010604 BAL0152 -1. BAL0104 1. + SH010704 COST 293.21 TRAN0107 1. + SH010704 BAL0164 -1. BAL0104 1. + SH010804 COST 63.22 TRAN0108 1. + SH010804 BAL0183 -1. BAL0104 1. + SH010105 COST 294.3 TRAN0101 1. + SH010105 BAL0101 -1. BAL0105 1. + SH010205 COST 562.44 TRAN0102 1. + SH010205 BAL0102 -1. BAL0105 1. + SH010305 COST 309.56 TRAN0103 1. + SH010305 BAL0103 -1. BAL0105 1. + SH010405 COST 310.65 TRAN0104 1. + SH010405 BAL0104 -1. BAL0105 1. + SH010605 COST 355.34 TRAN0106 1. + SH010605 BAL0152 -1. BAL0105 1. + SH010705 COST 364.06 TRAN0107 1. + SH010705 BAL0164 -1. BAL0105 1. + SH010805 COST 295.39 TRAN0108 1. + SH010805 BAL0183 -1. BAL0105 1. + SH010106 COST 216.91 TRAN0101 1. + SH010106 BAL0101 -1. BAL0106 1. + SH010206 COST 454.53 TRAN0102 1. + SH010206 BAL0102 -1. BAL0106 1. + SH010306 COST 232.17 TRAN0103 1. + SH010306 BAL0103 -1. BAL0106 1. + SH010406 COST 238.71 TRAN0104 1. + SH010406 BAL0104 -1. BAL0106 1. + SH010506 COST 274.68 TRAN0105 1. + SH010506 BAL0105 -1. BAL0106 1. + SH010606 COST 224.54 TRAN0106 1. + SH010606 BAL0152 -1. BAL0106 1. + SH010706 COST 218. TRAN0107 1. + SH010706 BAL0164 -1. BAL0106 1. + SH010806 COST 164.59 TRAN0108 1. + SH010806 BAL0183 -1. BAL0106 1. + SH010107 COST 22.89 TRAN0101 1. + SH010107 BAL0101 -1. BAL0107 1. + SH010207 COST 318.28 TRAN0102 1. + SH010207 BAL0102 -1. BAL0107 1. + SH010307 COST 135.16 TRAN0103 1. + SH010307 BAL0103 -1. BAL0107 1. + SH010407 COST 225.63 TRAN0104 1. + SH010407 BAL0104 -1. BAL0107 1. + SH010507 COST 249.61 TRAN0105 1. + SH010507 BAL0105 -1. BAL0107 1. + SH010607 COST 136.25 TRAN0106 1. + SH010607 BAL0152 -1. BAL0107 1. + SH010707 COST 252.88 TRAN0107 1. + SH010707 BAL0164 -1. BAL0107 1. + SH010807 COST 168.95 TRAN0108 1. + SH010807 BAL0183 -1. BAL0107 1. + SH010108 COST 71.94 TRAN0101 1. + SH010108 BAL0101 -1. BAL0108 1. + SH010208 COST 409.84 TRAN0102 1. + SH010208 BAL0102 -1. BAL0108 1. + SH010308 COST 153.69 TRAN0103 1. + SH010308 BAL0103 -1. BAL0108 1. + SH010408 COST 269.23 TRAN0104 1. + SH010408 BAL0104 -1. BAL0108 1. + SH010508 COST 198.38 TRAN0105 1. + SH010508 BAL0105 -1. BAL0108 1. + SH010608 COST 180.94 TRAN0106 1. + SH010608 BAL0152 -1. BAL0108 1. + SH010808 COST 203.83 TRAN0108 1. + SH010808 BAL0183 -1. BAL0108 1. + SH010109 COST 150.42 TRAN0101 1. + SH010109 BAL0101 -1. BAL0109 1. + SH010209 COST 417.47 TRAN0102 1. + SH010209 BAL0102 -1. BAL0109 1. + SH010309 COST 183.12 TRAN0103 1. + SH010309 BAL0103 -1. BAL0109 1. + SH010409 COST 275.77 TRAN0104 1. + SH010409 BAL0104 -1. BAL0109 1. + SH010509 COST 260.51 TRAN0105 1. + SH010509 BAL0105 -1. BAL0109 1. + SH010709 COST 213.64 TRAN0107 1. + SH010709 BAL0164 -1. BAL0109 1. + SH010809 COST 211.46 TRAN0108 1. + SH010809 BAL0183 -1. BAL0109 1. + SH010110 COST 269.23 TRAN0101 1. + SH010110 BAL0101 -1. BAL0110 1. + SH010210 COST 172.22 TRAN0102 1. + SH010210 BAL0102 -1. BAL0110 1. + SH010310 COST 261.6 TRAN0103 1. + SH010310 BAL0103 -1. BAL0110 1. + SH010410 COST 391.31 TRAN0104 1. + SH010410 BAL0104 -1. BAL0110 1. + SH010510 COST 419.65 TRAN0105 1. + SH010510 BAL0105 -1. BAL0110 1. + SH010610 COST 245.25 TRAN0106 1. + SH010610 BAL0152 -1. BAL0110 1. + SH010810 COST 332.45 TRAN0108 1. + SH010810 BAL0183 -1. BAL0110 1. + SH010111 COST 115.54 TRAN0101 1. + SH010111 BAL0101 -1. BAL0111 1. + SH010211 COST 539.55 TRAN0102 1. + SH010211 BAL0102 -1. BAL0111 1. + SH010311 COST 270.32 TRAN0103 1. + SH010311 BAL0103 -1. BAL0111 1. + SH010411 COST 151.51 TRAN0104 1. + SH010411 BAL0104 -1. BAL0111 1. + SH010511 COST 371.69 TRAN0105 1. + SH010511 BAL0105 -1. BAL0111 1. + SH010611 COST 213.64 TRAN0106 1. + SH010611 BAL0152 -1. BAL0111 1. + SH010811 COST 111.18 TRAN0108 1. + SH010811 BAL0183 -1. BAL0111 1. + SH010112 COST 95.92 TRAN0101 1. + SH010112 BAL0101 -1. BAL0112 1. + SH010212 COST 369.51 TRAN0102 1. + SH010212 BAL0102 -1. BAL0112 1. + SH010312 COST 159.14 TRAN0103 1. + SH010312 BAL0103 -1. BAL0112 1. + SH010412 COST 218. TRAN0104 1. + SH010412 BAL0104 -1. BAL0112 1. + SH010512 COST 291.03 TRAN0105 1. + SH010512 BAL0105 -1. BAL0112 1. + SH010612 COST 158.05 TRAN0106 1. + SH010612 BAL0152 -1. BAL0112 1. + SH010812 COST 159.14 TRAN0108 1. + SH010812 BAL0183 -1. BAL0112 1. + SH010114 COST 154.78 TRAN0101 1. + SH010114 BAL0101 -1. BAL0114 1. + SH010214 COST 449.08 TRAN0102 1. + SH010214 BAL0102 -1. BAL0114 1. + SH010314 COST 213.64 TRAN0103 1. + SH010314 BAL0103 -1. BAL0114 1. + SH010414 COST 216.91 TRAN0104 1. + SH010414 BAL0104 -1. BAL0114 1. + SH010514 COST 383.68 TRAN0105 1. + SH010514 BAL0105 -1. BAL0114 1. + SH010614 COST 204.92 TRAN0106 1. + SH010614 BAL0152 -1. BAL0114 1. + SH010814 COST 137.34 TRAN0108 1. + SH010814 BAL0183 -1. BAL0114 1. + SH010115 COST 330.27 TRAN0101 1. + SH010115 BAL0101 -1. BAL0115 1. + SH010215 COST 173.31 TRAN0102 1. + SH010215 BAL0102 -1. BAL0115 1. + SH010315 COST 255.06 TRAN0103 1. + SH010315 BAL0103 -1. BAL0115 1. + SH010415 COST 518.84 TRAN0104 1. + SH010415 BAL0104 -1. BAL0115 1. + SH010515 COST 433.82 TRAN0105 1. + SH010515 BAL0105 -1. BAL0115 1. + SH010615 COST 204.92 TRAN0106 1. + SH010615 BAL0152 -1. BAL0115 1. + SH010815 COST 406.57 TRAN0108 1. + SH010815 BAL0183 -1. BAL0115 1. + SH010116 COST 172.22 TRAN0101 1. + SH010116 BAL0101 -1. BAL0116 1. + SH010216 COST 305.2 TRAN0102 1. + SH010216 BAL0102 -1. BAL0116 1. + SH010316 COST 247.43 TRAN0103 1. + SH010316 BAL0103 -1. BAL0116 1. + SH010416 COST 312.83 TRAN0104 1. + SH010416 BAL0104 -1. BAL0116 1. + SH010516 COST 347.71 TRAN0105 1. + SH010516 BAL0105 -1. BAL0116 1. + SH010616 COST 142.79 TRAN0106 1. + SH010616 BAL0152 -1. BAL0116 1. + SH010816 COST 223.45 TRAN0108 1. + SH010816 BAL0183 -1. BAL0116 1. + SH010117 COST 164.59 TRAN0101 1. + SH010117 BAL0101 -1. BAL0117 1. + SH010217 COST 550.45 TRAN0102 1. + SH010217 BAL0102 -1. BAL0117 1. + SH010317 COST 298.66 TRAN0103 1. + SH010317 BAL0103 -1. BAL0117 1. + SH010417 COST 62.13 TRAN0104 1. + SH010417 BAL0104 -1. BAL0117 1. + SH010517 COST 324.82 TRAN0105 1. + SH010517 BAL0105 -1. BAL0117 1. + SH010717 COST 321.55 TRAN0107 1. + SH010717 BAL0164 -1. BAL0117 1. + SH010817 COST 29.43 TRAN0108 1. + SH010817 BAL0183 -1. BAL0117 1. + SH010118 COST 190.75 TRAN0101 1. + SH010118 BAL0101 -1. BAL0118 1. + SH010218 COST 393.49 TRAN0102 1. + SH010218 BAL0102 -1. BAL0118 1. + SH010318 COST 294.3 TRAN0103 1. + SH010318 BAL0103 -1. BAL0118 1. + SH010418 COST 167.86 TRAN0104 1. + SH010418 BAL0104 -1. BAL0118 1. + SH010518 COST 443.63 TRAN0105 1. + SH010518 BAL0105 -1. BAL0118 1. + SH010618 COST 383.68 TRAN0106 1. + SH010618 BAL0152 -1. BAL0118 1. + SH010818 COST 112.27 TRAN0108 1. + SH010818 BAL0183 -1. BAL0118 1. + SH010119 COST 270.32 TRAN0101 1. + SH010119 BAL0101 -1. BAL0119 1. + SH010219 COST 748.83 TRAN0102 1. + SH010219 BAL0102 -1. BAL0119 1. + SH010319 COST 345.53 TRAN0103 1. + SH010319 BAL0103 -1. BAL0119 1. + SH010419 COST 173.31 TRAN0104 1. + SH010419 BAL0104 -1. BAL0119 1. + SH010519 COST 226.72 TRAN0105 1. + SH010519 BAL0105 -1. BAL0119 1. + SH010619 COST 376.05 TRAN0106 1. + SH010619 BAL0152 -1. BAL0119 1. + SH010819 COST 107.91 TRAN0108 1. + SH010819 BAL0183 -1. BAL0119 1. + SH010120 COST 223.45 TRAN0101 1. + SH010120 BAL0101 -1. BAL0120 1. + SH010220 COST 744.47 TRAN0102 1. + SH010220 BAL0102 -1. BAL0120 1. + SH010320 COST 323.73 TRAN0103 1. + SH010320 BAL0103 -1. BAL0120 1. + SH010420 COST 123.17 TRAN0104 1. + SH010420 BAL0104 -1. BAL0120 1. + SH010520 COST 317.19 TRAN0105 1. + SH010520 BAL0105 -1. BAL0120 1. + SH010820 COST 137.34 TRAN0108 1. + SH010820 BAL0183 -1. BAL0120 1. + SH010121 COST 439.27 TRAN0101 1. + SH010121 BAL0101 -1. BAL0121 1. + SH010221 COST 401.12 TRAN0102 1. + SH010221 BAL0102 -1. BAL0121 1. + SH010321 COST 486.14 TRAN0103 1. + SH010321 BAL0103 -1. BAL0121 1. + SH010421 COST 348.8 TRAN0104 1. + SH010421 BAL0104 -1. BAL0121 1. + SH010521 COST 599.5 TRAN0105 1. + SH010521 BAL0105 -1. BAL0121 1. + SH010821 COST 348.8 TRAN0108 1. + SH010821 BAL0183 -1. BAL0121 1. + SH010122 COST 270.32 TRAN0101 1. + SH010122 BAL0101 -1. BAL0122 1. + SH010222 COST 630.02 TRAN0102 1. + SH010222 BAL0102 -1. BAL0122 1. + SH010322 COST 325.91 TRAN0103 1. + SH010322 BAL0103 -1. BAL0122 1. + SH010422 COST 244.16 TRAN0104 1. + SH010422 BAL0104 -1. BAL0122 1. + SH010522 COST 195.11 TRAN0105 1. + SH010522 BAL0105 -1. BAL0122 1. + SH010622 COST 337.9 TRAN0106 1. + SH010622 BAL0152 -1. BAL0122 1. + SH010822 COST 151.51 TRAN0108 1. + SH010822 BAL0183 -1. BAL0122 1. + SH010123 COST 255.06 TRAN0101 1. + SH010123 BAL0101 -1. BAL0123 1. + SH010223 COST 589.69 TRAN0102 1. + SH010223 BAL0102 -1. BAL0123 1. + SH010323 COST 312.83 TRAN0103 1. + SH010323 BAL0103 -1. BAL0123 1. + SH010423 COST 182.03 TRAN0104 1. + SH010423 BAL0104 -1. BAL0123 1. + SH010523 COST 180.94 TRAN0105 1. + SH010523 BAL0105 -1. BAL0123 1. + SH010823 COST 151.51 TRAN0108 1. + SH010823 BAL0183 -1. BAL0123 1. + SH010124 COST 1565.24 TRAN0101 1. + SH010124 BAL0101 -1. BAL0124 1. + SH010125 COST 421.83 TRAN0101 1. + SH010125 BAL0101 -1. BAL0125 1. + SH010225 COST 465.43 TRAN0102 1. + SH010225 BAL0102 -1. BAL0125 1. + SH010325 COST 556.99 TRAN0103 1. + SH010325 BAL0103 -1. BAL0125 1. + SH010425 COST 379.32 TRAN0104 1. + SH010425 BAL0104 -1. BAL0125 1. + SH010525 COST 616.94 TRAN0105 1. + SH010525 BAL0105 -1. BAL0125 1. + SH010625 COST 439.27 TRAN0106 1. + SH010625 BAL0152 -1. BAL0125 1. + SH010825 COST 332.45 TRAN0108 1. + SH010825 BAL0183 -1. BAL0125 1. + SH010426 COST 294.3 TRAN0104 1. + SH010426 BAL0104 -1. BAL0126 1. + SH010127 COST 255.06 TRAN0101 1. + SH010127 BAL0101 -1. BAL0127 1. + SH010227 COST 309.56 TRAN0102 1. + SH010227 BAL0102 -1. BAL0127 1. + SH010327 COST 315.01 TRAN0103 1. + SH010327 BAL0103 -1. BAL0127 1. + SH010427 COST 365.15 TRAN0104 1. + SH010427 BAL0104 -1. BAL0127 1. + SH010527 COST 412.02 TRAN0105 1. + SH010527 BAL0105 -1. BAL0127 1. + SH010627 COST 292.12 TRAN0106 1. + SH010627 BAL0152 -1. BAL0127 1. + SH010827 COST 274.68 TRAN0108 1. + SH010827 BAL0183 -1. BAL0127 1. + SH010128 COST 264.87 TRAN0101 1. + SH010128 BAL0101 -1. BAL0128 1. + SH010228 COST 620.21 TRAN0102 1. + SH010228 BAL0102 -1. BAL0128 1. + SH010328 COST 322.64 TRAN0103 1. + SH010328 BAL0103 -1. BAL0128 1. + SH010428 COST 321.55 TRAN0104 1. + SH010428 BAL0104 -1. BAL0128 1. + SH010528 COST 111.18 TRAN0105 1. + SH010528 BAL0105 -1. BAL0128 1. + SH010628 COST 284.49 TRAN0106 1. + SH010628 BAL0152 -1. BAL0128 1. + SH010728 COST 116.63 TRAN0107 1. + SH010728 BAL0164 -1. BAL0128 1. + SH010828 COST 276.86 TRAN0108 1. + SH010828 BAL0183 -1. BAL0128 1. + SH010129 COST 243.07 TRAN0101 1. + SH010129 BAL0101 -1. BAL0129 1. + SH010229 COST 505.76 TRAN0102 1. + SH010229 BAL0102 -1. BAL0129 1. + SH010329 COST 262.69 TRAN0103 1. + SH010329 BAL0103 -1. BAL0129 1. + SH010429 COST 216.91 TRAN0104 1. + SH010429 BAL0104 -1. BAL0129 1. + SH010529 COST 468.7 TRAN0105 1. + SH010529 BAL0105 -1. BAL0129 1. + SH010629 COST 284.49 TRAN0106 1. + SH010629 BAL0152 -1. BAL0129 1. + SH010829 COST 156.96 TRAN0108 1. + SH010829 BAL0183 -1. BAL0129 1. + SH010130 COST 507.94 TRAN0101 1. + SH010130 BAL0101 -1. BAL0130 1. + SH010230 COST 475.24 TRAN0102 1. + SH010230 BAL0102 -1. BAL0130 1. + SH010330 COST 570.07 TRAN0103 1. + SH010330 BAL0103 -1. BAL0130 1. + SH010430 COST 331.36 TRAN0104 1. + SH010430 BAL0104 -1. BAL0130 1. + SH010530 COST 486.14 TRAN0105 1. + SH010530 BAL0105 -1. BAL0130 1. + SH010830 COST 416.38 TRAN0108 1. + SH010830 BAL0183 -1. BAL0130 1. + SH010131 COST 120.99 TRAN0101 1. + SH010131 BAL0101 -1. BAL0131 1. + SH010231 COST 382.59 TRAN0102 1. + SH010231 BAL0102 -1. BAL0131 1. + SH010331 COST 119.9 TRAN0103 1. + SH010331 BAL0103 -1. BAL0131 1. + SH010431 COST 275.77 TRAN0104 1. + SH010431 BAL0104 -1. BAL0131 1. + SH010531 COST 334.63 TRAN0105 1. + SH010531 BAL0105 -1. BAL0131 1. + SH010631 COST 122.08 TRAN0106 1. + SH010631 BAL0152 -1. BAL0131 1. + SH010831 COST 243.07 TRAN0108 1. + SH010831 BAL0183 -1. BAL0131 1. + SH010132 COST 325.91 TRAN0101 1. + SH010132 BAL0101 -1. BAL0132 1. + SH010232 COST 521.02 TRAN0102 1. + SH010232 BAL0102 -1. BAL0132 1. + SH010332 COST 461.07 TRAN0103 1. + SH010332 BAL0103 -1. BAL0132 1. + SH010432 COST 171.13 TRAN0104 1. + SH010432 BAL0104 -1. BAL0132 1. + SH010532 COST 427.28 TRAN0105 1. + SH010532 BAL0105 -1. BAL0132 1. + SH010832 COST 196.2 TRAN0108 1. + SH010832 BAL0183 -1. BAL0132 1. + SH010133 COST 537.37 TRAN0101 1. + SH010133 BAL0101 -1. BAL0133 1. + SH010233 COST 436. TRAN0102 1. + SH010233 BAL0102 -1. BAL0133 1. + SH010333 COST 591.87 TRAN0103 1. + SH010333 BAL0103 -1. BAL0133 1. + SH010433 COST 485.05 TRAN0104 1. + SH010433 BAL0104 -1. BAL0133 1. + SH010533 COST 687.79 TRAN0105 1. + SH010533 BAL0105 -1. BAL0133 1. + SH010833 COST 415.29 TRAN0108 1. + SH010833 BAL0183 -1. BAL0133 1. + SH010134 COST 420.74 TRAN0101 1. + SH010134 BAL0101 -1. BAL0134 1. + SH010234 COST 713.95 TRAN0102 1. + SH010234 BAL0102 -1. BAL0134 1. + SH010334 COST 548.27 TRAN0103 1. + SH010334 BAL0103 -1. BAL0134 1. + SH010434 COST 229.99 TRAN0104 1. + SH010434 BAL0104 -1. BAL0134 1. + SH010534 COST 480.69 TRAN0105 1. + SH010534 BAL0105 -1. BAL0134 1. + SH010834 COST 286.67 TRAN0108 1. + SH010834 BAL0183 -1. BAL0134 1. + SH010135 COST 502.49 TRAN0101 1. + SH010135 BAL0101 -1. BAL0135 1. + SH010235 COST 485.05 TRAN0102 1. + SH010235 BAL0102 -1. BAL0135 1. + SH010335 COST 410.93 TRAN0103 1. + SH010335 BAL0103 -1. BAL0135 1. + SH010435 COST 132.98 TRAN0104 1. + SH010435 BAL0104 -1. BAL0135 1. + SH010535 COST 469.79 TRAN0105 1. + SH010535 BAL0105 -1. BAL0135 1. + SH010835 COST 256.15 TRAN0108 1. + SH010835 BAL0183 -1. BAL0135 1. + SH010136 COST 223.45 TRAN0101 1. + SH010136 BAL0101 -1. BAL0136 1. + SH010236 COST 488.32 TRAN0102 1. + SH010236 BAL0102 -1. BAL0136 1. + SH010336 COST 115.54 TRAN0103 1. + SH010336 BAL0103 -1. BAL0136 1. + SH010436 COST 403.3 TRAN0104 1. + SH010436 BAL0104 -1. BAL0136 1. + SH010536 COST 377.14 TRAN0105 1. + SH010536 BAL0105 -1. BAL0136 1. + SH010636 COST 119.9 TRAN0106 1. + SH010636 BAL0152 -1. BAL0136 1. + SH010836 COST 349.89 TRAN0108 1. + SH010836 BAL0183 -1. BAL0136 1. + SH010137 COST 100.28 TRAN0101 1. + SH010137 BAL0101 -1. BAL0137 1. + SH010237 COST 372.78 TRAN0102 1. + SH010237 BAL0102 -1. BAL0137 1. + SH010337 COST 172.22 TRAN0103 1. + SH010337 BAL0103 -1. BAL0137 1. + SH010437 COST 331.36 TRAN0104 1. + SH010437 BAL0104 -1. BAL0137 1. + SH010537 COST 198.38 TRAN0105 1. + SH010537 BAL0105 -1. BAL0137 1. + SH010637 COST 211.46 TRAN0106 1. + SH010637 BAL0152 -1. BAL0137 1. + SH010837 COST 274.68 TRAN0108 1. + SH010837 BAL0183 -1. BAL0137 1. + SH010138 COST 148.24 TRAN0101 1. + SH010138 BAL0101 -1. BAL0138 1. + SH010238 COST 265.96 TRAN0102 1. + SH010238 BAL0102 -1. BAL0138 1. + SH010338 COST 103.55 TRAN0103 1. + SH010338 BAL0103 -1. BAL0138 1. + SH010438 COST 335.72 TRAN0104 1. + SH010438 BAL0104 -1. BAL0138 1. + SH010538 COST 303.02 TRAN0105 1. + SH010538 BAL0105 -1. BAL0138 1. + SH010638 COST 42.51 TRAN0106 1. + SH010638 BAL0152 -1. BAL0138 1. + SH010738 COST 235.44 TRAN0107 1. + SH010738 BAL0164 -1. BAL0138 1. + SH010838 COST 258.33 TRAN0108 1. + SH010838 BAL0183 -1. BAL0138 1. + SH010139 COST 141.7 TRAN0101 1. + SH010139 BAL0101 -1. BAL0139 1. + SH010239 COST 369.51 TRAN0102 1. + SH010239 BAL0102 -1. BAL0139 1. + SH010339 COST 174.4 TRAN0103 1. + SH010339 BAL0103 -1. BAL0139 1. + SH010439 COST 271.41 TRAN0104 1. + SH010439 BAL0104 -1. BAL0139 1. + SH010539 COST 467.61 TRAN0105 1. + SH010539 BAL0105 -1. BAL0139 1. + SH010639 COST 222.36 TRAN0106 1. + SH010639 BAL0152 -1. BAL0139 1. + SH010839 COST 183.12 TRAN0108 1. + SH010839 BAL0183 -1. BAL0139 1. + SH010140 COST 179.85 TRAN0101 1. + SH010140 BAL0101 -1. BAL0140 1. + SH010240 COST 412.02 TRAN0102 1. + SH010240 BAL0102 -1. BAL0140 1. + SH010340 COST 112.27 TRAN0103 1. + SH010340 BAL0103 -1. BAL0140 1. + SH010440 COST 323.73 TRAN0104 1. + SH010440 BAL0104 -1. BAL0140 1. + SH010540 COST 240.89 TRAN0105 1. + SH010540 BAL0105 -1. BAL0140 1. + SH010640 COST 142.79 TRAN0106 1. + SH010640 BAL0152 -1. BAL0140 1. + SH010840 COST 298.66 TRAN0108 1. + SH010840 BAL0183 -1. BAL0140 1. + SH010141 COST 213.64 TRAN0101 1. + SH010141 BAL0101 -1. BAL0141 1. + SH010241 COST 327. TRAN0102 1. + SH010241 BAL0102 -1. BAL0141 1. + SH010341 COST 163.5 TRAN0103 1. + SH010341 BAL0103 -1. BAL0141 1. + SH010441 COST 353.16 TRAN0104 1. + SH010441 BAL0104 -1. BAL0141 1. + SH010541 COST 401.12 TRAN0105 1. + SH010541 BAL0105 -1. BAL0141 1. + SH010641 COST 109. TRAN0106 1. + SH010641 BAL0152 -1. BAL0141 1. + SH010841 COST 325.91 TRAN0108 1. + SH010841 BAL0183 -1. BAL0141 1. + SH010142 COST 98.1 TRAN0101 1. + SH010142 BAL0101 -1. BAL0142 1. + SH010242 COST 451.26 TRAN0102 1. + SH010242 BAL0102 -1. BAL0142 1. + SH010342 COST 174.4 TRAN0103 1. + SH010342 BAL0103 -1. BAL0142 1. + SH010442 COST 212.55 TRAN0104 1. + SH010442 BAL0104 -1. BAL0142 1. + SH010542 COST 393.49 TRAN0105 1. + SH010542 BAL0105 -1. BAL0142 1. + SH010642 COST 175.49 TRAN0106 1. + SH010642 BAL0152 -1. BAL0142 1. + SH010842 COST 165.68 TRAN0108 1. + SH010842 BAL0183 -1. BAL0142 1. + SH010143 COST 173.31 TRAN0101 1. + SH010143 BAL0101 -1. BAL0143 1. + SH010243 COST 430.55 TRAN0102 1. + SH010243 BAL0102 -1. BAL0143 1. + SH010343 COST 27.25 TRAN0103 1. + SH010343 BAL0103 -1. BAL0143 1. + SH010443 COST 322.64 TRAN0104 1. + SH010443 BAL0104 -1. BAL0143 1. + SH010543 COST 281.22 TRAN0105 1. + SH010543 BAL0105 -1. BAL0143 1. + SH010643 COST 109. TRAN0106 1. + SH010643 BAL0152 -1. BAL0143 1. + SH010743 COST 262.69 TRAN0107 1. + SH010743 BAL0164 -1. BAL0143 1. + SH010843 COST 295.39 TRAN0108 1. + SH010843 BAL0183 -1. BAL0143 1. + SH010144 COST 173.31 TRAN0101 1. + SH010144 BAL0101 -1. BAL0144 1. + SH010244 COST 413.11 TRAN0102 1. + SH010244 BAL0102 -1. BAL0144 1. + SH010344 COST 139.52 TRAN0103 1. + SH010344 BAL0103 -1. BAL0144 1. + SH010444 COST 340.08 TRAN0104 1. + SH010444 BAL0104 -1. BAL0144 1. + SH010544 COST 337.9 TRAN0105 1. + SH010544 BAL0105 -1. BAL0144 1. + SH010644 COST 97.01 TRAN0106 1. + SH010644 BAL0152 -1. BAL0144 1. + SH010844 COST 324.82 TRAN0108 1. + SH010844 BAL0183 -1. BAL0144 1. + SH010145 COST 187.48 TRAN0101 1. + SH010145 BAL0101 -1. BAL0145 1. + SH010245 COST 475.24 TRAN0102 1. + SH010245 BAL0102 -1. BAL0145 1. + SH010345 COST 175.49 TRAN0103 1. + SH010345 BAL0103 -1. BAL0145 1. + SH010445 COST 318.28 TRAN0104 1. + SH010445 BAL0104 -1. BAL0145 1. + SH010545 COST 255.06 TRAN0105 1. + SH010545 BAL0105 -1. BAL0145 1. + SH010645 COST 208.19 TRAN0106 1. + SH010645 BAL0152 -1. BAL0145 1. + SH010745 COST 214.73 TRAN0107 1. + SH010745 BAL0164 -1. BAL0145 1. + SH010845 COST 332.45 TRAN0108 1. + SH010845 BAL0183 -1. BAL0145 1. + SH010146 COST 267.05 TRAN0101 1. + SH010146 BAL0101 -1. BAL0146 1. + SH010246 COST 297.57 TRAN0102 1. + SH010246 BAL0102 -1. BAL0146 1. + SH010346 COST 240.89 TRAN0103 1. + SH010346 BAL0103 -1. BAL0146 1. + SH010446 COST 487.23 TRAN0104 1. + SH010446 BAL0104 -1. BAL0146 1. + SH010546 COST 468.7 TRAN0105 1. + SH010546 BAL0105 -1. BAL0146 1. + SH010646 COST 280.13 TRAN0106 1. + SH010646 BAL0152 -1. BAL0146 1. + SH010846 COST 488.32 TRAN0108 1. + SH010846 BAL0183 -1. BAL0146 1. + SH010147 COST 119.9 TRAN0101 1. + SH010147 BAL0101 -1. BAL0147 1. + SH010247 COST 406.57 TRAN0102 1. + SH010247 BAL0102 -1. BAL0147 1. + SH010347 COST 173.31 TRAN0103 1. + SH010347 BAL0103 -1. BAL0147 1. + SH010447 COST 298.66 TRAN0104 1. + SH010447 BAL0104 -1. BAL0147 1. + SH010547 COST 253.97 TRAN0105 1. + SH010547 BAL0105 -1. BAL0147 1. + SH010647 COST 158.05 TRAN0106 1. + SH010647 BAL0152 -1. BAL0147 1. + SH010847 COST 265.96 TRAN0108 1. + SH010847 BAL0183 -1. BAL0147 1. + SH010148 COST 103.55 TRAN0101 1. + SH010148 BAL0101 -1. BAL0148 1. + SH010248 COST 369.51 TRAN0102 1. + SH010248 BAL0102 -1. BAL0148 1. + SH010348 COST 149.33 TRAN0103 1. + SH010348 BAL0103 -1. BAL0148 1. + SH010448 COST 250.7 TRAN0104 1. + SH010448 BAL0104 -1. BAL0148 1. + SH010548 COST 269.23 TRAN0105 1. + SH010548 BAL0105 -1. BAL0148 1. + SH010648 COST 125.35 TRAN0106 1. + SH010648 BAL0152 -1. BAL0148 1. + SH010848 COST 212.55 TRAN0108 1. + SH010848 BAL0183 -1. BAL0148 1. + SH010149 COST 358.61 TRAN0101 1. + SH010149 BAL0101 -1. BAL0149 1. + SH010249 COST 583.15 TRAN0102 1. + SH010249 BAL0102 -1. BAL0149 1. + SH010349 COST 361.88 TRAN0103 1. + SH010349 BAL0103 -1. BAL0149 1. + SH010449 COST 415.29 TRAN0104 1. + SH010449 BAL0104 -1. BAL0149 1. + SH010549 COST 165.68 TRAN0105 1. + SH010549 BAL0105 -1. BAL0149 1. + SH010649 COST 368.42 TRAN0106 1. + SH010649 BAL0152 -1. BAL0149 1. + SH010749 COST 146.06 TRAN0107 1. + SH010749 BAL0164 -1. BAL0149 1. + SH010849 COST 444.72 TRAN0108 1. + SH010849 BAL0183 -1. BAL0149 1. + SH010150 COST 262.69 TRAN0101 1. + SH010150 BAL0101 -1. BAL0150 1. + SH010250 COST 667.08 TRAN0102 1. + SH010250 BAL0102 -1. BAL0150 1. + SH010350 COST 268.14 TRAN0103 1. + SH010350 BAL0103 -1. BAL0150 1. + SH010450 COST 397.85 TRAN0104 1. + SH010450 BAL0104 -1. BAL0150 1. + SH010550 COST 256.15 TRAN0105 1. + SH010550 BAL0105 -1. BAL0150 1. + SH010750 COST 149.33 TRAN0107 1. + SH010750 BAL0164 -1. BAL0150 1. + SH010850 COST 442.54 TRAN0108 1. + SH010850 BAL0183 -1. BAL0150 1. + SH010151 COST 361.88 TRAN0101 1. + SH010151 BAL0101 -1. BAL0151 1. + SH010251 COST 599.5 TRAN0102 1. + SH010251 BAL0102 -1. BAL0151 1. + SH010351 COST 371.69 TRAN0103 1. + SH010351 BAL0103 -1. BAL0151 1. + SH010451 COST 368.42 TRAN0104 1. + SH010451 BAL0104 -1. BAL0151 1. + SH010551 COST 134.07 TRAN0105 1. + SH010551 BAL0105 -1. BAL0151 1. + SH010751 COST 107.91 TRAN0107 1. + SH010751 BAL0164 -1. BAL0151 1. + SH010851 COST 466.52 TRAN0108 1. + SH010851 BAL0183 -1. BAL0151 1. + SH010152 COST 122.08 TRAN0101 1. + SH010152 BAL0101 -1. BAL0152 1. + SH010252 COST 327. TRAN0102 1. + SH010252 BAL0102 -1. BAL0152 1. + SH010352 COST 89.38 TRAN0103 1. + SH010352 BAL0103 -1. BAL0152 1. + SH010452 COST 350.98 TRAN0104 1. + SH010452 BAL0104 -1. BAL0152 1. + SH010552 COST 321.55 TRAN0105 1. + SH010552 BAL0105 -1. BAL0152 1. + SH010852 COST 275.77 TRAN0108 1. + SH010852 BAL0183 -1. BAL0152 1. + SH010153 COST 391.31 TRAN0101 1. + SH010153 BAL0101 -1. BAL0153 1. + SH010253 COST 693.24 TRAN0102 1. + SH010253 BAL0102 -1. BAL0153 1. + SH010353 COST 354.25 TRAN0103 1. + SH010353 BAL0103 -1. BAL0153 1. + SH010453 COST 449.08 TRAN0104 1. + SH010453 BAL0104 -1. BAL0153 1. + SH010553 COST 200.56 TRAN0105 1. + SH010553 BAL0105 -1. BAL0153 1. + SH010653 COST 391.31 TRAN0106 1. + SH010653 BAL0152 -1. BAL0153 1. + SH010753 COST 159.14 TRAN0107 1. + SH010753 BAL0164 -1. BAL0153 1. + SH010853 COST 439.27 TRAN0108 1. + SH010853 BAL0183 -1. BAL0153 1. + SH010154 COST 201.65 TRAN0101 1. + SH010154 BAL0101 -1. BAL0154 1. + SH010254 COST 485.05 TRAN0102 1. + SH010254 BAL0102 -1. BAL0154 1. + SH010354 COST 236.53 TRAN0103 1. + SH010354 BAL0103 -1. BAL0154 1. + SH010454 COST 373.87 TRAN0104 1. + SH010454 BAL0104 -1. BAL0154 1. + SH010554 COST 232.17 TRAN0105 1. + SH010554 BAL0105 -1. BAL0154 1. + SH010654 COST 221.27 TRAN0106 1. + SH010654 BAL0152 -1. BAL0154 1. + SH010854 COST 438.18 TRAN0108 1. + SH010854 BAL0183 -1. BAL0154 1. + SH010155 COST 303.02 TRAN0101 1. + SH010155 BAL0101 -1. BAL0155 1. + SH010255 COST 522.11 TRAN0102 1. + SH010255 BAL0102 -1. BAL0155 1. + SH010355 COST 306.29 TRAN0103 1. + SH010355 BAL0103 -1. BAL0155 1. + SH010455 COST 320.46 TRAN0104 1. + SH010455 BAL0104 -1. BAL0155 1. + SH010555 COST 167.86 TRAN0105 1. + SH010555 BAL0105 -1. BAL0155 1. + SH010655 COST 316.1 TRAN0106 1. + SH010655 BAL0152 -1. BAL0155 1. + SH010755 COST 116.63 TRAN0107 1. + SH010755 BAL0164 -1. BAL0155 1. + SH010855 COST 320.46 TRAN0108 1. + SH010855 BAL0183 -1. BAL0155 1. + SH010156 COST 425.1 TRAN0101 1. + SH010156 BAL0101 -1. BAL0156 1. + SH010256 COST 631.11 TRAN0102 1. + SH010256 BAL0102 -1. BAL0156 1. + SH010356 COST 332.45 TRAN0103 1. + SH010356 BAL0103 -1. BAL0156 1. + SH010456 COST 397.85 TRAN0104 1. + SH010456 BAL0104 -1. BAL0156 1. + SH010556 COST 148.24 TRAN0105 1. + SH010556 BAL0105 -1. BAL0156 1. + SH010656 COST 369.51 TRAN0106 1. + SH010656 BAL0152 -1. BAL0156 1. + SH010756 COST 132.98 TRAN0107 1. + SH010756 BAL0164 -1. BAL0156 1. + SH010856 COST 389.13 TRAN0108 1. + SH010856 BAL0183 -1. BAL0156 1. + SH010157 COST 284.49 TRAN0101 1. + SH010157 BAL0101 -1. BAL0157 1. + SH010257 COST 566.8 TRAN0102 1. + SH010257 BAL0102 -1. BAL0157 1. + SH010357 COST 316.1 TRAN0103 1. + SH010357 BAL0103 -1. BAL0157 1. + SH010457 COST 255.06 TRAN0104 1. + SH010457 BAL0104 -1. BAL0157 1. + SH010557 COST 183.12 TRAN0105 1. + SH010557 BAL0105 -1. BAL0157 1. + SH010657 COST 347.71 TRAN0106 1. + SH010657 BAL0152 -1. BAL0157 1. + SH010757 COST 161.32 TRAN0107 1. + SH010757 BAL0164 -1. BAL0157 1. + SH010857 COST 251.79 TRAN0108 1. + SH010857 BAL0183 -1. BAL0157 1. + SH010158 COST 320.46 TRAN0101 1. + SH010158 BAL0101 -1. BAL0158 1. + SH010258 COST 567.89 TRAN0102 1. + SH010258 BAL0102 -1. BAL0158 1. + SH010358 COST 303.02 TRAN0103 1. + SH010358 BAL0103 -1. BAL0158 1. + SH010458 COST 373.87 TRAN0104 1. + SH010458 BAL0104 -1. BAL0158 1. + SH010558 COST 22.89 TRAN0105 1. + SH010558 BAL0105 -1. BAL0158 1. + SH010658 COST 355.34 TRAN0106 1. + SH010658 BAL0152 -1. BAL0158 1. + SH010758 COST 74.12 TRAN0107 1. + SH010758 BAL0164 -1. BAL0158 1. + SH010858 COST 276.86 TRAN0108 1. + SH010858 BAL0183 -1. BAL0158 1. + SH010159 COST 224.54 TRAN0101 1. + SH010159 BAL0101 -1. BAL0159 1. + SH010259 COST 542.82 TRAN0102 1. + SH010259 BAL0102 -1. BAL0159 1. + SH010359 COST 259.42 TRAN0103 1. + SH010359 BAL0103 -1. BAL0159 1. + SH010459 COST 265.96 TRAN0104 1. + SH010459 BAL0104 -1. BAL0159 1. + SH010559 COST 173.31 TRAN0105 1. + SH010559 BAL0105 -1. BAL0159 1. + SH010659 COST 323.73 TRAN0106 1. + SH010659 BAL0152 -1. BAL0159 1. + SH010759 COST 114.45 TRAN0107 1. + SH010759 BAL0164 -1. BAL0159 1. + SH010859 COST 277.95 TRAN0108 1. + SH010859 BAL0183 -1. BAL0159 1. + SH010160 COST 284.49 TRAN0101 1. + SH010160 BAL0101 -1. BAL0160 1. + SH010260 COST 599.5 TRAN0102 1. + SH010260 BAL0102 -1. BAL0160 1. + SH010360 COST 308.47 TRAN0103 1. + SH010360 BAL0103 -1. BAL0160 1. + SH010460 COST 340.08 TRAN0104 1. + SH010460 BAL0104 -1. BAL0160 1. + SH010560 COST 147.15 TRAN0105 1. + SH010560 BAL0105 -1. BAL0160 1. + SH010660 COST 352.07 TRAN0106 1. + SH010660 BAL0152 -1. BAL0160 1. + SH010760 COST 95.92 TRAN0107 1. + SH010760 BAL0164 -1. BAL0160 1. + SH010860 COST 325.91 TRAN0108 1. + SH010860 BAL0183 -1. BAL0160 1. + SH010163 COST 289.94 TRAN0101 1. + SH010163 BAL0101 -1. BAL0163 1. + SH010263 COST 538.46 TRAN0102 1. + SH010263 BAL0102 -1. BAL0163 1. + SH010363 COST 312.83 TRAN0103 1. + SH010363 BAL0103 -1. BAL0163 1. + SH010463 COST 402.21 TRAN0104 1. + SH010463 BAL0104 -1. BAL0163 1. + SH010563 COST 165.68 TRAN0105 1. + SH010563 BAL0105 -1. BAL0163 1. + SH010663 COST 343.35 TRAN0106 1. + SH010663 BAL0152 -1. BAL0163 1. + SH010763 COST 135.16 TRAN0107 1. + SH010763 BAL0164 -1. BAL0163 1. + SH010863 COST 436. TRAN0108 1. + SH010863 BAL0183 -1. BAL0163 1. + SH010164 COST 216.91 TRAN0101 1. + SH010164 BAL0101 -1. BAL0164 1. + SH010264 COST 573.34 TRAN0102 1. + SH010264 BAL0102 -1. BAL0164 1. + SH010364 COST 243.07 TRAN0103 1. + SH010364 BAL0103 -1. BAL0164 1. + SH010464 COST 366.24 TRAN0104 1. + SH010464 BAL0104 -1. BAL0164 1. + SH010564 COST 63.22 TRAN0105 1. + SH010564 BAL0105 -1. BAL0164 1. + SH010664 COST 345.53 TRAN0106 1. + SH010664 BAL0152 -1. BAL0164 1. + SH010864 COST 272.5 TRAN0108 1. + SH010864 BAL0183 -1. BAL0164 1. + SH010165 COST 470.88 TRAN0101 1. + SH010165 BAL0101 -1. BAL0165 1. + SH010265 COST 334.63 TRAN0102 1. + SH010265 BAL0102 -1. BAL0165 1. + SH010365 COST 550.45 TRAN0103 1. + SH010365 BAL0103 -1. BAL0165 1. + SH010465 COST 422.92 TRAN0104 1. + SH010465 BAL0104 -1. BAL0165 1. + SH010565 COST 658.36 TRAN0105 1. + SH010565 BAL0105 -1. BAL0165 1. + SH010865 COST 452.35 TRAN0108 1. + SH010865 BAL0183 -1. BAL0165 1. + SH010166 COST 610.4 TRAN0101 1. + SH010166 BAL0101 -1. BAL0166 1. + SH010266 COST 282.31 TRAN0102 1. + SH010266 BAL0102 -1. BAL0166 1. + SH010366 COST 630.02 TRAN0103 1. + SH010366 BAL0103 -1. BAL0166 1. + SH010466 COST 606.04 TRAN0104 1. + SH010466 BAL0104 -1. BAL0166 1. + SH010566 COST 773.9 TRAN0105 1. + SH010566 BAL0105 -1. BAL0166 1. + SH010866 COST 610.4 TRAN0108 1. + SH010866 BAL0183 -1. BAL0166 1. + SH010167 COST 463.25 TRAN0101 1. + SH010167 BAL0101 -1. BAL0167 1. + SH010267 COST 252.88 TRAN0102 1. + SH010267 BAL0102 -1. BAL0167 1. + SH010367 COST 537.37 TRAN0103 1. + SH010367 BAL0103 -1. BAL0167 1. + SH010467 COST 498.13 TRAN0104 1. + SH010467 BAL0104 -1. BAL0167 1. + SH010567 COST 658.36 TRAN0105 1. + SH010567 BAL0105 -1. BAL0167 1. + SH010867 COST 499.22 TRAN0108 1. + SH010867 BAL0183 -1. BAL0167 1. + SH010168 COST 647.46 TRAN0101 1. + SH010168 BAL0101 -1. BAL0168 1. + SH010268 COST 436. TRAN0102 1. + SH010268 BAL0102 -1. BAL0168 1. + SH010368 COST 610.4 TRAN0103 1. + SH010368 BAL0103 -1. BAL0168 1. + SH010468 COST 765.18 TRAN0104 1. + SH010468 BAL0104 -1. BAL0168 1. + SH010568 COST 1031.14 TRAN0105 1. + SH010568 BAL0105 -1. BAL0168 1. + SH010868 COST 818.59 TRAN0108 1. + SH010868 BAL0183 -1. BAL0168 1. + SH010169 COST 587.51 TRAN0101 1. + SH010169 BAL0101 -1. BAL0169 1. + SH010269 COST 240.89 TRAN0102 1. + SH010269 BAL0102 -1. BAL0169 1. + SH010369 COST 555.9 TRAN0103 1. + SH010369 BAL0103 -1. BAL0169 1. + SH010469 COST 677.98 TRAN0104 1. + SH010469 BAL0104 -1. BAL0169 1. + SH010569 COST 704.14 TRAN0105 1. + SH010569 BAL0105 -1. BAL0169 1. + SH010869 COST 717.22 TRAN0108 1. + SH010869 BAL0183 -1. BAL0169 1. + SH010171 COST 479.6 TRAN0101 1. + SH010171 BAL0101 -1. BAL0171 1. + SH010371 COST 571.16 TRAN0103 1. + SH010371 BAL0103 -1. BAL0171 1. + SH010471 COST 567.89 TRAN0104 1. + SH010471 BAL0104 -1. BAL0171 1. + SH010571 COST 633.29 TRAN0105 1. + SH010571 BAL0105 -1. BAL0171 1. + SH010671 COST 426.19 TRAN0106 1. + SH010671 BAL0152 -1. BAL0171 1. + SH010771 COST 767.36 TRAN0107 1. + SH010771 BAL0164 -1. BAL0171 1. + SH010871 COST 580.97 TRAN0108 1. + SH010871 BAL0183 -1. BAL0171 1. + SH010172 COST 639.83 TRAN0101 1. + SH010172 BAL0101 -1. BAL0172 1. + SH010272 COST 591.87 TRAN0102 1. + SH010272 BAL0102 -1. BAL0172 1. + SH010372 COST 672.53 TRAN0103 1. + SH010372 BAL0103 -1. BAL0172 1. + SH010472 COST 621.3 TRAN0104 1. + SH010472 BAL0104 -1. BAL0172 1. + SH010572 COST 831.67 TRAN0105 1. + SH010572 BAL0105 -1. BAL0172 1. + SH010872 COST 621.3 TRAN0108 1. + SH010872 BAL0183 -1. BAL0172 1. + SH010173 COST 425.1 TRAN0101 1. + SH010173 BAL0101 -1. BAL0173 1. + SH010273 COST 397.85 TRAN0102 1. + SH010273 BAL0102 -1. BAL0173 1. + SH010373 COST 368.42 TRAN0103 1. + SH010373 BAL0103 -1. BAL0173 1. + SH010473 COST 498.13 TRAN0104 1. + SH010473 BAL0104 -1. BAL0173 1. + SH010573 COST 614.76 TRAN0105 1. + SH010573 BAL0105 -1. BAL0173 1. + SH010673 COST 332.45 TRAN0106 1. + SH010673 BAL0152 -1. BAL0173 1. + SH010873 COST 549.36 TRAN0108 1. + SH010873 BAL0183 -1. BAL0173 1. + SH010174 COST 597.32 TRAN0101 1. + SH010174 BAL0101 -1. BAL0174 1. + SH010274 COST 228.9 TRAN0102 1. + SH010274 BAL0102 -1. BAL0174 1. + SH010374 COST 621.3 TRAN0103 1. + SH010374 BAL0103 -1. BAL0174 1. + SH010474 COST 694.33 TRAN0104 1. + SH010474 BAL0104 -1. BAL0174 1. + SH010574 COST 798.97 TRAN0105 1. + SH010574 BAL0105 -1. BAL0174 1. + SH010874 COST 674.71 TRAN0108 1. + SH010874 BAL0183 -1. BAL0174 1. + SH010275 COST 603.86 TRAN0102 1. + SH010275 BAL0102 -1. BAL0175 1. + SH010176 COST 503.58 TRAN0101 1. + SH010176 BAL0101 -1. BAL0176 1. + SH010276 COST 437.09 TRAN0102 1. + SH010276 BAL0102 -1. BAL0176 1. + SH010376 COST 439.27 TRAN0103 1. + SH010376 BAL0103 -1. BAL0176 1. + SH010476 COST 686.7 TRAN0104 1. + SH010476 BAL0104 -1. BAL0176 1. + SH010576 COST 686.7 TRAN0105 1. + SH010576 BAL0105 -1. BAL0176 1. + SH010676 COST 415.29 TRAN0106 1. + SH010676 BAL0152 -1. BAL0176 1. + SH010876 COST 846.93 TRAN0108 1. + SH010876 BAL0183 -1. BAL0176 1. + SH010177 COST 474.15 TRAN0101 1. + SH010177 BAL0101 -1. BAL0177 1. + SH010277 COST 296.48 TRAN0102 1. + SH010277 BAL0102 -1. BAL0177 1. + SH010377 COST 502.49 TRAN0103 1. + SH010377 BAL0103 -1. BAL0177 1. + SH010477 COST 437.09 TRAN0104 1. + SH010477 BAL0104 -1. BAL0177 1. + SH010577 COST 610.4 TRAN0105 1. + SH010577 BAL0105 -1. BAL0177 1. + SH010877 COST 348.8 TRAN0108 1. + SH010877 BAL0183 -1. BAL0177 1. + SH010178 COST 829.49 TRAN0101 1. + SH010178 BAL0101 -1. BAL0178 1. + SH010278 COST 481.78 TRAN0102 1. + SH010278 BAL0102 -1. BAL0178 1. + SH010378 COST 853.47 TRAN0103 1. + SH010378 BAL0103 -1. BAL0178 1. + SH010478 COST 746.65 TRAN0104 1. + SH010478 BAL0104 -1. BAL0178 1. + SH010578 COST 958.11 TRAN0105 1. + SH010578 BAL0105 -1. BAL0178 1. + SH010878 COST 834.94 TRAN0108 1. + SH010878 BAL0183 -1. BAL0178 1. + SH010179 COST 779.35 TRAN0101 1. + SH010179 BAL0101 -1. BAL0179 1. + SH010279 COST 293.21 TRAN0102 1. + SH010279 BAL0102 -1. BAL0179 1. + SH010379 COST 753.19 TRAN0103 1. + SH010379 BAL0103 -1. BAL0179 1. + SH010479 COST 784.8 TRAN0104 1. + SH010479 BAL0104 -1. BAL0179 1. + SH010879 COST 769.54 TRAN0108 1. + SH010879 BAL0183 -1. BAL0179 1. + SH010180 COST 345.53 TRAN0101 1. + SH010180 BAL0101 -1. BAL0180 1. + SH010280 COST 430.55 TRAN0102 1. + SH010280 BAL0102 -1. BAL0180 1. + SH010380 COST 476.33 TRAN0103 1. + SH010380 BAL0103 -1. BAL0180 1. + SH010480 COST 407.66 TRAN0104 1. + SH010480 BAL0104 -1. BAL0180 1. + SH010580 COST 550.45 TRAN0105 1. + SH010580 BAL0105 -1. BAL0180 1. + SH010880 COST 261.6 TRAN0108 1. + SH010880 BAL0183 -1. BAL0180 1. + SH010182 COST 634.38 TRAN0101 1. + SH010182 BAL0101 -1. BAL0182 1. + SH010282 COST 358.61 TRAN0102 1. + SH010282 BAL0102 -1. BAL0182 1. + SH010382 COST 713.95 TRAN0103 1. + SH010382 BAL0103 -1. BAL0182 1. + SH010482 COST 769.54 TRAN0104 1. + SH010482 BAL0104 -1. BAL0182 1. + SH010582 COST 1250.23 TRAN0105 1. + SH010582 BAL0105 -1. BAL0182 1. + SH010882 COST 853.47 TRAN0108 1. + SH010882 BAL0183 -1. BAL0182 1. + SH010183 COST 192.93 TRAN0101 1. + SH010183 BAL0101 -1. BAL0183 1. + SH010283 COST 566.8 TRAN0102 1. + SH010283 BAL0102 -1. BAL0183 1. + SH010383 COST 296.48 TRAN0103 1. + SH010383 BAL0103 -1. BAL0183 1. + SH010483 COST 64.31 TRAN0104 1. + SH010483 BAL0104 -1. BAL0183 1. + SH010583 COST 378.23 TRAN0105 1. + SH010583 BAL0105 -1. BAL0183 1. + SH010683 COST 270.32 TRAN0106 1. + SH010683 BAL0152 -1. BAL0183 1. + SH010184 COST 331.36 TRAN0101 1. + SH010184 BAL0101 -1. BAL0184 1. + SH010284 COST 209.28 TRAN0102 1. + SH010284 BAL0102 -1. BAL0184 1. + SH010384 COST 396.76 TRAN0103 1. + SH010384 BAL0103 -1. BAL0184 1. + SH010484 COST 403.3 TRAN0104 1. + SH010484 BAL0104 -1. BAL0184 1. + SH010584 COST 534.1 TRAN0105 1. + SH010584 BAL0105 -1. BAL0184 1. + SH010684 COST 332.45 TRAN0106 1. + SH010684 BAL0152 -1. BAL0184 1. + SH010884 COST 422.92 TRAN0108 1. + SH010884 BAL0183 -1. BAL0184 1. + SH020201 COST 368.28 TRAN0202 1. + SH020201 BAL0202 -1. BAL0201 1. + SH020301 COST 141.36 TRAN0203 1. + SH020301 BAL0203 -1. BAL0201 1. + SH020401 COST 257.92 TRAN0204 1. + SH020401 BAL0204 -1. BAL0201 1. + SH020501 COST 293.88 TRAN0205 1. + SH020501 BAL0205 -1. BAL0201 1. + SH020601 COST 156.24 TRAN0206 1. + SH020601 BAL0252 -1. BAL0201 1. + SH020801 COST 177.32 TRAN0208 1. + SH020801 BAL0283 -1. BAL0201 1. + SH020102 COST 587.76 TRAN0201 1. + SH020102 BAL0201 -1. BAL0202 1. + SH020302 COST 517.08 TRAN0203 1. + SH020302 BAL0203 -1. BAL0202 1. + SH020402 COST 758.88 TRAN0204 1. + SH020402 BAL0204 -1. BAL0202 1. + SH020502 COST 918.84 TRAN0205 1. + SH020502 BAL0205 -1. BAL0202 1. + SH020602 COST 468.72 TRAN0206 1. + SH020602 BAL0252 -1. BAL0202 1. + SH020802 COST 646.04 TRAN0208 1. + SH020802 BAL0283 -1. BAL0202 1. + SH020103 COST 303.8 TRAN0201 1. + SH020103 BAL0201 -1. BAL0203 1. + SH020203 COST 587.76 TRAN0202 1. + SH020203 BAL0202 -1. BAL0203 1. + SH020403 COST 455.08 TRAN0204 1. + SH020403 BAL0204 -1. BAL0203 1. + SH020503 COST 352.16 TRAN0205 1. + SH020503 BAL0205 -1. BAL0203 1. + SH020603 COST 111.6 TRAN0206 1. + SH020603 BAL0252 -1. BAL0203 1. + SH020803 COST 316.2 TRAN0208 1. + SH020803 BAL0283 -1. BAL0203 1. + SH020104 COST 215.76 TRAN0201 1. + SH020104 BAL0201 -1. BAL0204 1. + SH020204 COST 623.72 TRAN0202 1. + SH020204 BAL0202 -1. BAL0204 1. + SH020304 COST 301.32 TRAN0203 1. + SH020304 BAL0203 -1. BAL0204 1. + SH020504 COST 395.56 TRAN0205 1. + SH020504 BAL0205 -1. BAL0204 1. + SH020604 COST 303.8 TRAN0206 1. + SH020604 BAL0252 -1. BAL0204 1. + SH020704 COST 333.56 TRAN0207 1. + SH020704 BAL0264 -1. BAL0204 1. + SH020804 COST 71.92 TRAN0208 1. + SH020804 BAL0283 -1. BAL0204 1. + SH020105 COST 334.8 TRAN0201 1. + SH020105 BAL0201 -1. BAL0205 1. + SH020205 COST 639.84 TRAN0202 1. + SH020205 BAL0202 -1. BAL0205 1. + SH020305 COST 352.16 TRAN0203 1. + SH020305 BAL0203 -1. BAL0205 1. + SH020405 COST 353.4 TRAN0204 1. + SH020405 BAL0204 -1. BAL0205 1. + SH020605 COST 404.24 TRAN0206 1. + SH020605 BAL0252 -1. BAL0205 1. + SH020705 COST 414.16 TRAN0207 1. + SH020705 BAL0264 -1. BAL0205 1. + SH020805 COST 336.04 TRAN0208 1. + SH020805 BAL0283 -1. BAL0205 1. + SH020106 COST 246.76 TRAN0201 1. + SH020106 BAL0201 -1. BAL0206 1. + SH020206 COST 517.08 TRAN0202 1. + SH020206 BAL0202 -1. BAL0206 1. + SH020306 COST 264.12 TRAN0203 1. + SH020306 BAL0203 -1. BAL0206 1. + SH020406 COST 271.56 TRAN0204 1. + SH020406 BAL0204 -1. BAL0206 1. + SH020506 COST 312.48 TRAN0205 1. + SH020506 BAL0205 -1. BAL0206 1. + SH020606 COST 255.44 TRAN0206 1. + SH020606 BAL0252 -1. BAL0206 1. + SH020706 COST 248. TRAN0207 1. + SH020706 BAL0264 -1. BAL0206 1. + SH020806 COST 187.24 TRAN0208 1. + SH020806 BAL0283 -1. BAL0206 1. + SH020107 COST 26.04 TRAN0201 1. + SH020107 BAL0201 -1. BAL0207 1. + SH020207 COST 362.08 TRAN0202 1. + SH020207 BAL0202 -1. BAL0207 1. + SH020307 COST 153.76 TRAN0203 1. + SH020307 BAL0203 -1. BAL0207 1. + SH020407 COST 256.68 TRAN0204 1. + SH020407 BAL0204 -1. BAL0207 1. + SH020507 COST 283.96 TRAN0205 1. + SH020507 BAL0205 -1. BAL0207 1. + SH020607 COST 155. TRAN0206 1. + SH020607 BAL0252 -1. BAL0207 1. + SH020707 COST 287.68 TRAN0207 1. + SH020707 BAL0264 -1. BAL0207 1. + SH020807 COST 192.2 TRAN0208 1. + SH020807 BAL0283 -1. BAL0207 1. + SH020108 COST 81.84 TRAN0201 1. + SH020108 BAL0201 -1. BAL0208 1. + SH020208 COST 466.24 TRAN0202 1. + SH020208 BAL0202 -1. BAL0208 1. + SH020308 COST 174.84 TRAN0203 1. + SH020308 BAL0203 -1. BAL0208 1. + SH020408 COST 306.28 TRAN0204 1. + SH020408 BAL0204 -1. BAL0208 1. + SH020508 COST 225.68 TRAN0205 1. + SH020508 BAL0205 -1. BAL0208 1. + SH020608 COST 205.84 TRAN0206 1. + SH020608 BAL0252 -1. BAL0208 1. + SH020808 COST 231.88 TRAN0208 1. + SH020808 BAL0283 -1. BAL0208 1. + SH020109 COST 171.12 TRAN0201 1. + SH020109 BAL0201 -1. BAL0209 1. + SH020209 COST 474.92 TRAN0202 1. + SH020209 BAL0202 -1. BAL0209 1. + SH020309 COST 208.32 TRAN0203 1. + SH020309 BAL0203 -1. BAL0209 1. + SH020409 COST 313.72 TRAN0204 1. + SH020409 BAL0204 -1. BAL0209 1. + SH020509 COST 296.36 TRAN0205 1. + SH020509 BAL0205 -1. BAL0209 1. + SH020709 COST 243.04 TRAN0207 1. + SH020709 BAL0264 -1. BAL0209 1. + SH020809 COST 240.56 TRAN0208 1. + SH020809 BAL0283 -1. BAL0209 1. + SH020110 COST 306.28 TRAN0201 1. + SH020110 BAL0201 -1. BAL0210 1. + SH020210 COST 195.92 TRAN0202 1. + SH020210 BAL0202 -1. BAL0210 1. + SH020310 COST 297.6 TRAN0203 1. + SH020310 BAL0203 -1. BAL0210 1. + SH020410 COST 445.16 TRAN0204 1. + SH020410 BAL0204 -1. BAL0210 1. + SH020510 COST 477.4 TRAN0205 1. + SH020510 BAL0205 -1. BAL0210 1. + SH020610 COST 279. TRAN0206 1. + SH020610 BAL0252 -1. BAL0210 1. + SH020810 COST 378.2 TRAN0208 1. + SH020810 BAL0283 -1. BAL0210 1. + SH020111 COST 131.44 TRAN0201 1. + SH020111 BAL0201 -1. BAL0211 1. + SH020211 COST 613.8 TRAN0202 1. + SH020211 BAL0202 -1. BAL0211 1. + SH020311 COST 307.52 TRAN0203 1. + SH020311 BAL0203 -1. BAL0211 1. + SH020411 COST 172.36 TRAN0204 1. + SH020411 BAL0204 -1. BAL0211 1. + SH020511 COST 422.84 TRAN0205 1. + SH020511 BAL0205 -1. BAL0211 1. + SH020611 COST 243.04 TRAN0206 1. + SH020611 BAL0252 -1. BAL0211 1. + SH020811 COST 126.48 TRAN0208 1. + SH020811 BAL0283 -1. BAL0211 1. + SH020112 COST 109.12 TRAN0201 1. + SH020112 BAL0201 -1. BAL0212 1. + SH020212 COST 420.36 TRAN0202 1. + SH020212 BAL0202 -1. BAL0212 1. + SH020312 COST 181.04 TRAN0203 1. + SH020312 BAL0203 -1. BAL0212 1. + SH020412 COST 248. TRAN0204 1. + SH020412 BAL0204 -1. BAL0212 1. + SH020512 COST 331.08 TRAN0205 1. + SH020512 BAL0205 -1. BAL0212 1. + SH020612 COST 179.8 TRAN0206 1. + SH020612 BAL0252 -1. BAL0212 1. + SH020812 COST 181.04 TRAN0208 1. + SH020812 BAL0283 -1. BAL0212 1. + SH020114 COST 176.08 TRAN0201 1. + SH020114 BAL0201 -1. BAL0214 1. + SH020214 COST 510.88 TRAN0202 1. + SH020214 BAL0202 -1. BAL0214 1. + SH020314 COST 243.04 TRAN0203 1. + SH020314 BAL0203 -1. BAL0214 1. + SH020414 COST 246.76 TRAN0204 1. + SH020414 BAL0204 -1. BAL0214 1. + SH020514 COST 436.48 TRAN0205 1. + SH020514 BAL0205 -1. BAL0214 1. + SH020614 COST 233.12 TRAN0206 1. + SH020614 BAL0252 -1. BAL0214 1. + SH020814 COST 156.24 TRAN0208 1. + SH020814 BAL0283 -1. BAL0214 1. + SH020115 COST 375.72 TRAN0201 1. + SH020115 BAL0201 -1. BAL0215 1. + SH020215 COST 197.16 TRAN0202 1. + SH020215 BAL0202 -1. BAL0215 1. + SH020315 COST 290.16 TRAN0203 1. + SH020315 BAL0203 -1. BAL0215 1. + SH020415 COST 590.24 TRAN0204 1. + SH020415 BAL0204 -1. BAL0215 1. + SH020515 COST 493.52 TRAN0205 1. + SH020515 BAL0205 -1. BAL0215 1. + SH020615 COST 233.12 TRAN0206 1. + SH020615 BAL0252 -1. BAL0215 1. + SH020815 COST 462.52 TRAN0208 1. + SH020815 BAL0283 -1. BAL0215 1. + SH020116 COST 195.92 TRAN0201 1. + SH020116 BAL0201 -1. BAL0216 1. + SH020216 COST 347.2 TRAN0202 1. + SH020216 BAL0202 -1. BAL0216 1. + SH020316 COST 281.48 TRAN0203 1. + SH020316 BAL0203 -1. BAL0216 1. + SH020416 COST 355.88 TRAN0204 1. + SH020416 BAL0204 -1. BAL0216 1. + SH020516 COST 395.56 TRAN0205 1. + SH020516 BAL0205 -1. BAL0216 1. + SH020616 COST 162.44 TRAN0206 1. + SH020616 BAL0252 -1. BAL0216 1. + SH020816 COST 254.2 TRAN0208 1. + SH020816 BAL0283 -1. BAL0216 1. + SH020117 COST 187.24 TRAN0201 1. + SH020117 BAL0201 -1. BAL0217 1. + SH020217 COST 626.2 TRAN0202 1. + SH020217 BAL0202 -1. BAL0217 1. + SH020317 COST 339.76 TRAN0203 1. + SH020317 BAL0203 -1. BAL0217 1. + SH020417 COST 70.68 TRAN0204 1. + SH020417 BAL0204 -1. BAL0217 1. + SH020517 COST 369.52 TRAN0205 1. + SH020517 BAL0205 -1. BAL0217 1. + SH020717 COST 365.8 TRAN0207 1. + SH020717 BAL0264 -1. BAL0217 1. + SH020817 COST 33.48 TRAN0208 1. + SH020817 BAL0283 -1. BAL0217 1. + SH020118 COST 217. TRAN0201 1. + SH020118 BAL0201 -1. BAL0218 1. + SH020218 COST 447.64 TRAN0202 1. + SH020218 BAL0202 -1. BAL0218 1. + SH020318 COST 334.8 TRAN0203 1. + SH020318 BAL0203 -1. BAL0218 1. + SH020418 COST 190.96 TRAN0204 1. + SH020418 BAL0204 -1. BAL0218 1. + SH020518 COST 504.68 TRAN0205 1. + SH020518 BAL0205 -1. BAL0218 1. + SH020618 COST 436.48 TRAN0206 1. + SH020618 BAL0252 -1. BAL0218 1. + SH020818 COST 127.72 TRAN0208 1. + SH020818 BAL0283 -1. BAL0218 1. + SH020119 COST 307.52 TRAN0201 1. + SH020119 BAL0201 -1. BAL0219 1. + SH020219 COST 851.88 TRAN0202 1. + SH020219 BAL0202 -1. BAL0219 1. + SH020319 COST 393.08 TRAN0203 1. + SH020319 BAL0203 -1. BAL0219 1. + SH020419 COST 197.16 TRAN0204 1. + SH020419 BAL0204 -1. BAL0219 1. + SH020519 COST 257.92 TRAN0205 1. + SH020519 BAL0205 -1. BAL0219 1. + SH020619 COST 427.8 TRAN0206 1. + SH020619 BAL0252 -1. BAL0219 1. + SH020819 COST 122.76 TRAN0208 1. + SH020819 BAL0283 -1. BAL0219 1. + SH020120 COST 254.2 TRAN0201 1. + SH020120 BAL0201 -1. BAL0220 1. + SH020220 COST 846.92 TRAN0202 1. + SH020220 BAL0202 -1. BAL0220 1. + SH020320 COST 368.28 TRAN0203 1. + SH020320 BAL0203 -1. BAL0220 1. + SH020420 COST 140.12 TRAN0204 1. + SH020420 BAL0204 -1. BAL0220 1. + SH020520 COST 360.84 TRAN0205 1. + SH020520 BAL0205 -1. BAL0220 1. + SH020820 COST 156.24 TRAN0208 1. + SH020820 BAL0283 -1. BAL0220 1. + SH020121 COST 499.72 TRAN0201 1. + SH020121 BAL0201 -1. BAL0221 1. + SH020221 COST 456.32 TRAN0202 1. + SH020221 BAL0202 -1. BAL0221 1. + SH020321 COST 553.04 TRAN0203 1. + SH020321 BAL0203 -1. BAL0221 1. + SH020421 COST 396.8 TRAN0204 1. + SH020421 BAL0204 -1. BAL0221 1. + SH020521 COST 682. TRAN0205 1. + SH020521 BAL0205 -1. BAL0221 1. + SH020821 COST 396.8 TRAN0208 1. + SH020821 BAL0283 -1. BAL0221 1. + SH020122 COST 307.52 TRAN0201 1. + SH020122 BAL0201 -1. BAL0222 1. + SH020222 COST 716.72 TRAN0202 1. + SH020222 BAL0202 -1. BAL0222 1. + SH020322 COST 370.76 TRAN0203 1. + SH020322 BAL0203 -1. BAL0222 1. + SH020422 COST 277.76 TRAN0204 1. + SH020422 BAL0204 -1. BAL0222 1. + SH020522 COST 221.96 TRAN0205 1. + SH020522 BAL0205 -1. BAL0222 1. + SH020622 COST 384.4 TRAN0206 1. + SH020622 BAL0252 -1. BAL0222 1. + SH020822 COST 172.36 TRAN0208 1. + SH020822 BAL0283 -1. BAL0222 1. + SH020123 COST 290.16 TRAN0201 1. + SH020123 BAL0201 -1. BAL0223 1. + SH020223 COST 670.84 TRAN0202 1. + SH020223 BAL0202 -1. BAL0223 1. + SH020323 COST 355.88 TRAN0203 1. + SH020323 BAL0203 -1. BAL0223 1. + SH020423 COST 207.08 TRAN0204 1. + SH020423 BAL0204 -1. BAL0223 1. + SH020523 COST 205.84 TRAN0205 1. + SH020523 BAL0205 -1. BAL0223 1. + SH020823 COST 172.36 TRAN0208 1. + SH020823 BAL0283 -1. BAL0223 1. + SH020124 COST 1780.64 TRAN0201 1. + SH020124 BAL0201 -1. BAL0224 1. + SH020125 COST 479.88 TRAN0201 1. + SH020125 BAL0201 -1. BAL0225 1. + SH020225 COST 529.48 TRAN0202 1. + SH020225 BAL0202 -1. BAL0225 1. + SH020325 COST 633.64 TRAN0203 1. + SH020325 BAL0203 -1. BAL0225 1. + SH020425 COST 431.52 TRAN0204 1. + SH020425 BAL0204 -1. BAL0225 1. + SH020525 COST 701.84 TRAN0205 1. + SH020525 BAL0205 -1. BAL0225 1. + SH020625 COST 499.72 TRAN0206 1. + SH020625 BAL0252 -1. BAL0225 1. + SH020825 COST 378.2 TRAN0208 1. + SH020825 BAL0283 -1. BAL0225 1. + SH020426 COST 334.8 TRAN0204 1. + SH020426 BAL0204 -1. BAL0226 1. + SH020127 COST 290.16 TRAN0201 1. + SH020127 BAL0201 -1. BAL0227 1. + SH020227 COST 352.16 TRAN0202 1. + SH020227 BAL0202 -1. BAL0227 1. + SH020327 COST 358.36 TRAN0203 1. + SH020327 BAL0203 -1. BAL0227 1. + SH020427 COST 415.4 TRAN0204 1. + SH020427 BAL0204 -1. BAL0227 1. + SH020527 COST 468.72 TRAN0205 1. + SH020527 BAL0205 -1. BAL0227 1. + SH020627 COST 332.32 TRAN0206 1. + SH020627 BAL0252 -1. BAL0227 1. + SH020827 COST 312.48 TRAN0208 1. + SH020827 BAL0283 -1. BAL0227 1. + SH020128 COST 301.32 TRAN0201 1. + SH020128 BAL0201 -1. BAL0228 1. + SH020228 COST 705.56 TRAN0202 1. + SH020228 BAL0202 -1. BAL0228 1. + SH020328 COST 367.04 TRAN0203 1. + SH020328 BAL0203 -1. BAL0228 1. + SH020428 COST 365.8 TRAN0204 1. + SH020428 BAL0204 -1. BAL0228 1. + SH020528 COST 126.48 TRAN0205 1. + SH020528 BAL0205 -1. BAL0228 1. + SH020628 COST 323.64 TRAN0206 1. + SH020628 BAL0252 -1. BAL0228 1. + SH020728 COST 132.68 TRAN0207 1. + SH020728 BAL0264 -1. BAL0228 1. + SH020828 COST 314.96 TRAN0208 1. + SH020828 BAL0283 -1. BAL0228 1. + SH020129 COST 276.52 TRAN0201 1. + SH020129 BAL0201 -1. BAL0229 1. + SH020229 COST 575.36 TRAN0202 1. + SH020229 BAL0202 -1. BAL0229 1. + SH020329 COST 298.84 TRAN0203 1. + SH020329 BAL0203 -1. BAL0229 1. + SH020429 COST 246.76 TRAN0204 1. + SH020429 BAL0204 -1. BAL0229 1. + SH020529 COST 533.2 TRAN0205 1. + SH020529 BAL0205 -1. BAL0229 1. + SH020629 COST 323.64 TRAN0206 1. + SH020629 BAL0252 -1. BAL0229 1. + SH020829 COST 178.56 TRAN0208 1. + SH020829 BAL0283 -1. BAL0229 1. + SH020130 COST 577.84 TRAN0201 1. + SH020130 BAL0201 -1. BAL0230 1. + SH020230 COST 540.64 TRAN0202 1. + SH020230 BAL0202 -1. BAL0230 1. + SH020330 COST 648.52 TRAN0203 1. + SH020330 BAL0203 -1. BAL0230 1. + SH020430 COST 376.96 TRAN0204 1. + SH020430 BAL0204 -1. BAL0230 1. + SH020530 COST 553.04 TRAN0205 1. + SH020530 BAL0205 -1. BAL0230 1. + SH020830 COST 473.68 TRAN0208 1. + SH020830 BAL0283 -1. BAL0230 1. + SH020131 COST 137.64 TRAN0201 1. + SH020131 BAL0201 -1. BAL0231 1. + SH020231 COST 435.24 TRAN0202 1. + SH020231 BAL0202 -1. BAL0231 1. + SH020331 COST 136.4 TRAN0203 1. + SH020331 BAL0203 -1. BAL0231 1. + SH020431 COST 313.72 TRAN0204 1. + SH020431 BAL0204 -1. BAL0231 1. + SH020531 COST 380.68 TRAN0205 1. + SH020531 BAL0205 -1. BAL0231 1. + SH020631 COST 138.88 TRAN0206 1. + SH020631 BAL0252 -1. BAL0231 1. + SH020831 COST 276.52 TRAN0208 1. + SH020831 BAL0283 -1. BAL0231 1. + SH020132 COST 370.76 TRAN0201 1. + SH020132 BAL0201 -1. BAL0232 1. + SH020232 COST 592.72 TRAN0202 1. + SH020232 BAL0202 -1. BAL0232 1. + SH020332 COST 524.52 TRAN0203 1. + SH020332 BAL0203 -1. BAL0232 1. + SH020432 COST 194.68 TRAN0204 1. + SH020432 BAL0204 -1. BAL0232 1. + SH020532 COST 486.08 TRAN0205 1. + SH020532 BAL0205 -1. BAL0232 1. + SH020832 COST 223.2 TRAN0208 1. + SH020832 BAL0283 -1. BAL0232 1. + SH020133 COST 611.32 TRAN0201 1. + SH020133 BAL0201 -1. BAL0233 1. + SH020233 COST 496. TRAN0202 1. + SH020233 BAL0202 -1. BAL0233 1. + SH020333 COST 673.32 TRAN0203 1. + SH020333 BAL0203 -1. BAL0233 1. + SH020433 COST 551.8 TRAN0204 1. + SH020433 BAL0204 -1. BAL0233 1. + SH020533 COST 782.44 TRAN0205 1. + SH020533 BAL0205 -1. BAL0233 1. + SH020833 COST 472.44 TRAN0208 1. + SH020833 BAL0283 -1. BAL0233 1. + SH020134 COST 478.64 TRAN0201 1. + SH020134 BAL0201 -1. BAL0234 1. + SH020234 COST 812.2 TRAN0202 1. + SH020234 BAL0202 -1. BAL0234 1. + SH020334 COST 623.72 TRAN0203 1. + SH020334 BAL0203 -1. BAL0234 1. + SH020434 COST 261.64 TRAN0204 1. + SH020434 BAL0204 -1. BAL0234 1. + SH020534 COST 546.84 TRAN0205 1. + SH020534 BAL0205 -1. BAL0234 1. + SH020834 COST 326.12 TRAN0208 1. + SH020834 BAL0283 -1. BAL0234 1. + SH020135 COST 571.64 TRAN0201 1. + SH020135 BAL0201 -1. BAL0235 1. + SH020235 COST 551.8 TRAN0202 1. + SH020235 BAL0202 -1. BAL0235 1. + SH020335 COST 467.48 TRAN0203 1. + SH020335 BAL0203 -1. BAL0235 1. + SH020435 COST 151.28 TRAN0204 1. + SH020435 BAL0204 -1. BAL0235 1. + SH020535 COST 534.44 TRAN0205 1. + SH020535 BAL0205 -1. BAL0235 1. + SH020835 COST 291.4 TRAN0208 1. + SH020835 BAL0283 -1. BAL0235 1. + SH020136 COST 254.2 TRAN0201 1. + SH020136 BAL0201 -1. BAL0236 1. + SH020236 COST 555.52 TRAN0202 1. + SH020236 BAL0202 -1. BAL0236 1. + SH020336 COST 131.44 TRAN0203 1. + SH020336 BAL0203 -1. BAL0236 1. + SH020436 COST 458.8 TRAN0204 1. + SH020436 BAL0204 -1. BAL0236 1. + SH020536 COST 429.04 TRAN0205 1. + SH020536 BAL0205 -1. BAL0236 1. + SH020636 COST 136.4 TRAN0206 1. + SH020636 BAL0252 -1. BAL0236 1. + SH020836 COST 398.04 TRAN0208 1. + SH020836 BAL0283 -1. BAL0236 1. + SH020137 COST 114.08 TRAN0201 1. + SH020137 BAL0201 -1. BAL0237 1. + SH020237 COST 424.08 TRAN0202 1. + SH020237 BAL0202 -1. BAL0237 1. + SH020337 COST 195.92 TRAN0203 1. + SH020337 BAL0203 -1. BAL0237 1. + SH020437 COST 376.96 TRAN0204 1. + SH020437 BAL0204 -1. BAL0237 1. + SH020537 COST 225.68 TRAN0205 1. + SH020537 BAL0205 -1. BAL0237 1. + SH020637 COST 240.56 TRAN0206 1. + SH020637 BAL0252 -1. BAL0237 1. + SH020837 COST 312.48 TRAN0208 1. + SH020837 BAL0283 -1. BAL0237 1. + SH020138 COST 168.64 TRAN0201 1. + SH020138 BAL0201 -1. BAL0238 1. + SH020238 COST 302.56 TRAN0202 1. + SH020238 BAL0202 -1. BAL0238 1. + SH020338 COST 117.8 TRAN0203 1. + SH020338 BAL0203 -1. BAL0238 1. + SH020438 COST 381.92 TRAN0204 1. + SH020438 BAL0204 -1. BAL0238 1. + SH020538 COST 344.72 TRAN0205 1. + SH020538 BAL0205 -1. BAL0238 1. + SH020638 COST 48.36 TRAN0206 1. + SH020638 BAL0252 -1. BAL0238 1. + SH020738 COST 267.84 TRAN0207 1. + SH020738 BAL0264 -1. BAL0238 1. + SH020838 COST 293.88 TRAN0208 1. + SH020838 BAL0283 -1. BAL0238 1. + SH020139 COST 161.2 TRAN0201 1. + SH020139 BAL0201 -1. BAL0239 1. + SH020239 COST 420.36 TRAN0202 1. + SH020239 BAL0202 -1. BAL0239 1. + SH020339 COST 198.4 TRAN0203 1. + SH020339 BAL0203 -1. BAL0239 1. + SH020439 COST 308.76 TRAN0204 1. + SH020439 BAL0204 -1. BAL0239 1. + SH020539 COST 531.96 TRAN0205 1. + SH020539 BAL0205 -1. BAL0239 1. + SH020639 COST 252.96 TRAN0206 1. + SH020639 BAL0252 -1. BAL0239 1. + SH020839 COST 208.32 TRAN0208 1. + SH020839 BAL0283 -1. BAL0239 1. + SH020140 COST 204.6 TRAN0201 1. + SH020140 BAL0201 -1. BAL0240 1. + SH020240 COST 468.72 TRAN0202 1. + SH020240 BAL0202 -1. BAL0240 1. + SH020340 COST 127.72 TRAN0203 1. + SH020340 BAL0203 -1. BAL0240 1. + SH020440 COST 368.28 TRAN0204 1. + SH020440 BAL0204 -1. BAL0240 1. + SH020540 COST 274.04 TRAN0205 1. + SH020540 BAL0205 -1. BAL0240 1. + SH020640 COST 162.44 TRAN0206 1. + SH020640 BAL0252 -1. BAL0240 1. + SH020840 COST 339.76 TRAN0208 1. + SH020840 BAL0283 -1. BAL0240 1. + SH020141 COST 243.04 TRAN0201 1. + SH020141 BAL0201 -1. BAL0241 1. + SH020241 COST 372. TRAN0202 1. + SH020241 BAL0202 -1. BAL0241 1. + SH020341 COST 186. TRAN0203 1. + SH020341 BAL0203 -1. BAL0241 1. + SH020441 COST 401.76 TRAN0204 1. + SH020441 BAL0204 -1. BAL0241 1. + SH020541 COST 456.32 TRAN0205 1. + SH020541 BAL0205 -1. BAL0241 1. + SH020641 COST 124. TRAN0206 1. + SH020641 BAL0252 -1. BAL0241 1. + SH020841 COST 370.76 TRAN0208 1. + SH020841 BAL0283 -1. BAL0241 1. + SH020142 COST 111.6 TRAN0201 1. + SH020142 BAL0201 -1. BAL0242 1. + SH020242 COST 513.36 TRAN0202 1. + SH020242 BAL0202 -1. BAL0242 1. + SH020342 COST 198.4 TRAN0203 1. + SH020342 BAL0203 -1. BAL0242 1. + SH020442 COST 241.8 TRAN0204 1. + SH020442 BAL0204 -1. BAL0242 1. + SH020542 COST 447.64 TRAN0205 1. + SH020542 BAL0205 -1. BAL0242 1. + SH020642 COST 199.64 TRAN0206 1. + SH020642 BAL0252 -1. BAL0242 1. + SH020842 COST 188.48 TRAN0208 1. + SH020842 BAL0283 -1. BAL0242 1. + SH020143 COST 197.16 TRAN0201 1. + SH020143 BAL0201 -1. BAL0243 1. + SH020243 COST 489.8 TRAN0202 1. + SH020243 BAL0202 -1. BAL0243 1. + SH020343 COST 31. TRAN0203 1. + SH020343 BAL0203 -1. BAL0243 1. + SH020443 COST 367.04 TRAN0204 1. + SH020443 BAL0204 -1. BAL0243 1. + SH020543 COST 319.92 TRAN0205 1. + SH020543 BAL0205 -1. BAL0243 1. + SH020643 COST 124. TRAN0206 1. + SH020643 BAL0252 -1. BAL0243 1. + SH020743 COST 298.84 TRAN0207 1. + SH020743 BAL0264 -1. BAL0243 1. + SH020843 COST 336.04 TRAN0208 1. + SH020843 BAL0283 -1. BAL0243 1. + SH020144 COST 197.16 TRAN0201 1. + SH020144 BAL0201 -1. BAL0244 1. + SH020244 COST 469.96 TRAN0202 1. + SH020244 BAL0202 -1. BAL0244 1. + SH020344 COST 158.72 TRAN0203 1. + SH020344 BAL0203 -1. BAL0244 1. + SH020444 COST 386.88 TRAN0204 1. + SH020444 BAL0204 -1. BAL0244 1. + SH020544 COST 384.4 TRAN0205 1. + SH020544 BAL0205 -1. BAL0244 1. + SH020644 COST 110.36 TRAN0206 1. + SH020644 BAL0252 -1. BAL0244 1. + SH020844 COST 369.52 TRAN0208 1. + SH020844 BAL0283 -1. BAL0244 1. + SH020145 COST 213.28 TRAN0201 1. + SH020145 BAL0201 -1. BAL0245 1. + SH020245 COST 540.64 TRAN0202 1. + SH020245 BAL0202 -1. BAL0245 1. + SH020345 COST 199.64 TRAN0203 1. + SH020345 BAL0203 -1. BAL0245 1. + SH020445 COST 362.08 TRAN0204 1. + SH020445 BAL0204 -1. BAL0245 1. + SH020545 COST 290.16 TRAN0205 1. + SH020545 BAL0205 -1. BAL0245 1. + SH020645 COST 236.84 TRAN0206 1. + SH020645 BAL0252 -1. BAL0245 1. + SH020745 COST 244.28 TRAN0207 1. + SH020745 BAL0264 -1. BAL0245 1. + SH020845 COST 378.2 TRAN0208 1. + SH020845 BAL0283 -1. BAL0245 1. + SH020146 COST 303.8 TRAN0201 1. + SH020146 BAL0201 -1. BAL0246 1. + SH020246 COST 338.52 TRAN0202 1. + SH020246 BAL0202 -1. BAL0246 1. + SH020346 COST 274.04 TRAN0203 1. + SH020346 BAL0203 -1. BAL0246 1. + SH020446 COST 554.28 TRAN0204 1. + SH020446 BAL0204 -1. BAL0246 1. + SH020546 COST 533.2 TRAN0205 1. + SH020546 BAL0205 -1. BAL0246 1. + SH020646 COST 318.68 TRAN0206 1. + SH020646 BAL0252 -1. BAL0246 1. + SH020846 COST 555.52 TRAN0208 1. + SH020846 BAL0283 -1. BAL0246 1. + SH020147 COST 136.4 TRAN0201 1. + SH020147 BAL0201 -1. BAL0247 1. + SH020247 COST 462.52 TRAN0202 1. + SH020247 BAL0202 -1. BAL0247 1. + SH020347 COST 197.16 TRAN0203 1. + SH020347 BAL0203 -1. BAL0247 1. + SH020447 COST 339.76 TRAN0204 1. + SH020447 BAL0204 -1. BAL0247 1. + SH020547 COST 288.92 TRAN0205 1. + SH020547 BAL0205 -1. BAL0247 1. + SH020647 COST 179.8 TRAN0206 1. + SH020647 BAL0252 -1. BAL0247 1. + SH020847 COST 302.56 TRAN0208 1. + SH020847 BAL0283 -1. BAL0247 1. + SH020148 COST 117.8 TRAN0201 1. + SH020148 BAL0201 -1. BAL0248 1. + SH020248 COST 420.36 TRAN0202 1. + SH020248 BAL0202 -1. BAL0248 1. + SH020348 COST 169.88 TRAN0203 1. + SH020348 BAL0203 -1. BAL0248 1. + SH020448 COST 285.2 TRAN0204 1. + SH020448 BAL0204 -1. BAL0248 1. + SH020548 COST 306.28 TRAN0205 1. + SH020548 BAL0205 -1. BAL0248 1. + SH020648 COST 142.6 TRAN0206 1. + SH020648 BAL0252 -1. BAL0248 1. + SH020848 COST 241.8 TRAN0208 1. + SH020848 BAL0283 -1. BAL0248 1. + SH020149 COST 407.96 TRAN0201 1. + SH020149 BAL0201 -1. BAL0249 1. + SH020249 COST 663.4 TRAN0202 1. + SH020249 BAL0202 -1. BAL0249 1. + SH020349 COST 411.68 TRAN0203 1. + SH020349 BAL0203 -1. BAL0249 1. + SH020449 COST 472.44 TRAN0204 1. + SH020449 BAL0204 -1. BAL0249 1. + SH020549 COST 188.48 TRAN0205 1. + SH020549 BAL0205 -1. BAL0249 1. + SH020649 COST 419.12 TRAN0206 1. + SH020649 BAL0252 -1. BAL0249 1. + SH020749 COST 166.16 TRAN0207 1. + SH020749 BAL0264 -1. BAL0249 1. + SH020849 COST 505.92 TRAN0208 1. + SH020849 BAL0283 -1. BAL0249 1. + SH020150 COST 298.84 TRAN0201 1. + SH020150 BAL0201 -1. BAL0250 1. + SH020250 COST 758.88 TRAN0202 1. + SH020250 BAL0202 -1. BAL0250 1. + SH020350 COST 305.04 TRAN0203 1. + SH020350 BAL0203 -1. BAL0250 1. + SH020450 COST 452.6 TRAN0204 1. + SH020450 BAL0204 -1. BAL0250 1. + SH020550 COST 291.4 TRAN0205 1. + SH020550 BAL0205 -1. BAL0250 1. + SH020750 COST 169.88 TRAN0207 1. + SH020750 BAL0264 -1. BAL0250 1. + SH020850 COST 503.44 TRAN0208 1. + SH020850 BAL0283 -1. BAL0250 1. + SH020151 COST 411.68 TRAN0201 1. + SH020151 BAL0201 -1. BAL0251 1. + SH020251 COST 682. TRAN0202 1. + SH020251 BAL0202 -1. BAL0251 1. + SH020351 COST 422.84 TRAN0203 1. + SH020351 BAL0203 -1. BAL0251 1. + SH020451 COST 419.12 TRAN0204 1. + SH020451 BAL0204 -1. BAL0251 1. + SH020551 COST 152.52 TRAN0205 1. + SH020551 BAL0205 -1. BAL0251 1. + SH020751 COST 122.76 TRAN0207 1. + SH020751 BAL0264 -1. BAL0251 1. + SH020851 COST 530.72 TRAN0208 1. + SH020851 BAL0283 -1. BAL0251 1. + SH020152 COST 138.88 TRAN0201 1. + SH020152 BAL0201 -1. BAL0252 1. + SH020252 COST 372. TRAN0202 1. + SH020252 BAL0202 -1. BAL0252 1. + SH020352 COST 101.68 TRAN0203 1. + SH020352 BAL0203 -1. BAL0252 1. + SH020452 COST 399.28 TRAN0204 1. + SH020452 BAL0204 -1. BAL0252 1. + SH020552 COST 365.8 TRAN0205 1. + SH020552 BAL0205 -1. BAL0252 1. + SH020852 COST 313.72 TRAN0208 1. + SH020852 BAL0283 -1. BAL0252 1. + SH020153 COST 445.16 TRAN0201 1. + SH020153 BAL0201 -1. BAL0253 1. + SH020253 COST 788.64 TRAN0202 1. + SH020253 BAL0202 -1. BAL0253 1. + SH020353 COST 403. TRAN0203 1. + SH020353 BAL0203 -1. BAL0253 1. + SH020453 COST 510.88 TRAN0204 1. + SH020453 BAL0204 -1. BAL0253 1. + SH020553 COST 228.16 TRAN0205 1. + SH020553 BAL0205 -1. BAL0253 1. + SH020653 COST 445.16 TRAN0206 1. + SH020653 BAL0252 -1. BAL0253 1. + SH020753 COST 181.04 TRAN0207 1. + SH020753 BAL0264 -1. BAL0253 1. + SH020853 COST 499.72 TRAN0208 1. + SH020853 BAL0283 -1. BAL0253 1. + SH020154 COST 229.4 TRAN0201 1. + SH020154 BAL0201 -1. BAL0254 1. + SH020254 COST 551.8 TRAN0202 1. + SH020254 BAL0202 -1. BAL0254 1. + SH020354 COST 269.08 TRAN0203 1. + SH020354 BAL0203 -1. BAL0254 1. + SH020454 COST 425.32 TRAN0204 1. + SH020454 BAL0204 -1. BAL0254 1. + SH020554 COST 264.12 TRAN0205 1. + SH020554 BAL0205 -1. BAL0254 1. + SH020654 COST 251.72 TRAN0206 1. + SH020654 BAL0252 -1. BAL0254 1. + SH020854 COST 498.48 TRAN0208 1. + SH020854 BAL0283 -1. BAL0254 1. + SH020155 COST 344.72 TRAN0201 1. + SH020155 BAL0201 -1. BAL0255 1. + SH020255 COST 593.96 TRAN0202 1. + SH020255 BAL0202 -1. BAL0255 1. + SH020355 COST 348.44 TRAN0203 1. + SH020355 BAL0203 -1. BAL0255 1. + SH020455 COST 364.56 TRAN0204 1. + SH020455 BAL0204 -1. BAL0255 1. + SH020555 COST 190.96 TRAN0205 1. + SH020555 BAL0205 -1. BAL0255 1. + SH020655 COST 359.6 TRAN0206 1. + SH020655 BAL0252 -1. BAL0255 1. + SH020755 COST 132.68 TRAN0207 1. + SH020755 BAL0264 -1. BAL0255 1. + SH020855 COST 364.56 TRAN0208 1. + SH020855 BAL0283 -1. BAL0255 1. + SH020156 COST 483.6 TRAN0201 1. + SH020156 BAL0201 -1. BAL0256 1. + SH020256 COST 717.96 TRAN0202 1. + SH020256 BAL0202 -1. BAL0256 1. + SH020356 COST 378.2 TRAN0203 1. + SH020356 BAL0203 -1. BAL0256 1. + SH020456 COST 452.6 TRAN0204 1. + SH020456 BAL0204 -1. BAL0256 1. + SH020556 COST 168.64 TRAN0205 1. + SH020556 BAL0205 -1. BAL0256 1. + SH020656 COST 420.36 TRAN0206 1. + SH020656 BAL0252 -1. BAL0256 1. + SH020756 COST 151.28 TRAN0207 1. + SH020756 BAL0264 -1. BAL0256 1. + SH020856 COST 442.68 TRAN0208 1. + SH020856 BAL0283 -1. BAL0256 1. + SH020157 COST 323.64 TRAN0201 1. + SH020157 BAL0201 -1. BAL0257 1. + SH020257 COST 644.8 TRAN0202 1. + SH020257 BAL0202 -1. BAL0257 1. + SH020357 COST 359.6 TRAN0203 1. + SH020357 BAL0203 -1. BAL0257 1. + SH020457 COST 290.16 TRAN0204 1. + SH020457 BAL0204 -1. BAL0257 1. + SH020557 COST 208.32 TRAN0205 1. + SH020557 BAL0205 -1. BAL0257 1. + SH020657 COST 395.56 TRAN0206 1. + SH020657 BAL0252 -1. BAL0257 1. + SH020757 COST 183.52 TRAN0207 1. + SH020757 BAL0264 -1. BAL0257 1. + SH020857 COST 286.44 TRAN0208 1. + SH020857 BAL0283 -1. BAL0257 1. + SH020158 COST 364.56 TRAN0201 1. + SH020158 BAL0201 -1. BAL0258 1. + SH020258 COST 646.04 TRAN0202 1. + SH020258 BAL0202 -1. BAL0258 1. + SH020358 COST 344.72 TRAN0203 1. + SH020358 BAL0203 -1. BAL0258 1. + SH020458 COST 425.32 TRAN0204 1. + SH020458 BAL0204 -1. BAL0258 1. + SH020558 COST 26.04 TRAN0205 1. + SH020558 BAL0205 -1. BAL0258 1. + SH020658 COST 404.24 TRAN0206 1. + SH020658 BAL0252 -1. BAL0258 1. + SH020758 COST 84.32 TRAN0207 1. + SH020758 BAL0264 -1. BAL0258 1. + SH020858 COST 314.96 TRAN0208 1. + SH020858 BAL0283 -1. BAL0258 1. + SH020159 COST 255.44 TRAN0201 1. + SH020159 BAL0201 -1. BAL0259 1. + SH020259 COST 617.52 TRAN0202 1. + SH020259 BAL0202 -1. BAL0259 1. + SH020359 COST 295.12 TRAN0203 1. + SH020359 BAL0203 -1. BAL0259 1. + SH020459 COST 302.56 TRAN0204 1. + SH020459 BAL0204 -1. BAL0259 1. + SH020559 COST 197.16 TRAN0205 1. + SH020559 BAL0205 -1. BAL0259 1. + SH020659 COST 368.28 TRAN0206 1. + SH020659 BAL0252 -1. BAL0259 1. + SH020759 COST 130.2 TRAN0207 1. + SH020759 BAL0264 -1. BAL0259 1. + SH020859 COST 316.2 TRAN0208 1. + SH020859 BAL0283 -1. BAL0259 1. + SH020160 COST 323.64 TRAN0201 1. + SH020160 BAL0201 -1. BAL0260 1. + SH020260 COST 682. TRAN0202 1. + SH020260 BAL0202 -1. BAL0260 1. + SH020360 COST 350.92 TRAN0203 1. + SH020360 BAL0203 -1. BAL0260 1. + SH020460 COST 386.88 TRAN0204 1. + SH020460 BAL0204 -1. BAL0260 1. + SH020560 COST 167.4 TRAN0205 1. + SH020560 BAL0205 -1. BAL0260 1. + SH020660 COST 400.52 TRAN0206 1. + SH020660 BAL0252 -1. BAL0260 1. + SH020760 COST 109.12 TRAN0207 1. + SH020760 BAL0264 -1. BAL0260 1. + SH020860 COST 370.76 TRAN0208 1. + SH020860 BAL0283 -1. BAL0260 1. + SH020163 COST 329.84 TRAN0201 1. + SH020163 BAL0201 -1. BAL0263 1. + SH020263 COST 612.56 TRAN0202 1. + SH020263 BAL0202 -1. BAL0263 1. + SH020363 COST 355.88 TRAN0203 1. + SH020363 BAL0203 -1. BAL0263 1. + SH020463 COST 457.56 TRAN0204 1. + SH020463 BAL0204 -1. BAL0263 1. + SH020563 COST 188.48 TRAN0205 1. + SH020563 BAL0205 -1. BAL0263 1. + SH020663 COST 390.6 TRAN0206 1. + SH020663 BAL0252 -1. BAL0263 1. + SH020763 COST 153.76 TRAN0207 1. + SH020763 BAL0264 -1. BAL0263 1. + SH020863 COST 496. TRAN0208 1. + SH020863 BAL0283 -1. BAL0263 1. + SH020164 COST 246.76 TRAN0201 1. + SH020164 BAL0201 -1. BAL0264 1. + SH020264 COST 652.24 TRAN0202 1. + SH020264 BAL0202 -1. BAL0264 1. + SH020364 COST 276.52 TRAN0203 1. + SH020364 BAL0203 -1. BAL0264 1. + SH020464 COST 416.64 TRAN0204 1. + SH020464 BAL0204 -1. BAL0264 1. + SH020564 COST 71.92 TRAN0205 1. + SH020564 BAL0205 -1. BAL0264 1. + SH020664 COST 393.08 TRAN0206 1. + SH020664 BAL0252 -1. BAL0264 1. + SH020864 COST 310. TRAN0208 1. + SH020864 BAL0283 -1. BAL0264 1. + SH020165 COST 535.68 TRAN0201 1. + SH020165 BAL0201 -1. BAL0265 1. + SH020265 COST 380.68 TRAN0202 1. + SH020265 BAL0202 -1. BAL0265 1. + SH020365 COST 626.2 TRAN0203 1. + SH020365 BAL0203 -1. BAL0265 1. + SH020465 COST 481.12 TRAN0204 1. + SH020465 BAL0204 -1. BAL0265 1. + SH020565 COST 748.96 TRAN0205 1. + SH020565 BAL0205 -1. BAL0265 1. + SH020865 COST 514.6 TRAN0208 1. + SH020865 BAL0283 -1. BAL0265 1. + SH020166 COST 694.4 TRAN0201 1. + SH020166 BAL0201 -1. BAL0266 1. + SH020266 COST 321.16 TRAN0202 1. + SH020266 BAL0202 -1. BAL0266 1. + SH020366 COST 716.72 TRAN0203 1. + SH020366 BAL0203 -1. BAL0266 1. + SH020466 COST 689.44 TRAN0204 1. + SH020466 BAL0204 -1. BAL0266 1. + SH020566 COST 880.4 TRAN0205 1. + SH020566 BAL0205 -1. BAL0266 1. + SH020866 COST 694.4 TRAN0208 1. + SH020866 BAL0283 -1. BAL0266 1. + SH020167 COST 527. TRAN0201 1. + SH020167 BAL0201 -1. BAL0267 1. + SH020267 COST 287.68 TRAN0202 1. + SH020267 BAL0202 -1. BAL0267 1. + SH020367 COST 611.32 TRAN0203 1. + SH020367 BAL0203 -1. BAL0267 1. + SH020467 COST 566.68 TRAN0204 1. + SH020467 BAL0204 -1. BAL0267 1. + SH020567 COST 748.96 TRAN0205 1. + SH020567 BAL0205 -1. BAL0267 1. + SH020867 COST 567.92 TRAN0208 1. + SH020867 BAL0283 -1. BAL0267 1. + SH020168 COST 736.56 TRAN0201 1. + SH020168 BAL0201 -1. BAL0268 1. + SH020268 COST 496. TRAN0202 1. + SH020268 BAL0202 -1. BAL0268 1. + SH020368 COST 694.4 TRAN0203 1. + SH020368 BAL0203 -1. BAL0268 1. + SH020468 COST 870.48 TRAN0204 1. + SH020468 BAL0204 -1. BAL0268 1. + SH020568 COST 1173.04 TRAN0205 1. + SH020568 BAL0205 -1. BAL0268 1. + SH020868 COST 931.24 TRAN0208 1. + SH020868 BAL0283 -1. BAL0268 1. + SH020169 COST 668.36 TRAN0201 1. + SH020169 BAL0201 -1. BAL0269 1. + SH020269 COST 274.04 TRAN0202 1. + SH020269 BAL0202 -1. BAL0269 1. + SH020369 COST 632.4 TRAN0203 1. + SH020369 BAL0203 -1. BAL0269 1. + SH020469 COST 771.28 TRAN0204 1. + SH020469 BAL0204 -1. BAL0269 1. + SH020569 COST 801.04 TRAN0205 1. + SH020569 BAL0205 -1. BAL0269 1. + SH020869 COST 815.92 TRAN0208 1. + SH020869 BAL0283 -1. BAL0269 1. + SH020171 COST 545.6 TRAN0201 1. + SH020171 BAL0201 -1. BAL0271 1. + SH020371 COST 649.76 TRAN0203 1. + SH020371 BAL0203 -1. BAL0271 1. + SH020471 COST 646.04 TRAN0204 1. + SH020471 BAL0204 -1. BAL0271 1. + SH020571 COST 720.44 TRAN0205 1. + SH020571 BAL0205 -1. BAL0271 1. + SH020671 COST 484.84 TRAN0206 1. + SH020671 BAL0252 -1. BAL0271 1. + SH020771 COST 872.96 TRAN0207 1. + SH020771 BAL0264 -1. BAL0271 1. + SH020871 COST 660.92 TRAN0208 1. + SH020871 BAL0283 -1. BAL0271 1. + SH020172 COST 727.88 TRAN0201 1. + SH020172 BAL0201 -1. BAL0272 1. + SH020272 COST 673.32 TRAN0202 1. + SH020272 BAL0202 -1. BAL0272 1. + SH020372 COST 765.08 TRAN0203 1. + SH020372 BAL0203 -1. BAL0272 1. + SH020472 COST 706.8 TRAN0204 1. + SH020472 BAL0204 -1. BAL0272 1. + SH020572 COST 946.12 TRAN0205 1. + SH020572 BAL0205 -1. BAL0272 1. + SH020872 COST 706.8 TRAN0208 1. + SH020872 BAL0283 -1. BAL0272 1. + SH020173 COST 483.6 TRAN0201 1. + SH020173 BAL0201 -1. BAL0273 1. + SH020273 COST 452.6 TRAN0202 1. + SH020273 BAL0202 -1. BAL0273 1. + SH020373 COST 419.12 TRAN0203 1. + SH020373 BAL0203 -1. BAL0273 1. + SH020473 COST 566.68 TRAN0204 1. + SH020473 BAL0204 -1. BAL0273 1. + SH020573 COST 699.36 TRAN0205 1. + SH020573 BAL0205 -1. BAL0273 1. + SH020673 COST 378.2 TRAN0206 1. + SH020673 BAL0252 -1. BAL0273 1. + SH020873 COST 624.96 TRAN0208 1. + SH020873 BAL0283 -1. BAL0273 1. + SH020174 COST 679.52 TRAN0201 1. + SH020174 BAL0201 -1. BAL0274 1. + SH020274 COST 260.4 TRAN0202 1. + SH020274 BAL0202 -1. BAL0274 1. + SH020374 COST 706.8 TRAN0203 1. + SH020374 BAL0203 -1. BAL0274 1. + SH020474 COST 789.88 TRAN0204 1. + SH020474 BAL0204 -1. BAL0274 1. + SH020574 COST 908.92 TRAN0205 1. + SH020574 BAL0205 -1. BAL0274 1. + SH020874 COST 767.56 TRAN0208 1. + SH020874 BAL0283 -1. BAL0274 1. + SH020275 COST 686.96 TRAN0202 1. + SH020275 BAL0202 -1. BAL0275 1. + SH020176 COST 572.88 TRAN0201 1. + SH020176 BAL0201 -1. BAL0276 1. + SH020276 COST 497.24 TRAN0202 1. + SH020276 BAL0202 -1. BAL0276 1. + SH020376 COST 499.72 TRAN0203 1. + SH020376 BAL0203 -1. BAL0276 1. + SH020476 COST 781.2 TRAN0204 1. + SH020476 BAL0204 -1. BAL0276 1. + SH020576 COST 781.2 TRAN0205 1. + SH020576 BAL0205 -1. BAL0276 1. + SH020676 COST 472.44 TRAN0206 1. + SH020676 BAL0252 -1. BAL0276 1. + SH020876 COST 963.48 TRAN0208 1. + SH020876 BAL0283 -1. BAL0276 1. + SH020177 COST 539.4 TRAN0201 1. + SH020177 BAL0201 -1. BAL0277 1. + SH020277 COST 337.28 TRAN0202 1. + SH020277 BAL0202 -1. BAL0277 1. + SH020377 COST 571.64 TRAN0203 1. + SH020377 BAL0203 -1. BAL0277 1. + SH020477 COST 497.24 TRAN0204 1. + SH020477 BAL0204 -1. BAL0277 1. + SH020577 COST 694.4 TRAN0205 1. + SH020577 BAL0205 -1. BAL0277 1. + SH020877 COST 396.8 TRAN0208 1. + SH020877 BAL0283 -1. BAL0277 1. + SH020178 COST 943.64 TRAN0201 1. + SH020178 BAL0201 -1. BAL0278 1. + SH020278 COST 548.08 TRAN0202 1. + SH020278 BAL0202 -1. BAL0278 1. + SH020378 COST 970.92 TRAN0203 1. + SH020378 BAL0203 -1. BAL0278 1. + SH020478 COST 849.4 TRAN0204 1. + SH020478 BAL0204 -1. BAL0278 1. + SH020578 COST 1089.96 TRAN0205 1. + SH020578 BAL0205 -1. BAL0278 1. + SH020878 COST 949.84 TRAN0208 1. + SH020878 BAL0283 -1. BAL0278 1. + SH020179 COST 886.6 TRAN0201 1. + SH020179 BAL0201 -1. BAL0279 1. + SH020279 COST 333.56 TRAN0202 1. + SH020279 BAL0202 -1. BAL0279 1. + SH020379 COST 856.84 TRAN0203 1. + SH020379 BAL0203 -1. BAL0279 1. + SH020479 COST 892.8 TRAN0204 1. + SH020479 BAL0204 -1. BAL0279 1. + SH020879 COST 875.44 TRAN0208 1. + SH020879 BAL0283 -1. BAL0279 1. + SH020180 COST 393.08 TRAN0201 1. + SH020180 BAL0201 -1. BAL0280 1. + SH020280 COST 489.8 TRAN0202 1. + SH020280 BAL0202 -1. BAL0280 1. + SH020380 COST 541.88 TRAN0203 1. + SH020380 BAL0203 -1. BAL0280 1. + SH020480 COST 463.76 TRAN0204 1. + SH020480 BAL0204 -1. BAL0280 1. + SH020580 COST 626.2 TRAN0205 1. + SH020580 BAL0205 -1. BAL0280 1. + SH020880 COST 297.6 TRAN0208 1. + SH020880 BAL0283 -1. BAL0280 1. + SH020182 COST 721.68 TRAN0201 1. + SH020182 BAL0201 -1. BAL0282 1. + SH020282 COST 407.96 TRAN0202 1. + SH020282 BAL0202 -1. BAL0282 1. + SH020382 COST 812.2 TRAN0203 1. + SH020382 BAL0203 -1. BAL0282 1. + SH020482 COST 875.44 TRAN0204 1. + SH020482 BAL0204 -1. BAL0282 1. + SH020582 COST 1422.28 TRAN0205 1. + SH020582 BAL0205 -1. BAL0282 1. + SH020882 COST 970.92 TRAN0208 1. + SH020882 BAL0283 -1. BAL0282 1. + SH020183 COST 219.48 TRAN0201 1. + SH020183 BAL0201 -1. BAL0283 1. + SH020283 COST 644.8 TRAN0202 1. + SH020283 BAL0202 -1. BAL0283 1. + SH020383 COST 337.28 TRAN0203 1. + SH020383 BAL0203 -1. BAL0283 1. + SH020483 COST 73.16 TRAN0204 1. + SH020483 BAL0204 -1. BAL0283 1. + SH020583 COST 430.28 TRAN0205 1. + SH020583 BAL0205 -1. BAL0283 1. + SH020683 COST 307.52 TRAN0206 1. + SH020683 BAL0252 -1. BAL0283 1. + SH020184 COST 376.96 TRAN0201 1. + SH020184 BAL0201 -1. BAL0284 1. + SH020284 COST 238.08 TRAN0202 1. + SH020284 BAL0202 -1. BAL0284 1. + SH020384 COST 451.36 TRAN0203 1. + SH020384 BAL0203 -1. BAL0284 1. + SH020484 COST 458.8 TRAN0204 1. + SH020484 BAL0204 -1. BAL0284 1. + SH020584 COST 607.6 TRAN0205 1. + SH020584 BAL0205 -1. BAL0284 1. + SH020684 COST 378.2 TRAN0206 1. + SH020684 BAL0252 -1. BAL0284 1. + SH020884 COST 481.12 TRAN0208 1. + SH020884 BAL0283 -1. BAL0284 1. + SH030201 COST 368.28 TRAN0302 1. + SH030201 BAL0302 -1. BAL0301 1. + SH030301 COST 141.36 TRAN0303 1. + SH030301 BAL0303 -1. BAL0301 1. + SH030401 COST 257.92 TRAN0304 1. + SH030401 BAL0304 -1. BAL0301 1. + SH030501 COST 293.88 TRAN0305 1. + SH030501 BAL0305 -1. BAL0301 1. + SH030601 COST 156.24 TRAN0306 1. + SH030601 BAL0352 -1. BAL0301 1. + SH030801 COST 177.32 TRAN0308 1. + SH030801 BAL0383 -1. BAL0301 1. + SH030102 COST 587.76 TRAN0301 1. + SH030102 BAL0301 -1. BAL0302 1. + SH030302 COST 517.08 TRAN0303 1. + SH030302 BAL0303 -1. BAL0302 1. + SH030402 COST 758.88 TRAN0304 1. + SH030402 BAL0304 -1. BAL0302 1. + SH030502 COST 918.84 TRAN0305 1. + SH030502 BAL0305 -1. BAL0302 1. + SH030602 COST 468.72 TRAN0306 1. + SH030602 BAL0352 -1. BAL0302 1. + SH030802 COST 646.04 TRAN0308 1. + SH030802 BAL0383 -1. BAL0302 1. + SH030103 COST 303.8 TRAN0301 1. + SH030103 BAL0301 -1. BAL0303 1. + SH030203 COST 587.76 TRAN0302 1. + SH030203 BAL0302 -1. BAL0303 1. + SH030403 COST 455.08 TRAN0304 1. + SH030403 BAL0304 -1. BAL0303 1. + SH030503 COST 352.16 TRAN0305 1. + SH030503 BAL0305 -1. BAL0303 1. + SH030603 COST 111.6 TRAN0306 1. + SH030603 BAL0352 -1. BAL0303 1. + SH030803 COST 316.2 TRAN0308 1. + SH030803 BAL0383 -1. BAL0303 1. + SH030104 COST 215.76 TRAN0301 1. + SH030104 BAL0301 -1. BAL0304 1. + SH030204 COST 623.72 TRAN0302 1. + SH030204 BAL0302 -1. BAL0304 1. + SH030304 COST 301.32 TRAN0303 1. + SH030304 BAL0303 -1. BAL0304 1. + SH030504 COST 395.56 TRAN0305 1. + SH030504 BAL0305 -1. BAL0304 1. + SH030604 COST 303.8 TRAN0306 1. + SH030604 BAL0352 -1. BAL0304 1. + SH030704 COST 333.56 TRAN0307 1. + SH030704 BAL0364 -1. BAL0304 1. + SH030804 COST 71.92 TRAN0308 1. + SH030804 BAL0383 -1. BAL0304 1. + SH030105 COST 334.8 TRAN0301 1. + SH030105 BAL0301 -1. BAL0305 1. + SH030205 COST 639.84 TRAN0302 1. + SH030205 BAL0302 -1. BAL0305 1. + SH030305 COST 352.16 TRAN0303 1. + SH030305 BAL0303 -1. BAL0305 1. + SH030405 COST 353.4 TRAN0304 1. + SH030405 BAL0304 -1. BAL0305 1. + SH030605 COST 404.24 TRAN0306 1. + SH030605 BAL0352 -1. BAL0305 1. + SH030705 COST 414.16 TRAN0307 1. + SH030705 BAL0364 -1. BAL0305 1. + SH030805 COST 336.04 TRAN0308 1. + SH030805 BAL0383 -1. BAL0305 1. + SH030106 COST 246.76 TRAN0301 1. + SH030106 BAL0301 -1. BAL0306 1. + SH030206 COST 517.08 TRAN0302 1. + SH030206 BAL0302 -1. BAL0306 1. + SH030306 COST 264.12 TRAN0303 1. + SH030306 BAL0303 -1. BAL0306 1. + SH030406 COST 271.56 TRAN0304 1. + SH030406 BAL0304 -1. BAL0306 1. + SH030506 COST 312.48 TRAN0305 1. + SH030506 BAL0305 -1. BAL0306 1. + SH030606 COST 255.44 TRAN0306 1. + SH030606 BAL0352 -1. BAL0306 1. + SH030706 COST 248. TRAN0307 1. + SH030706 BAL0364 -1. BAL0306 1. + SH030806 COST 187.24 TRAN0308 1. + SH030806 BAL0383 -1. BAL0306 1. + SH030107 COST 26.04 TRAN0301 1. + SH030107 BAL0301 -1. BAL0307 1. + SH030207 COST 362.08 TRAN0302 1. + SH030207 BAL0302 -1. BAL0307 1. + SH030307 COST 153.76 TRAN0303 1. + SH030307 BAL0303 -1. BAL0307 1. + SH030407 COST 256.68 TRAN0304 1. + SH030407 BAL0304 -1. BAL0307 1. + SH030507 COST 283.96 TRAN0305 1. + SH030507 BAL0305 -1. BAL0307 1. + SH030607 COST 155. TRAN0306 1. + SH030607 BAL0352 -1. BAL0307 1. + SH030707 COST 287.68 TRAN0307 1. + SH030707 BAL0364 -1. BAL0307 1. + SH030807 COST 192.2 TRAN0308 1. + SH030807 BAL0383 -1. BAL0307 1. + SH030108 COST 81.84 TRAN0301 1. + SH030108 BAL0301 -1. BAL0308 1. + SH030208 COST 466.24 TRAN0302 1. + SH030208 BAL0302 -1. BAL0308 1. + SH030308 COST 174.84 TRAN0303 1. + SH030308 BAL0303 -1. BAL0308 1. + SH030408 COST 306.28 TRAN0304 1. + SH030408 BAL0304 -1. BAL0308 1. + SH030508 COST 225.68 TRAN0305 1. + SH030508 BAL0305 -1. BAL0308 1. + SH030608 COST 205.84 TRAN0306 1. + SH030608 BAL0352 -1. BAL0308 1. + SH030808 COST 231.88 TRAN0308 1. + SH030808 BAL0383 -1. BAL0308 1. + SH030109 COST 171.12 TRAN0301 1. + SH030109 BAL0301 -1. BAL0309 1. + SH030209 COST 474.92 TRAN0302 1. + SH030209 BAL0302 -1. BAL0309 1. + SH030309 COST 208.32 TRAN0303 1. + SH030309 BAL0303 -1. BAL0309 1. + SH030409 COST 313.72 TRAN0304 1. + SH030409 BAL0304 -1. BAL0309 1. + SH030509 COST 296.36 TRAN0305 1. + SH030509 BAL0305 -1. BAL0309 1. + SH030709 COST 243.04 TRAN0307 1. + SH030709 BAL0364 -1. BAL0309 1. + SH030809 COST 240.56 TRAN0308 1. + SH030809 BAL0383 -1. BAL0309 1. + SH030110 COST 306.28 TRAN0301 1. + SH030110 BAL0301 -1. BAL0310 1. + SH030210 COST 195.92 TRAN0302 1. + SH030210 BAL0302 -1. BAL0310 1. + SH030310 COST 297.6 TRAN0303 1. + SH030310 BAL0303 -1. BAL0310 1. + SH030410 COST 445.16 TRAN0304 1. + SH030410 BAL0304 -1. BAL0310 1. + SH030510 COST 477.4 TRAN0305 1. + SH030510 BAL0305 -1. BAL0310 1. + SH030610 COST 279. TRAN0306 1. + SH030610 BAL0352 -1. BAL0310 1. + SH030810 COST 378.2 TRAN0308 1. + SH030810 BAL0383 -1. BAL0310 1. + SH030111 COST 131.44 TRAN0301 1. + SH030111 BAL0301 -1. BAL0311 1. + SH030211 COST 613.8 TRAN0302 1. + SH030211 BAL0302 -1. BAL0311 1. + SH030311 COST 307.52 TRAN0303 1. + SH030311 BAL0303 -1. BAL0311 1. + SH030411 COST 172.36 TRAN0304 1. + SH030411 BAL0304 -1. BAL0311 1. + SH030511 COST 422.84 TRAN0305 1. + SH030511 BAL0305 -1. BAL0311 1. + SH030611 COST 243.04 TRAN0306 1. + SH030611 BAL0352 -1. BAL0311 1. + SH030811 COST 126.48 TRAN0308 1. + SH030811 BAL0383 -1. BAL0311 1. + SH030112 COST 109.12 TRAN0301 1. + SH030112 BAL0301 -1. BAL0312 1. + SH030212 COST 420.36 TRAN0302 1. + SH030212 BAL0302 -1. BAL0312 1. + SH030312 COST 181.04 TRAN0303 1. + SH030312 BAL0303 -1. BAL0312 1. + SH030412 COST 248. TRAN0304 1. + SH030412 BAL0304 -1. BAL0312 1. + SH030512 COST 331.08 TRAN0305 1. + SH030512 BAL0305 -1. BAL0312 1. + SH030612 COST 179.8 TRAN0306 1. + SH030612 BAL0352 -1. BAL0312 1. + SH030812 COST 181.04 TRAN0308 1. + SH030812 BAL0383 -1. BAL0312 1. + SH030114 COST 176.08 TRAN0301 1. + SH030114 BAL0301 -1. BAL0314 1. + SH030214 COST 510.88 TRAN0302 1. + SH030214 BAL0302 -1. BAL0314 1. + SH030314 COST 243.04 TRAN0303 1. + SH030314 BAL0303 -1. BAL0314 1. + SH030414 COST 246.76 TRAN0304 1. + SH030414 BAL0304 -1. BAL0314 1. + SH030514 COST 436.48 TRAN0305 1. + SH030514 BAL0305 -1. BAL0314 1. + SH030614 COST 233.12 TRAN0306 1. + SH030614 BAL0352 -1. BAL0314 1. + SH030814 COST 156.24 TRAN0308 1. + SH030814 BAL0383 -1. BAL0314 1. + SH030115 COST 375.72 TRAN0301 1. + SH030115 BAL0301 -1. BAL0315 1. + SH030215 COST 197.16 TRAN0302 1. + SH030215 BAL0302 -1. BAL0315 1. + SH030315 COST 290.16 TRAN0303 1. + SH030315 BAL0303 -1. BAL0315 1. + SH030415 COST 590.24 TRAN0304 1. + SH030415 BAL0304 -1. BAL0315 1. + SH030515 COST 493.52 TRAN0305 1. + SH030515 BAL0305 -1. BAL0315 1. + SH030615 COST 233.12 TRAN0306 1. + SH030615 BAL0352 -1. BAL0315 1. + SH030815 COST 462.52 TRAN0308 1. + SH030815 BAL0383 -1. BAL0315 1. + SH030116 COST 195.92 TRAN0301 1. + SH030116 BAL0301 -1. BAL0316 1. + SH030216 COST 347.2 TRAN0302 1. + SH030216 BAL0302 -1. BAL0316 1. + SH030316 COST 281.48 TRAN0303 1. + SH030316 BAL0303 -1. BAL0316 1. + SH030416 COST 355.88 TRAN0304 1. + SH030416 BAL0304 -1. BAL0316 1. + SH030516 COST 395.56 TRAN0305 1. + SH030516 BAL0305 -1. BAL0316 1. + SH030616 COST 162.44 TRAN0306 1. + SH030616 BAL0352 -1. BAL0316 1. + SH030816 COST 254.2 TRAN0308 1. + SH030816 BAL0383 -1. BAL0316 1. + SH030117 COST 187.24 TRAN0301 1. + SH030117 BAL0301 -1. BAL0317 1. + SH030217 COST 626.2 TRAN0302 1. + SH030217 BAL0302 -1. BAL0317 1. + SH030317 COST 339.76 TRAN0303 1. + SH030317 BAL0303 -1. BAL0317 1. + SH030417 COST 70.68 TRAN0304 1. + SH030417 BAL0304 -1. BAL0317 1. + SH030517 COST 369.52 TRAN0305 1. + SH030517 BAL0305 -1. BAL0317 1. + SH030717 COST 365.8 TRAN0307 1. + SH030717 BAL0364 -1. BAL0317 1. + SH030817 COST 33.48 TRAN0308 1. + SH030817 BAL0383 -1. BAL0317 1. + SH030118 COST 217. TRAN0301 1. + SH030118 BAL0301 -1. BAL0318 1. + SH030218 COST 447.64 TRAN0302 1. + SH030218 BAL0302 -1. BAL0318 1. + SH030318 COST 334.8 TRAN0303 1. + SH030318 BAL0303 -1. BAL0318 1. + SH030418 COST 190.96 TRAN0304 1. + SH030418 BAL0304 -1. BAL0318 1. + SH030518 COST 504.68 TRAN0305 1. + SH030518 BAL0305 -1. BAL0318 1. + SH030618 COST 436.48 TRAN0306 1. + SH030618 BAL0352 -1. BAL0318 1. + SH030818 COST 127.72 TRAN0308 1. + SH030818 BAL0383 -1. BAL0318 1. + SH030119 COST 307.52 TRAN0301 1. + SH030119 BAL0301 -1. BAL0319 1. + SH030219 COST 851.88 TRAN0302 1. + SH030219 BAL0302 -1. BAL0319 1. + SH030319 COST 393.08 TRAN0303 1. + SH030319 BAL0303 -1. BAL0319 1. + SH030419 COST 197.16 TRAN0304 1. + SH030419 BAL0304 -1. BAL0319 1. + SH030519 COST 257.92 TRAN0305 1. + SH030519 BAL0305 -1. BAL0319 1. + SH030619 COST 427.8 TRAN0306 1. + SH030619 BAL0352 -1. BAL0319 1. + SH030819 COST 122.76 TRAN0308 1. + SH030819 BAL0383 -1. BAL0319 1. + SH030120 COST 254.2 TRAN0301 1. + SH030120 BAL0301 -1. BAL0320 1. + SH030220 COST 846.92 TRAN0302 1. + SH030220 BAL0302 -1. BAL0320 1. + SH030320 COST 368.28 TRAN0303 1. + SH030320 BAL0303 -1. BAL0320 1. + SH030420 COST 140.12 TRAN0304 1. + SH030420 BAL0304 -1. BAL0320 1. + SH030520 COST 360.84 TRAN0305 1. + SH030520 BAL0305 -1. BAL0320 1. + SH030820 COST 156.24 TRAN0308 1. + SH030820 BAL0383 -1. BAL0320 1. + SH030121 COST 499.72 TRAN0301 1. + SH030121 BAL0301 -1. BAL0321 1. + SH030221 COST 456.32 TRAN0302 1. + SH030221 BAL0302 -1. BAL0321 1. + SH030321 COST 553.04 TRAN0303 1. + SH030321 BAL0303 -1. BAL0321 1. + SH030421 COST 396.8 TRAN0304 1. + SH030421 BAL0304 -1. BAL0321 1. + SH030521 COST 682. TRAN0305 1. + SH030521 BAL0305 -1. BAL0321 1. + SH030821 COST 396.8 TRAN0308 1. + SH030821 BAL0383 -1. BAL0321 1. + SH030122 COST 307.52 TRAN0301 1. + SH030122 BAL0301 -1. BAL0322 1. + SH030222 COST 716.72 TRAN0302 1. + SH030222 BAL0302 -1. BAL0322 1. + SH030322 COST 370.76 TRAN0303 1. + SH030322 BAL0303 -1. BAL0322 1. + SH030422 COST 277.76 TRAN0304 1. + SH030422 BAL0304 -1. BAL0322 1. + SH030522 COST 221.96 TRAN0305 1. + SH030522 BAL0305 -1. BAL0322 1. + SH030622 COST 384.4 TRAN0306 1. + SH030622 BAL0352 -1. BAL0322 1. + SH030822 COST 172.36 TRAN0308 1. + SH030822 BAL0383 -1. BAL0322 1. + SH030123 COST 290.16 TRAN0301 1. + SH030123 BAL0301 -1. BAL0323 1. + SH030223 COST 670.84 TRAN0302 1. + SH030223 BAL0302 -1. BAL0323 1. + SH030323 COST 355.88 TRAN0303 1. + SH030323 BAL0303 -1. BAL0323 1. + SH030423 COST 207.08 TRAN0304 1. + SH030423 BAL0304 -1. BAL0323 1. + SH030523 COST 205.84 TRAN0305 1. + SH030523 BAL0305 -1. BAL0323 1. + SH030823 COST 172.36 TRAN0308 1. + SH030823 BAL0383 -1. BAL0323 1. + SH030124 COST 1780.64 TRAN0301 1. + SH030124 BAL0301 -1. BAL0324 1. + SH030125 COST 479.88 TRAN0301 1. + SH030125 BAL0301 -1. BAL0325 1. + SH030225 COST 529.48 TRAN0302 1. + SH030225 BAL0302 -1. BAL0325 1. + SH030325 COST 633.64 TRAN0303 1. + SH030325 BAL0303 -1. BAL0325 1. + SH030425 COST 431.52 TRAN0304 1. + SH030425 BAL0304 -1. BAL0325 1. + SH030525 COST 701.84 TRAN0305 1. + SH030525 BAL0305 -1. BAL0325 1. + SH030625 COST 499.72 TRAN0306 1. + SH030625 BAL0352 -1. BAL0325 1. + SH030825 COST 378.2 TRAN0308 1. + SH030825 BAL0383 -1. BAL0325 1. + SH030426 COST 334.8 TRAN0304 1. + SH030426 BAL0304 -1. BAL0326 1. + SH030127 COST 290.16 TRAN0301 1. + SH030127 BAL0301 -1. BAL0327 1. + SH030227 COST 352.16 TRAN0302 1. + SH030227 BAL0302 -1. BAL0327 1. + SH030327 COST 358.36 TRAN0303 1. + SH030327 BAL0303 -1. BAL0327 1. + SH030427 COST 415.4 TRAN0304 1. + SH030427 BAL0304 -1. BAL0327 1. + SH030527 COST 468.72 TRAN0305 1. + SH030527 BAL0305 -1. BAL0327 1. + SH030627 COST 332.32 TRAN0306 1. + SH030627 BAL0352 -1. BAL0327 1. + SH030827 COST 312.48 TRAN0308 1. + SH030827 BAL0383 -1. BAL0327 1. + SH030128 COST 301.32 TRAN0301 1. + SH030128 BAL0301 -1. BAL0328 1. + SH030228 COST 705.56 TRAN0302 1. + SH030228 BAL0302 -1. BAL0328 1. + SH030328 COST 367.04 TRAN0303 1. + SH030328 BAL0303 -1. BAL0328 1. + SH030428 COST 365.8 TRAN0304 1. + SH030428 BAL0304 -1. BAL0328 1. + SH030528 COST 126.48 TRAN0305 1. + SH030528 BAL0305 -1. BAL0328 1. + SH030628 COST 323.64 TRAN0306 1. + SH030628 BAL0352 -1. BAL0328 1. + SH030728 COST 132.68 TRAN0307 1. + SH030728 BAL0364 -1. BAL0328 1. + SH030828 COST 314.96 TRAN0308 1. + SH030828 BAL0383 -1. BAL0328 1. + SH030129 COST 276.52 TRAN0301 1. + SH030129 BAL0301 -1. BAL0329 1. + SH030229 COST 575.36 TRAN0302 1. + SH030229 BAL0302 -1. BAL0329 1. + SH030329 COST 298.84 TRAN0303 1. + SH030329 BAL0303 -1. BAL0329 1. + SH030429 COST 246.76 TRAN0304 1. + SH030429 BAL0304 -1. BAL0329 1. + SH030529 COST 533.2 TRAN0305 1. + SH030529 BAL0305 -1. BAL0329 1. + SH030629 COST 323.64 TRAN0306 1. + SH030629 BAL0352 -1. BAL0329 1. + SH030829 COST 178.56 TRAN0308 1. + SH030829 BAL0383 -1. BAL0329 1. + SH030130 COST 577.84 TRAN0301 1. + SH030130 BAL0301 -1. BAL0330 1. + SH030230 COST 540.64 TRAN0302 1. + SH030230 BAL0302 -1. BAL0330 1. + SH030330 COST 648.52 TRAN0303 1. + SH030330 BAL0303 -1. BAL0330 1. + SH030430 COST 376.96 TRAN0304 1. + SH030430 BAL0304 -1. BAL0330 1. + SH030530 COST 553.04 TRAN0305 1. + SH030530 BAL0305 -1. BAL0330 1. + SH030830 COST 473.68 TRAN0308 1. + SH030830 BAL0383 -1. BAL0330 1. + SH030131 COST 137.64 TRAN0301 1. + SH030131 BAL0301 -1. BAL0331 1. + SH030231 COST 435.24 TRAN0302 1. + SH030231 BAL0302 -1. BAL0331 1. + SH030331 COST 136.4 TRAN0303 1. + SH030331 BAL0303 -1. BAL0331 1. + SH030431 COST 313.72 TRAN0304 1. + SH030431 BAL0304 -1. BAL0331 1. + SH030531 COST 380.68 TRAN0305 1. + SH030531 BAL0305 -1. BAL0331 1. + SH030631 COST 138.88 TRAN0306 1. + SH030631 BAL0352 -1. BAL0331 1. + SH030831 COST 276.52 TRAN0308 1. + SH030831 BAL0383 -1. BAL0331 1. + SH030132 COST 370.76 TRAN0301 1. + SH030132 BAL0301 -1. BAL0332 1. + SH030232 COST 592.72 TRAN0302 1. + SH030232 BAL0302 -1. BAL0332 1. + SH030332 COST 524.52 TRAN0303 1. + SH030332 BAL0303 -1. BAL0332 1. + SH030432 COST 194.68 TRAN0304 1. + SH030432 BAL0304 -1. BAL0332 1. + SH030532 COST 486.08 TRAN0305 1. + SH030532 BAL0305 -1. BAL0332 1. + SH030832 COST 223.2 TRAN0308 1. + SH030832 BAL0383 -1. BAL0332 1. + SH030133 COST 611.32 TRAN0301 1. + SH030133 BAL0301 -1. BAL0333 1. + SH030233 COST 496. TRAN0302 1. + SH030233 BAL0302 -1. BAL0333 1. + SH030333 COST 673.32 TRAN0303 1. + SH030333 BAL0303 -1. BAL0333 1. + SH030433 COST 551.8 TRAN0304 1. + SH030433 BAL0304 -1. BAL0333 1. + SH030533 COST 782.44 TRAN0305 1. + SH030533 BAL0305 -1. BAL0333 1. + SH030833 COST 472.44 TRAN0308 1. + SH030833 BAL0383 -1. BAL0333 1. + SH030134 COST 478.64 TRAN0301 1. + SH030134 BAL0301 -1. BAL0334 1. + SH030234 COST 812.2 TRAN0302 1. + SH030234 BAL0302 -1. BAL0334 1. + SH030334 COST 623.72 TRAN0303 1. + SH030334 BAL0303 -1. BAL0334 1. + SH030434 COST 261.64 TRAN0304 1. + SH030434 BAL0304 -1. BAL0334 1. + SH030534 COST 546.84 TRAN0305 1. + SH030534 BAL0305 -1. BAL0334 1. + SH030834 COST 326.12 TRAN0308 1. + SH030834 BAL0383 -1. BAL0334 1. + SH030135 COST 571.64 TRAN0301 1. + SH030135 BAL0301 -1. BAL0335 1. + SH030235 COST 551.8 TRAN0302 1. + SH030235 BAL0302 -1. BAL0335 1. + SH030335 COST 467.48 TRAN0303 1. + SH030335 BAL0303 -1. BAL0335 1. + SH030435 COST 151.28 TRAN0304 1. + SH030435 BAL0304 -1. BAL0335 1. + SH030535 COST 534.44 TRAN0305 1. + SH030535 BAL0305 -1. BAL0335 1. + SH030835 COST 291.4 TRAN0308 1. + SH030835 BAL0383 -1. BAL0335 1. + SH030136 COST 254.2 TRAN0301 1. + SH030136 BAL0301 -1. BAL0336 1. + SH030236 COST 555.52 TRAN0302 1. + SH030236 BAL0302 -1. BAL0336 1. + SH030336 COST 131.44 TRAN0303 1. + SH030336 BAL0303 -1. BAL0336 1. + SH030436 COST 458.8 TRAN0304 1. + SH030436 BAL0304 -1. BAL0336 1. + SH030536 COST 429.04 TRAN0305 1. + SH030536 BAL0305 -1. BAL0336 1. + SH030636 COST 136.4 TRAN0306 1. + SH030636 BAL0352 -1. BAL0336 1. + SH030836 COST 398.04 TRAN0308 1. + SH030836 BAL0383 -1. BAL0336 1. + SH030137 COST 114.08 TRAN0301 1. + SH030137 BAL0301 -1. BAL0337 1. + SH030237 COST 424.08 TRAN0302 1. + SH030237 BAL0302 -1. BAL0337 1. + SH030337 COST 195.92 TRAN0303 1. + SH030337 BAL0303 -1. BAL0337 1. + SH030437 COST 376.96 TRAN0304 1. + SH030437 BAL0304 -1. BAL0337 1. + SH030537 COST 225.68 TRAN0305 1. + SH030537 BAL0305 -1. BAL0337 1. + SH030637 COST 240.56 TRAN0306 1. + SH030637 BAL0352 -1. BAL0337 1. + SH030837 COST 312.48 TRAN0308 1. + SH030837 BAL0383 -1. BAL0337 1. + SH030138 COST 168.64 TRAN0301 1. + SH030138 BAL0301 -1. BAL0338 1. + SH030238 COST 302.56 TRAN0302 1. + SH030238 BAL0302 -1. BAL0338 1. + SH030338 COST 117.8 TRAN0303 1. + SH030338 BAL0303 -1. BAL0338 1. + SH030438 COST 381.92 TRAN0304 1. + SH030438 BAL0304 -1. BAL0338 1. + SH030538 COST 344.72 TRAN0305 1. + SH030538 BAL0305 -1. BAL0338 1. + SH030638 COST 48.36 TRAN0306 1. + SH030638 BAL0352 -1. BAL0338 1. + SH030738 COST 267.84 TRAN0307 1. + SH030738 BAL0364 -1. BAL0338 1. + SH030838 COST 293.88 TRAN0308 1. + SH030838 BAL0383 -1. BAL0338 1. + SH030139 COST 161.2 TRAN0301 1. + SH030139 BAL0301 -1. BAL0339 1. + SH030239 COST 420.36 TRAN0302 1. + SH030239 BAL0302 -1. BAL0339 1. + SH030339 COST 198.4 TRAN0303 1. + SH030339 BAL0303 -1. BAL0339 1. + SH030439 COST 308.76 TRAN0304 1. + SH030439 BAL0304 -1. BAL0339 1. + SH030539 COST 531.96 TRAN0305 1. + SH030539 BAL0305 -1. BAL0339 1. + SH030639 COST 252.96 TRAN0306 1. + SH030639 BAL0352 -1. BAL0339 1. + SH030839 COST 208.32 TRAN0308 1. + SH030839 BAL0383 -1. BAL0339 1. + SH030140 COST 204.6 TRAN0301 1. + SH030140 BAL0301 -1. BAL0340 1. + SH030240 COST 468.72 TRAN0302 1. + SH030240 BAL0302 -1. BAL0340 1. + SH030340 COST 127.72 TRAN0303 1. + SH030340 BAL0303 -1. BAL0340 1. + SH030440 COST 368.28 TRAN0304 1. + SH030440 BAL0304 -1. BAL0340 1. + SH030540 COST 274.04 TRAN0305 1. + SH030540 BAL0305 -1. BAL0340 1. + SH030640 COST 162.44 TRAN0306 1. + SH030640 BAL0352 -1. BAL0340 1. + SH030840 COST 339.76 TRAN0308 1. + SH030840 BAL0383 -1. BAL0340 1. + SH030141 COST 243.04 TRAN0301 1. + SH030141 BAL0301 -1. BAL0341 1. + SH030241 COST 372. TRAN0302 1. + SH030241 BAL0302 -1. BAL0341 1. + SH030341 COST 186. TRAN0303 1. + SH030341 BAL0303 -1. BAL0341 1. + SH030441 COST 401.76 TRAN0304 1. + SH030441 BAL0304 -1. BAL0341 1. + SH030541 COST 456.32 TRAN0305 1. + SH030541 BAL0305 -1. BAL0341 1. + SH030641 COST 124. TRAN0306 1. + SH030641 BAL0352 -1. BAL0341 1. + SH030841 COST 370.76 TRAN0308 1. + SH030841 BAL0383 -1. BAL0341 1. + SH030142 COST 111.6 TRAN0301 1. + SH030142 BAL0301 -1. BAL0342 1. + SH030242 COST 513.36 TRAN0302 1. + SH030242 BAL0302 -1. BAL0342 1. + SH030342 COST 198.4 TRAN0303 1. + SH030342 BAL0303 -1. BAL0342 1. + SH030442 COST 241.8 TRAN0304 1. + SH030442 BAL0304 -1. BAL0342 1. + SH030542 COST 447.64 TRAN0305 1. + SH030542 BAL0305 -1. BAL0342 1. + SH030642 COST 199.64 TRAN0306 1. + SH030642 BAL0352 -1. BAL0342 1. + SH030842 COST 188.48 TRAN0308 1. + SH030842 BAL0383 -1. BAL0342 1. + SH030143 COST 197.16 TRAN0301 1. + SH030143 BAL0301 -1. BAL0343 1. + SH030243 COST 489.8 TRAN0302 1. + SH030243 BAL0302 -1. BAL0343 1. + SH030343 COST 31. TRAN0303 1. + SH030343 BAL0303 -1. BAL0343 1. + SH030443 COST 367.04 TRAN0304 1. + SH030443 BAL0304 -1. BAL0343 1. + SH030543 COST 319.92 TRAN0305 1. + SH030543 BAL0305 -1. BAL0343 1. + SH030643 COST 124. TRAN0306 1. + SH030643 BAL0352 -1. BAL0343 1. + SH030743 COST 298.84 TRAN0307 1. + SH030743 BAL0364 -1. BAL0343 1. + SH030843 COST 336.04 TRAN0308 1. + SH030843 BAL0383 -1. BAL0343 1. + SH030144 COST 197.16 TRAN0301 1. + SH030144 BAL0301 -1. BAL0344 1. + SH030244 COST 469.96 TRAN0302 1. + SH030244 BAL0302 -1. BAL0344 1. + SH030344 COST 158.72 TRAN0303 1. + SH030344 BAL0303 -1. BAL0344 1. + SH030444 COST 386.88 TRAN0304 1. + SH030444 BAL0304 -1. BAL0344 1. + SH030544 COST 384.4 TRAN0305 1. + SH030544 BAL0305 -1. BAL0344 1. + SH030644 COST 110.36 TRAN0306 1. + SH030644 BAL0352 -1. BAL0344 1. + SH030844 COST 369.52 TRAN0308 1. + SH030844 BAL0383 -1. BAL0344 1. + SH030145 COST 213.28 TRAN0301 1. + SH030145 BAL0301 -1. BAL0345 1. + SH030245 COST 540.64 TRAN0302 1. + SH030245 BAL0302 -1. BAL0345 1. + SH030345 COST 199.64 TRAN0303 1. + SH030345 BAL0303 -1. BAL0345 1. + SH030445 COST 362.08 TRAN0304 1. + SH030445 BAL0304 -1. BAL0345 1. + SH030545 COST 290.16 TRAN0305 1. + SH030545 BAL0305 -1. BAL0345 1. + SH030645 COST 236.84 TRAN0306 1. + SH030645 BAL0352 -1. BAL0345 1. + SH030745 COST 244.28 TRAN0307 1. + SH030745 BAL0364 -1. BAL0345 1. + SH030845 COST 378.2 TRAN0308 1. + SH030845 BAL0383 -1. BAL0345 1. + SH030146 COST 303.8 TRAN0301 1. + SH030146 BAL0301 -1. BAL0346 1. + SH030246 COST 338.52 TRAN0302 1. + SH030246 BAL0302 -1. BAL0346 1. + SH030346 COST 274.04 TRAN0303 1. + SH030346 BAL0303 -1. BAL0346 1. + SH030446 COST 554.28 TRAN0304 1. + SH030446 BAL0304 -1. BAL0346 1. + SH030546 COST 533.2 TRAN0305 1. + SH030546 BAL0305 -1. BAL0346 1. + SH030646 COST 318.68 TRAN0306 1. + SH030646 BAL0352 -1. BAL0346 1. + SH030846 COST 555.52 TRAN0308 1. + SH030846 BAL0383 -1. BAL0346 1. + SH030147 COST 136.4 TRAN0301 1. + SH030147 BAL0301 -1. BAL0347 1. + SH030247 COST 462.52 TRAN0302 1. + SH030247 BAL0302 -1. BAL0347 1. + SH030347 COST 197.16 TRAN0303 1. + SH030347 BAL0303 -1. BAL0347 1. + SH030447 COST 339.76 TRAN0304 1. + SH030447 BAL0304 -1. BAL0347 1. + SH030547 COST 288.92 TRAN0305 1. + SH030547 BAL0305 -1. BAL0347 1. + SH030647 COST 179.8 TRAN0306 1. + SH030647 BAL0352 -1. BAL0347 1. + SH030847 COST 302.56 TRAN0308 1. + SH030847 BAL0383 -1. BAL0347 1. + SH030148 COST 117.8 TRAN0301 1. + SH030148 BAL0301 -1. BAL0348 1. + SH030248 COST 420.36 TRAN0302 1. + SH030248 BAL0302 -1. BAL0348 1. + SH030348 COST 169.88 TRAN0303 1. + SH030348 BAL0303 -1. BAL0348 1. + SH030448 COST 285.2 TRAN0304 1. + SH030448 BAL0304 -1. BAL0348 1. + SH030548 COST 306.28 TRAN0305 1. + SH030548 BAL0305 -1. BAL0348 1. + SH030648 COST 142.6 TRAN0306 1. + SH030648 BAL0352 -1. BAL0348 1. + SH030848 COST 241.8 TRAN0308 1. + SH030848 BAL0383 -1. BAL0348 1. + SH030149 COST 407.96 TRAN0301 1. + SH030149 BAL0301 -1. BAL0349 1. + SH030249 COST 663.4 TRAN0302 1. + SH030249 BAL0302 -1. BAL0349 1. + SH030349 COST 411.68 TRAN0303 1. + SH030349 BAL0303 -1. BAL0349 1. + SH030449 COST 472.44 TRAN0304 1. + SH030449 BAL0304 -1. BAL0349 1. + SH030549 COST 188.48 TRAN0305 1. + SH030549 BAL0305 -1. BAL0349 1. + SH030649 COST 419.12 TRAN0306 1. + SH030649 BAL0352 -1. BAL0349 1. + SH030749 COST 166.16 TRAN0307 1. + SH030749 BAL0364 -1. BAL0349 1. + SH030849 COST 505.92 TRAN0308 1. + SH030849 BAL0383 -1. BAL0349 1. + SH030150 COST 298.84 TRAN0301 1. + SH030150 BAL0301 -1. BAL0350 1. + SH030250 COST 758.88 TRAN0302 1. + SH030250 BAL0302 -1. BAL0350 1. + SH030350 COST 305.04 TRAN0303 1. + SH030350 BAL0303 -1. BAL0350 1. + SH030450 COST 452.6 TRAN0304 1. + SH030450 BAL0304 -1. BAL0350 1. + SH030550 COST 291.4 TRAN0305 1. + SH030550 BAL0305 -1. BAL0350 1. + SH030750 COST 169.88 TRAN0307 1. + SH030750 BAL0364 -1. BAL0350 1. + SH030850 COST 503.44 TRAN0308 1. + SH030850 BAL0383 -1. BAL0350 1. + SH030151 COST 411.68 TRAN0301 1. + SH030151 BAL0301 -1. BAL0351 1. + SH030251 COST 682. TRAN0302 1. + SH030251 BAL0302 -1. BAL0351 1. + SH030351 COST 422.84 TRAN0303 1. + SH030351 BAL0303 -1. BAL0351 1. + SH030451 COST 419.12 TRAN0304 1. + SH030451 BAL0304 -1. BAL0351 1. + SH030551 COST 152.52 TRAN0305 1. + SH030551 BAL0305 -1. BAL0351 1. + SH030751 COST 122.76 TRAN0307 1. + SH030751 BAL0364 -1. BAL0351 1. + SH030851 COST 530.72 TRAN0308 1. + SH030851 BAL0383 -1. BAL0351 1. + SH030152 COST 138.88 TRAN0301 1. + SH030152 BAL0301 -1. BAL0352 1. + SH030252 COST 372. TRAN0302 1. + SH030252 BAL0302 -1. BAL0352 1. + SH030352 COST 101.68 TRAN0303 1. + SH030352 BAL0303 -1. BAL0352 1. + SH030452 COST 399.28 TRAN0304 1. + SH030452 BAL0304 -1. BAL0352 1. + SH030552 COST 365.8 TRAN0305 1. + SH030552 BAL0305 -1. BAL0352 1. + SH030852 COST 313.72 TRAN0308 1. + SH030852 BAL0383 -1. BAL0352 1. + SH030153 COST 445.16 TRAN0301 1. + SH030153 BAL0301 -1. BAL0353 1. + SH030253 COST 788.64 TRAN0302 1. + SH030253 BAL0302 -1. BAL0353 1. + SH030353 COST 403. TRAN0303 1. + SH030353 BAL0303 -1. BAL0353 1. + SH030453 COST 510.88 TRAN0304 1. + SH030453 BAL0304 -1. BAL0353 1. + SH030553 COST 228.16 TRAN0305 1. + SH030553 BAL0305 -1. BAL0353 1. + SH030653 COST 445.16 TRAN0306 1. + SH030653 BAL0352 -1. BAL0353 1. + SH030753 COST 181.04 TRAN0307 1. + SH030753 BAL0364 -1. BAL0353 1. + SH030853 COST 499.72 TRAN0308 1. + SH030853 BAL0383 -1. BAL0353 1. + SH030154 COST 229.4 TRAN0301 1. + SH030154 BAL0301 -1. BAL0354 1. + SH030254 COST 551.8 TRAN0302 1. + SH030254 BAL0302 -1. BAL0354 1. + SH030354 COST 269.08 TRAN0303 1. + SH030354 BAL0303 -1. BAL0354 1. + SH030454 COST 425.32 TRAN0304 1. + SH030454 BAL0304 -1. BAL0354 1. + SH030554 COST 264.12 TRAN0305 1. + SH030554 BAL0305 -1. BAL0354 1. + SH030654 COST 251.72 TRAN0306 1. + SH030654 BAL0352 -1. BAL0354 1. + SH030854 COST 498.48 TRAN0308 1. + SH030854 BAL0383 -1. BAL0354 1. + SH030155 COST 344.72 TRAN0301 1. + SH030155 BAL0301 -1. BAL0355 1. + SH030255 COST 593.96 TRAN0302 1. + SH030255 BAL0302 -1. BAL0355 1. + SH030355 COST 348.44 TRAN0303 1. + SH030355 BAL0303 -1. BAL0355 1. + SH030455 COST 364.56 TRAN0304 1. + SH030455 BAL0304 -1. BAL0355 1. + SH030555 COST 190.96 TRAN0305 1. + SH030555 BAL0305 -1. BAL0355 1. + SH030655 COST 359.6 TRAN0306 1. + SH030655 BAL0352 -1. BAL0355 1. + SH030755 COST 132.68 TRAN0307 1. + SH030755 BAL0364 -1. BAL0355 1. + SH030855 COST 364.56 TRAN0308 1. + SH030855 BAL0383 -1. BAL0355 1. + SH030156 COST 483.6 TRAN0301 1. + SH030156 BAL0301 -1. BAL0356 1. + SH030256 COST 717.96 TRAN0302 1. + SH030256 BAL0302 -1. BAL0356 1. + SH030356 COST 378.2 TRAN0303 1. + SH030356 BAL0303 -1. BAL0356 1. + SH030456 COST 452.6 TRAN0304 1. + SH030456 BAL0304 -1. BAL0356 1. + SH030556 COST 168.64 TRAN0305 1. + SH030556 BAL0305 -1. BAL0356 1. + SH030656 COST 420.36 TRAN0306 1. + SH030656 BAL0352 -1. BAL0356 1. + SH030756 COST 151.28 TRAN0307 1. + SH030756 BAL0364 -1. BAL0356 1. + SH030856 COST 442.68 TRAN0308 1. + SH030856 BAL0383 -1. BAL0356 1. + SH030157 COST 323.64 TRAN0301 1. + SH030157 BAL0301 -1. BAL0357 1. + SH030257 COST 644.8 TRAN0302 1. + SH030257 BAL0302 -1. BAL0357 1. + SH030357 COST 359.6 TRAN0303 1. + SH030357 BAL0303 -1. BAL0357 1. + SH030457 COST 290.16 TRAN0304 1. + SH030457 BAL0304 -1. BAL0357 1. + SH030557 COST 208.32 TRAN0305 1. + SH030557 BAL0305 -1. BAL0357 1. + SH030657 COST 395.56 TRAN0306 1. + SH030657 BAL0352 -1. BAL0357 1. + SH030757 COST 183.52 TRAN0307 1. + SH030757 BAL0364 -1. BAL0357 1. + SH030857 COST 286.44 TRAN0308 1. + SH030857 BAL0383 -1. BAL0357 1. + SH030158 COST 364.56 TRAN0301 1. + SH030158 BAL0301 -1. BAL0358 1. + SH030258 COST 646.04 TRAN0302 1. + SH030258 BAL0302 -1. BAL0358 1. + SH030358 COST 344.72 TRAN0303 1. + SH030358 BAL0303 -1. BAL0358 1. + SH030458 COST 425.32 TRAN0304 1. + SH030458 BAL0304 -1. BAL0358 1. + SH030558 COST 26.04 TRAN0305 1. + SH030558 BAL0305 -1. BAL0358 1. + SH030658 COST 404.24 TRAN0306 1. + SH030658 BAL0352 -1. BAL0358 1. + SH030758 COST 84.32 TRAN0307 1. + SH030758 BAL0364 -1. BAL0358 1. + SH030858 COST 314.96 TRAN0308 1. + SH030858 BAL0383 -1. BAL0358 1. + SH030159 COST 255.44 TRAN0301 1. + SH030159 BAL0301 -1. BAL0359 1. + SH030259 COST 617.52 TRAN0302 1. + SH030259 BAL0302 -1. BAL0359 1. + SH030359 COST 295.12 TRAN0303 1. + SH030359 BAL0303 -1. BAL0359 1. + SH030459 COST 302.56 TRAN0304 1. + SH030459 BAL0304 -1. BAL0359 1. + SH030559 COST 197.16 TRAN0305 1. + SH030559 BAL0305 -1. BAL0359 1. + SH030659 COST 368.28 TRAN0306 1. + SH030659 BAL0352 -1. BAL0359 1. + SH030759 COST 130.2 TRAN0307 1. + SH030759 BAL0364 -1. BAL0359 1. + SH030859 COST 316.2 TRAN0308 1. + SH030859 BAL0383 -1. BAL0359 1. + SH030160 COST 323.64 TRAN0301 1. + SH030160 BAL0301 -1. BAL0360 1. + SH030260 COST 682. TRAN0302 1. + SH030260 BAL0302 -1. BAL0360 1. + SH030360 COST 350.92 TRAN0303 1. + SH030360 BAL0303 -1. BAL0360 1. + SH030460 COST 386.88 TRAN0304 1. + SH030460 BAL0304 -1. BAL0360 1. + SH030560 COST 167.4 TRAN0305 1. + SH030560 BAL0305 -1. BAL0360 1. + SH030660 COST 400.52 TRAN0306 1. + SH030660 BAL0352 -1. BAL0360 1. + SH030760 COST 109.12 TRAN0307 1. + SH030760 BAL0364 -1. BAL0360 1. + SH030860 COST 370.76 TRAN0308 1. + SH030860 BAL0383 -1. BAL0360 1. + SH030163 COST 329.84 TRAN0301 1. + SH030163 BAL0301 -1. BAL0363 1. + SH030263 COST 612.56 TRAN0302 1. + SH030263 BAL0302 -1. BAL0363 1. + SH030363 COST 355.88 TRAN0303 1. + SH030363 BAL0303 -1. BAL0363 1. + SH030463 COST 457.56 TRAN0304 1. + SH030463 BAL0304 -1. BAL0363 1. + SH030563 COST 188.48 TRAN0305 1. + SH030563 BAL0305 -1. BAL0363 1. + SH030663 COST 390.6 TRAN0306 1. + SH030663 BAL0352 -1. BAL0363 1. + SH030763 COST 153.76 TRAN0307 1. + SH030763 BAL0364 -1. BAL0363 1. + SH030863 COST 496. TRAN0308 1. + SH030863 BAL0383 -1. BAL0363 1. + SH030164 COST 246.76 TRAN0301 1. + SH030164 BAL0301 -1. BAL0364 1. + SH030264 COST 652.24 TRAN0302 1. + SH030264 BAL0302 -1. BAL0364 1. + SH030364 COST 276.52 TRAN0303 1. + SH030364 BAL0303 -1. BAL0364 1. + SH030464 COST 416.64 TRAN0304 1. + SH030464 BAL0304 -1. BAL0364 1. + SH030564 COST 71.92 TRAN0305 1. + SH030564 BAL0305 -1. BAL0364 1. + SH030664 COST 393.08 TRAN0306 1. + SH030664 BAL0352 -1. BAL0364 1. + SH030864 COST 310. TRAN0308 1. + SH030864 BAL0383 -1. BAL0364 1. + SH030165 COST 535.68 TRAN0301 1. + SH030165 BAL0301 -1. BAL0365 1. + SH030265 COST 380.68 TRAN0302 1. + SH030265 BAL0302 -1. BAL0365 1. + SH030365 COST 626.2 TRAN0303 1. + SH030365 BAL0303 -1. BAL0365 1. + SH030465 COST 481.12 TRAN0304 1. + SH030465 BAL0304 -1. BAL0365 1. + SH030565 COST 748.96 TRAN0305 1. + SH030565 BAL0305 -1. BAL0365 1. + SH030865 COST 514.6 TRAN0308 1. + SH030865 BAL0383 -1. BAL0365 1. + SH030166 COST 694.4 TRAN0301 1. + SH030166 BAL0301 -1. BAL0366 1. + SH030266 COST 321.16 TRAN0302 1. + SH030266 BAL0302 -1. BAL0366 1. + SH030366 COST 716.72 TRAN0303 1. + SH030366 BAL0303 -1. BAL0366 1. + SH030466 COST 689.44 TRAN0304 1. + SH030466 BAL0304 -1. BAL0366 1. + SH030566 COST 880.4 TRAN0305 1. + SH030566 BAL0305 -1. BAL0366 1. + SH030866 COST 694.4 TRAN0308 1. + SH030866 BAL0383 -1. BAL0366 1. + SH030167 COST 527. TRAN0301 1. + SH030167 BAL0301 -1. BAL0367 1. + SH030267 COST 287.68 TRAN0302 1. + SH030267 BAL0302 -1. BAL0367 1. + SH030367 COST 611.32 TRAN0303 1. + SH030367 BAL0303 -1. BAL0367 1. + SH030467 COST 566.68 TRAN0304 1. + SH030467 BAL0304 -1. BAL0367 1. + SH030567 COST 748.96 TRAN0305 1. + SH030567 BAL0305 -1. BAL0367 1. + SH030867 COST 567.92 TRAN0308 1. + SH030867 BAL0383 -1. BAL0367 1. + SH030168 COST 736.56 TRAN0301 1. + SH030168 BAL0301 -1. BAL0368 1. + SH030268 COST 496. TRAN0302 1. + SH030268 BAL0302 -1. BAL0368 1. + SH030368 COST 694.4 TRAN0303 1. + SH030368 BAL0303 -1. BAL0368 1. + SH030468 COST 870.48 TRAN0304 1. + SH030468 BAL0304 -1. BAL0368 1. + SH030568 COST 1173.04 TRAN0305 1. + SH030568 BAL0305 -1. BAL0368 1. + SH030868 COST 931.24 TRAN0308 1. + SH030868 BAL0383 -1. BAL0368 1. + SH030169 COST 668.36 TRAN0301 1. + SH030169 BAL0301 -1. BAL0369 1. + SH030269 COST 274.04 TRAN0302 1. + SH030269 BAL0302 -1. BAL0369 1. + SH030369 COST 632.4 TRAN0303 1. + SH030369 BAL0303 -1. BAL0369 1. + SH030469 COST 771.28 TRAN0304 1. + SH030469 BAL0304 -1. BAL0369 1. + SH030569 COST 801.04 TRAN0305 1. + SH030569 BAL0305 -1. BAL0369 1. + SH030869 COST 815.92 TRAN0308 1. + SH030869 BAL0383 -1. BAL0369 1. + SH030171 COST 545.6 TRAN0301 1. + SH030171 BAL0301 -1. BAL0371 1. + SH030371 COST 649.76 TRAN0303 1. + SH030371 BAL0303 -1. BAL0371 1. + SH030471 COST 646.04 TRAN0304 1. + SH030471 BAL0304 -1. BAL0371 1. + SH030571 COST 720.44 TRAN0305 1. + SH030571 BAL0305 -1. BAL0371 1. + SH030671 COST 484.84 TRAN0306 1. + SH030671 BAL0352 -1. BAL0371 1. + SH030771 COST 872.96 TRAN0307 1. + SH030771 BAL0364 -1. BAL0371 1. + SH030871 COST 660.92 TRAN0308 1. + SH030871 BAL0383 -1. BAL0371 1. + SH030172 COST 727.88 TRAN0301 1. + SH030172 BAL0301 -1. BAL0372 1. + SH030272 COST 673.32 TRAN0302 1. + SH030272 BAL0302 -1. BAL0372 1. + SH030372 COST 765.08 TRAN0303 1. + SH030372 BAL0303 -1. BAL0372 1. + SH030472 COST 706.8 TRAN0304 1. + SH030472 BAL0304 -1. BAL0372 1. + SH030572 COST 946.12 TRAN0305 1. + SH030572 BAL0305 -1. BAL0372 1. + SH030872 COST 706.8 TRAN0308 1. + SH030872 BAL0383 -1. BAL0372 1. + SH030173 COST 483.6 TRAN0301 1. + SH030173 BAL0301 -1. BAL0373 1. + SH030273 COST 452.6 TRAN0302 1. + SH030273 BAL0302 -1. BAL0373 1. + SH030373 COST 419.12 TRAN0303 1. + SH030373 BAL0303 -1. BAL0373 1. + SH030473 COST 566.68 TRAN0304 1. + SH030473 BAL0304 -1. BAL0373 1. + SH030573 COST 699.36 TRAN0305 1. + SH030573 BAL0305 -1. BAL0373 1. + SH030673 COST 378.2 TRAN0306 1. + SH030673 BAL0352 -1. BAL0373 1. + SH030873 COST 624.96 TRAN0308 1. + SH030873 BAL0383 -1. BAL0373 1. + SH030174 COST 679.52 TRAN0301 1. + SH030174 BAL0301 -1. BAL0374 1. + SH030274 COST 260.4 TRAN0302 1. + SH030274 BAL0302 -1. BAL0374 1. + SH030374 COST 706.8 TRAN0303 1. + SH030374 BAL0303 -1. BAL0374 1. + SH030474 COST 789.88 TRAN0304 1. + SH030474 BAL0304 -1. BAL0374 1. + SH030574 COST 908.92 TRAN0305 1. + SH030574 BAL0305 -1. BAL0374 1. + SH030874 COST 767.56 TRAN0308 1. + SH030874 BAL0383 -1. BAL0374 1. + SH030275 COST 686.96 TRAN0302 1. + SH030275 BAL0302 -1. BAL0375 1. + SH030176 COST 572.88 TRAN0301 1. + SH030176 BAL0301 -1. BAL0376 1. + SH030276 COST 497.24 TRAN0302 1. + SH030276 BAL0302 -1. BAL0376 1. + SH030376 COST 499.72 TRAN0303 1. + SH030376 BAL0303 -1. BAL0376 1. + SH030476 COST 781.2 TRAN0304 1. + SH030476 BAL0304 -1. BAL0376 1. + SH030576 COST 781.2 TRAN0305 1. + SH030576 BAL0305 -1. BAL0376 1. + SH030676 COST 472.44 TRAN0306 1. + SH030676 BAL0352 -1. BAL0376 1. + SH030876 COST 963.48 TRAN0308 1. + SH030876 BAL0383 -1. BAL0376 1. + SH030177 COST 539.4 TRAN0301 1. + SH030177 BAL0301 -1. BAL0377 1. + SH030277 COST 337.28 TRAN0302 1. + SH030277 BAL0302 -1. BAL0377 1. + SH030377 COST 571.64 TRAN0303 1. + SH030377 BAL0303 -1. BAL0377 1. + SH030477 COST 497.24 TRAN0304 1. + SH030477 BAL0304 -1. BAL0377 1. + SH030577 COST 694.4 TRAN0305 1. + SH030577 BAL0305 -1. BAL0377 1. + SH030877 COST 396.8 TRAN0308 1. + SH030877 BAL0383 -1. BAL0377 1. + SH030178 COST 943.64 TRAN0301 1. + SH030178 BAL0301 -1. BAL0378 1. + SH030278 COST 548.08 TRAN0302 1. + SH030278 BAL0302 -1. BAL0378 1. + SH030378 COST 970.92 TRAN0303 1. + SH030378 BAL0303 -1. BAL0378 1. + SH030478 COST 849.4 TRAN0304 1. + SH030478 BAL0304 -1. BAL0378 1. + SH030578 COST 1089.96 TRAN0305 1. + SH030578 BAL0305 -1. BAL0378 1. + SH030878 COST 949.84 TRAN0308 1. + SH030878 BAL0383 -1. BAL0378 1. + SH030179 COST 886.6 TRAN0301 1. + SH030179 BAL0301 -1. BAL0379 1. + SH030279 COST 333.56 TRAN0302 1. + SH030279 BAL0302 -1. BAL0379 1. + SH030379 COST 856.84 TRAN0303 1. + SH030379 BAL0303 -1. BAL0379 1. + SH030479 COST 892.8 TRAN0304 1. + SH030479 BAL0304 -1. BAL0379 1. + SH030879 COST 875.44 TRAN0308 1. + SH030879 BAL0383 -1. BAL0379 1. + SH030180 COST 393.08 TRAN0301 1. + SH030180 BAL0301 -1. BAL0380 1. + SH030280 COST 489.8 TRAN0302 1. + SH030280 BAL0302 -1. BAL0380 1. + SH030380 COST 541.88 TRAN0303 1. + SH030380 BAL0303 -1. BAL0380 1. + SH030480 COST 463.76 TRAN0304 1. + SH030480 BAL0304 -1. BAL0380 1. + SH030580 COST 626.2 TRAN0305 1. + SH030580 BAL0305 -1. BAL0380 1. + SH030880 COST 297.6 TRAN0308 1. + SH030880 BAL0383 -1. BAL0380 1. + SH030182 COST 721.68 TRAN0301 1. + SH030182 BAL0301 -1. BAL0382 1. + SH030282 COST 407.96 TRAN0302 1. + SH030282 BAL0302 -1. BAL0382 1. + SH030382 COST 812.2 TRAN0303 1. + SH030382 BAL0303 -1. BAL0382 1. + SH030482 COST 875.44 TRAN0304 1. + SH030482 BAL0304 -1. BAL0382 1. + SH030582 COST 1422.28 TRAN0305 1. + SH030582 BAL0305 -1. BAL0382 1. + SH030882 COST 970.92 TRAN0308 1. + SH030882 BAL0383 -1. BAL0382 1. + SH030183 COST 219.48 TRAN0301 1. + SH030183 BAL0301 -1. BAL0383 1. + SH030283 COST 644.8 TRAN0302 1. + SH030283 BAL0302 -1. BAL0383 1. + SH030383 COST 337.28 TRAN0303 1. + SH030383 BAL0303 -1. BAL0383 1. + SH030483 COST 73.16 TRAN0304 1. + SH030483 BAL0304 -1. BAL0383 1. + SH030583 COST 430.28 TRAN0305 1. + SH030583 BAL0305 -1. BAL0383 1. + SH030683 COST 307.52 TRAN0306 1. + SH030683 BAL0352 -1. BAL0383 1. + SH030184 COST 376.96 TRAN0301 1. + SH030184 BAL0301 -1. BAL0384 1. + SH030284 COST 238.08 TRAN0302 1. + SH030284 BAL0302 -1. BAL0384 1. + SH030384 COST 451.36 TRAN0303 1. + SH030384 BAL0303 -1. BAL0384 1. + SH030484 COST 458.8 TRAN0304 1. + SH030484 BAL0304 -1. BAL0384 1. + SH030584 COST 607.6 TRAN0305 1. + SH030584 BAL0305 -1. BAL0384 1. + SH030684 COST 378.2 TRAN0306 1. + SH030684 BAL0352 -1. BAL0384 1. + SH030884 COST 481.12 TRAN0308 1. + SH030884 BAL0383 -1. BAL0384 1. + SH040201 COST 299.97 TRAN0402 1. + SH040201 BAL0402 -1. BAL0401 1. + SH040301 COST 115.14 TRAN0403 1. + SH040301 BAL0403 -1. BAL0401 1. + SH040401 COST 210.08 TRAN0404 1. + SH040401 BAL0404 -1. BAL0401 1. + SH040501 COST 239.37 TRAN0405 1. + SH040501 BAL0405 -1. BAL0401 1. + SH040601 COST 127.26 TRAN0406 1. + SH040601 BAL0452 -1. BAL0401 1. + SH040801 COST 144.43 TRAN0408 1. + SH040801 BAL0483 -1. BAL0401 1. + SH040102 COST 478.74 TRAN0401 1. + SH040102 BAL0401 -1. BAL0402 1. + SH040302 COST 421.17 TRAN0403 1. + SH040302 BAL0403 -1. BAL0402 1. + SH040402 COST 618.12 TRAN0404 1. + SH040402 BAL0404 -1. BAL0402 1. + SH040502 COST 748.41 TRAN0405 1. + SH040502 BAL0405 -1. BAL0402 1. + SH040602 COST 381.78 TRAN0406 1. + SH040602 BAL0452 -1. BAL0402 1. + SH040802 COST 526.21 TRAN0408 1. + SH040802 BAL0483 -1. BAL0402 1. + SH040103 COST 247.45 TRAN0401 1. + SH040103 BAL0401 -1. BAL0403 1. + SH040203 COST 478.74 TRAN0402 1. + SH040203 BAL0402 -1. BAL0403 1. + SH040403 COST 370.67 TRAN0404 1. + SH040403 BAL0404 -1. BAL0403 1. + SH040503 COST 286.84 TRAN0405 1. + SH040503 BAL0405 -1. BAL0403 1. + SH040603 COST 90.9 TRAN0406 1. + SH040603 BAL0452 -1. BAL0403 1. + SH040803 COST 257.55 TRAN0408 1. + SH040803 BAL0483 -1. BAL0403 1. + SH040104 COST 175.74 TRAN0401 1. + SH040104 BAL0401 -1. BAL0404 1. + SH040204 COST 508.03 TRAN0402 1. + SH040204 BAL0402 -1. BAL0404 1. + SH040304 COST 245.43 TRAN0403 1. + SH040304 BAL0403 -1. BAL0404 1. + SH040504 COST 322.19 TRAN0405 1. + SH040504 BAL0405 -1. BAL0404 1. + SH040604 COST 247.45 TRAN0406 1. + SH040604 BAL0452 -1. BAL0404 1. + SH040704 COST 271.69 TRAN0407 1. + SH040704 BAL0464 -1. BAL0404 1. + SH040804 COST 58.58 TRAN0408 1. + SH040804 BAL0483 -1. BAL0404 1. + SH040105 COST 272.7 TRAN0401 1. + SH040105 BAL0401 -1. BAL0405 1. + SH040205 COST 521.16 TRAN0402 1. + SH040205 BAL0402 -1. BAL0405 1. + SH040305 COST 286.84 TRAN0403 1. + SH040305 BAL0403 -1. BAL0405 1. + SH040405 COST 287.85 TRAN0404 1. + SH040405 BAL0404 -1. BAL0405 1. + SH040605 COST 329.26 TRAN0406 1. + SH040605 BAL0452 -1. BAL0405 1. + SH040705 COST 337.34 TRAN0407 1. + SH040705 BAL0464 -1. BAL0405 1. + SH040805 COST 273.71 TRAN0408 1. + SH040805 BAL0483 -1. BAL0405 1. + SH040106 COST 200.99 TRAN0401 1. + SH040106 BAL0401 -1. BAL0406 1. + SH040206 COST 421.17 TRAN0402 1. + SH040206 BAL0402 -1. BAL0406 1. + SH040306 COST 215.13 TRAN0403 1. + SH040306 BAL0403 -1. BAL0406 1. + SH040406 COST 221.19 TRAN0404 1. + SH040406 BAL0404 -1. BAL0406 1. + SH040506 COST 254.52 TRAN0405 1. + SH040506 BAL0405 -1. BAL0406 1. + SH040606 COST 208.06 TRAN0406 1. + SH040606 BAL0452 -1. BAL0406 1. + SH040706 COST 202. TRAN0407 1. + SH040706 BAL0464 -1. BAL0406 1. + SH040806 COST 152.51 TRAN0408 1. + SH040806 BAL0483 -1. BAL0406 1. + SH040107 COST 21.21 TRAN0401 1. + SH040107 BAL0401 -1. BAL0407 1. + SH040207 COST 294.92 TRAN0402 1. + SH040207 BAL0402 -1. BAL0407 1. + SH040307 COST 125.24 TRAN0403 1. + SH040307 BAL0403 -1. BAL0407 1. + SH040407 COST 209.07 TRAN0404 1. + SH040407 BAL0404 -1. BAL0407 1. + SH040507 COST 231.29 TRAN0405 1. + SH040507 BAL0405 -1. BAL0407 1. + SH040607 COST 126.25 TRAN0406 1. + SH040607 BAL0452 -1. BAL0407 1. + SH040707 COST 234.32 TRAN0407 1. + SH040707 BAL0464 -1. BAL0407 1. + SH040807 COST 156.55 TRAN0408 1. + SH040807 BAL0483 -1. BAL0407 1. + SH040108 COST 66.66 TRAN0401 1. + SH040108 BAL0401 -1. BAL0408 1. + SH040208 COST 379.76 TRAN0402 1. + SH040208 BAL0402 -1. BAL0408 1. + SH040308 COST 142.41 TRAN0403 1. + SH040308 BAL0403 -1. BAL0408 1. + SH040408 COST 249.47 TRAN0404 1. + SH040408 BAL0404 -1. BAL0408 1. + SH040508 COST 183.82 TRAN0405 1. + SH040508 BAL0405 -1. BAL0408 1. + SH040608 COST 167.66 TRAN0406 1. + SH040608 BAL0452 -1. BAL0408 1. + SH040808 COST 188.87 TRAN0408 1. + SH040808 BAL0483 -1. BAL0408 1. + SH040109 COST 139.38 TRAN0401 1. + SH040109 BAL0401 -1. BAL0409 1. + SH040209 COST 386.83 TRAN0402 1. + SH040209 BAL0402 -1. BAL0409 1. + SH040309 COST 169.68 TRAN0403 1. + SH040309 BAL0403 -1. BAL0409 1. + SH040409 COST 255.53 TRAN0404 1. + SH040409 BAL0404 -1. BAL0409 1. + SH040509 COST 241.39 TRAN0405 1. + SH040509 BAL0405 -1. BAL0409 1. + SH040709 COST 197.96 TRAN0407 1. + SH040709 BAL0464 -1. BAL0409 1. + SH040809 COST 195.94 TRAN0408 1. + SH040809 BAL0483 -1. BAL0409 1. + SH040110 COST 249.47 TRAN0401 1. + SH040110 BAL0401 -1. BAL0410 1. + SH040210 COST 159.58 TRAN0402 1. + SH040210 BAL0402 -1. BAL0410 1. + SH040310 COST 242.4 TRAN0403 1. + SH040310 BAL0403 -1. BAL0410 1. + SH040410 COST 362.59 TRAN0404 1. + SH040410 BAL0404 -1. BAL0410 1. + SH040510 COST 388.85 TRAN0405 1. + SH040510 BAL0405 -1. BAL0410 1. + SH040610 COST 227.25 TRAN0406 1. + SH040610 BAL0452 -1. BAL0410 1. + SH040810 COST 308.05 TRAN0408 1. + SH040810 BAL0483 -1. BAL0410 1. + SH040111 COST 107.06 TRAN0401 1. + SH040111 BAL0401 -1. BAL0411 1. + SH040211 COST 499.95 TRAN0402 1. + SH040211 BAL0402 -1. BAL0411 1. + SH040311 COST 250.48 TRAN0403 1. + SH040311 BAL0403 -1. BAL0411 1. + SH040411 COST 140.39 TRAN0404 1. + SH040411 BAL0404 -1. BAL0411 1. + SH040511 COST 344.41 TRAN0405 1. + SH040511 BAL0405 -1. BAL0411 1. + SH040611 COST 197.96 TRAN0406 1. + SH040611 BAL0452 -1. BAL0411 1. + SH040811 COST 103.02 TRAN0408 1. + SH040811 BAL0483 -1. BAL0411 1. + SH040112 COST 88.88 TRAN0401 1. + SH040112 BAL0401 -1. BAL0412 1. + SH040212 COST 342.39 TRAN0402 1. + SH040212 BAL0402 -1. BAL0412 1. + SH040312 COST 147.46 TRAN0403 1. + SH040312 BAL0403 -1. BAL0412 1. + SH040412 COST 202. TRAN0404 1. + SH040412 BAL0404 -1. BAL0412 1. + SH040512 COST 269.67 TRAN0405 1. + SH040512 BAL0405 -1. BAL0412 1. + SH040612 COST 146.45 TRAN0406 1. + SH040612 BAL0452 -1. BAL0412 1. + SH040812 COST 147.46 TRAN0408 1. + SH040812 BAL0483 -1. BAL0412 1. + SH040114 COST 143.42 TRAN0401 1. + SH040114 BAL0401 -1. BAL0414 1. + SH040214 COST 416.12 TRAN0402 1. + SH040214 BAL0402 -1. BAL0414 1. + SH040314 COST 197.96 TRAN0403 1. + SH040314 BAL0403 -1. BAL0414 1. + SH040414 COST 200.99 TRAN0404 1. + SH040414 BAL0404 -1. BAL0414 1. + SH040514 COST 355.52 TRAN0405 1. + SH040514 BAL0405 -1. BAL0414 1. + SH040614 COST 189.88 TRAN0406 1. + SH040614 BAL0452 -1. BAL0414 1. + SH040814 COST 127.26 TRAN0408 1. + SH040814 BAL0483 -1. BAL0414 1. + SH040115 COST 306.03 TRAN0401 1. + SH040115 BAL0401 -1. BAL0415 1. + SH040215 COST 160.59 TRAN0402 1. + SH040215 BAL0402 -1. BAL0415 1. + SH040315 COST 236.34 TRAN0403 1. + SH040315 BAL0403 -1. BAL0415 1. + SH040415 COST 480.76 TRAN0404 1. + SH040415 BAL0404 -1. BAL0415 1. + SH040515 COST 401.98 TRAN0405 1. + SH040515 BAL0405 -1. BAL0415 1. + SH040615 COST 189.88 TRAN0406 1. + SH040615 BAL0452 -1. BAL0415 1. + SH040815 COST 376.73 TRAN0408 1. + SH040815 BAL0483 -1. BAL0415 1. + SH040116 COST 159.58 TRAN0401 1. + SH040116 BAL0401 -1. BAL0416 1. + SH040216 COST 282.8 TRAN0402 1. + SH040216 BAL0402 -1. BAL0416 1. + SH040316 COST 229.27 TRAN0403 1. + SH040316 BAL0403 -1. BAL0416 1. + SH040416 COST 289.87 TRAN0404 1. + SH040416 BAL0404 -1. BAL0416 1. + SH040516 COST 322.19 TRAN0405 1. + SH040516 BAL0405 -1. BAL0416 1. + SH040616 COST 132.31 TRAN0406 1. + SH040616 BAL0452 -1. BAL0416 1. + SH040816 COST 207.05 TRAN0408 1. + SH040816 BAL0483 -1. BAL0416 1. + SH040117 COST 152.51 TRAN0401 1. + SH040117 BAL0401 -1. BAL0417 1. + SH040217 COST 510.05 TRAN0402 1. + SH040217 BAL0402 -1. BAL0417 1. + SH040317 COST 276.74 TRAN0403 1. + SH040317 BAL0403 -1. BAL0417 1. + SH040417 COST 57.57 TRAN0404 1. + SH040417 BAL0404 -1. BAL0417 1. + SH040517 COST 300.98 TRAN0405 1. + SH040517 BAL0405 -1. BAL0417 1. + SH040717 COST 297.95 TRAN0407 1. + SH040717 BAL0464 -1. BAL0417 1. + SH040817 COST 27.27 TRAN0408 1. + SH040817 BAL0483 -1. BAL0417 1. + SH040118 COST 176.75 TRAN0401 1. + SH040118 BAL0401 -1. BAL0418 1. + SH040218 COST 364.61 TRAN0402 1. + SH040218 BAL0402 -1. BAL0418 1. + SH040318 COST 272.7 TRAN0403 1. + SH040318 BAL0403 -1. BAL0418 1. + SH040418 COST 155.54 TRAN0404 1. + SH040418 BAL0404 -1. BAL0418 1. + SH040518 COST 411.07 TRAN0405 1. + SH040518 BAL0405 -1. BAL0418 1. + SH040618 COST 355.52 TRAN0406 1. + SH040618 BAL0452 -1. BAL0418 1. + SH040818 COST 104.03 TRAN0408 1. + SH040818 BAL0483 -1. BAL0418 1. + SH040119 COST 250.48 TRAN0401 1. + SH040119 BAL0401 -1. BAL0419 1. + SH040219 COST 693.87 TRAN0402 1. + SH040219 BAL0402 -1. BAL0419 1. + SH040319 COST 320.17 TRAN0403 1. + SH040319 BAL0403 -1. BAL0419 1. + SH040419 COST 160.59 TRAN0404 1. + SH040419 BAL0404 -1. BAL0419 1. + SH040519 COST 210.08 TRAN0405 1. + SH040519 BAL0405 -1. BAL0419 1. + SH040619 COST 348.45 TRAN0406 1. + SH040619 BAL0452 -1. BAL0419 1. + SH040819 COST 99.99 TRAN0408 1. + SH040819 BAL0483 -1. BAL0419 1. + SH040120 COST 207.05 TRAN0401 1. + SH040120 BAL0401 -1. BAL0420 1. + SH040220 COST 689.83 TRAN0402 1. + SH040220 BAL0402 -1. BAL0420 1. + SH040320 COST 299.97 TRAN0403 1. + SH040320 BAL0403 -1. BAL0420 1. + SH040420 COST 114.13 TRAN0404 1. + SH040420 BAL0404 -1. BAL0420 1. + SH040520 COST 293.91 TRAN0405 1. + SH040520 BAL0405 -1. BAL0420 1. + SH040820 COST 127.26 TRAN0408 1. + SH040820 BAL0483 -1. BAL0420 1. + SH040121 COST 407.03 TRAN0401 1. + SH040121 BAL0401 -1. BAL0421 1. + SH040221 COST 371.68 TRAN0402 1. + SH040221 BAL0402 -1. BAL0421 1. + SH040321 COST 450.46 TRAN0403 1. + SH040321 BAL0403 -1. BAL0421 1. + SH040421 COST 323.2 TRAN0404 1. + SH040421 BAL0404 -1. BAL0421 1. + SH040521 COST 555.5 TRAN0405 1. + SH040521 BAL0405 -1. BAL0421 1. + SH040821 COST 323.2 TRAN0408 1. + SH040821 BAL0483 -1. BAL0421 1. + SH040122 COST 250.48 TRAN0401 1. + SH040122 BAL0401 -1. BAL0422 1. + SH040222 COST 583.78 TRAN0402 1. + SH040222 BAL0402 -1. BAL0422 1. + SH040322 COST 301.99 TRAN0403 1. + SH040322 BAL0403 -1. BAL0422 1. + SH040422 COST 226.24 TRAN0404 1. + SH040422 BAL0404 -1. BAL0422 1. + SH040522 COST 180.79 TRAN0405 1. + SH040522 BAL0405 -1. BAL0422 1. + SH040622 COST 313.1 TRAN0406 1. + SH040622 BAL0452 -1. BAL0422 1. + SH040822 COST 140.39 TRAN0408 1. + SH040822 BAL0483 -1. BAL0422 1. + SH040123 COST 236.34 TRAN0401 1. + SH040123 BAL0401 -1. BAL0423 1. + SH040223 COST 546.41 TRAN0402 1. + SH040223 BAL0402 -1. BAL0423 1. + SH040323 COST 289.87 TRAN0403 1. + SH040323 BAL0403 -1. BAL0423 1. + SH040423 COST 168.67 TRAN0404 1. + SH040423 BAL0404 -1. BAL0423 1. + SH040523 COST 167.66 TRAN0405 1. + SH040523 BAL0405 -1. BAL0423 1. + SH040823 COST 140.39 TRAN0408 1. + SH040823 BAL0483 -1. BAL0423 1. + SH040124 COST 1450.36 TRAN0401 1. + SH040124 BAL0401 -1. BAL0424 1. + SH040125 COST 390.87 TRAN0401 1. + SH040125 BAL0401 -1. BAL0425 1. + SH040225 COST 431.27 TRAN0402 1. + SH040225 BAL0402 -1. BAL0425 1. + SH040325 COST 516.11 TRAN0403 1. + SH040325 BAL0403 -1. BAL0425 1. + SH040425 COST 351.48 TRAN0404 1. + SH040425 BAL0404 -1. BAL0425 1. + SH040525 COST 571.66 TRAN0405 1. + SH040525 BAL0405 -1. BAL0425 1. + SH040625 COST 407.03 TRAN0406 1. + SH040625 BAL0452 -1. BAL0425 1. + SH040825 COST 308.05 TRAN0408 1. + SH040825 BAL0483 -1. BAL0425 1. + SH040426 COST 272.7 TRAN0404 1. + SH040426 BAL0404 -1. BAL0426 1. + SH040127 COST 236.34 TRAN0401 1. + SH040127 BAL0401 -1. BAL0427 1. + SH040227 COST 286.84 TRAN0402 1. + SH040227 BAL0402 -1. BAL0427 1. + SH040327 COST 291.89 TRAN0403 1. + SH040327 BAL0403 -1. BAL0427 1. + SH040427 COST 338.35 TRAN0404 1. + SH040427 BAL0404 -1. BAL0427 1. + SH040527 COST 381.78 TRAN0405 1. + SH040527 BAL0405 -1. BAL0427 1. + SH040627 COST 270.68 TRAN0406 1. + SH040627 BAL0452 -1. BAL0427 1. + SH040827 COST 254.52 TRAN0408 1. + SH040827 BAL0483 -1. BAL0427 1. + SH040128 COST 245.43 TRAN0401 1. + SH040128 BAL0401 -1. BAL0428 1. + SH040228 COST 574.69 TRAN0402 1. + SH040228 BAL0402 -1. BAL0428 1. + SH040328 COST 298.96 TRAN0403 1. + SH040328 BAL0403 -1. BAL0428 1. + SH040428 COST 297.95 TRAN0404 1. + SH040428 BAL0404 -1. BAL0428 1. + SH040528 COST 103.02 TRAN0405 1. + SH040528 BAL0405 -1. BAL0428 1. + SH040628 COST 263.61 TRAN0406 1. + SH040628 BAL0452 -1. BAL0428 1. + SH040728 COST 108.07 TRAN0407 1. + SH040728 BAL0464 -1. BAL0428 1. + SH040828 COST 256.54 TRAN0408 1. + SH040828 BAL0483 -1. BAL0428 1. + SH040129 COST 225.23 TRAN0401 1. + SH040129 BAL0401 -1. BAL0429 1. + SH040229 COST 468.64 TRAN0402 1. + SH040229 BAL0402 -1. BAL0429 1. + SH040329 COST 243.41 TRAN0403 1. + SH040329 BAL0403 -1. BAL0429 1. + SH040429 COST 200.99 TRAN0404 1. + SH040429 BAL0404 -1. BAL0429 1. + SH040529 COST 434.3 TRAN0405 1. + SH040529 BAL0405 -1. BAL0429 1. + SH040629 COST 263.61 TRAN0406 1. + SH040629 BAL0452 -1. BAL0429 1. + SH040829 COST 145.44 TRAN0408 1. + SH040829 BAL0483 -1. BAL0429 1. + SH040130 COST 470.66 TRAN0401 1. + SH040130 BAL0401 -1. BAL0430 1. + SH040230 COST 440.36 TRAN0402 1. + SH040230 BAL0402 -1. BAL0430 1. + SH040330 COST 528.23 TRAN0403 1. + SH040330 BAL0403 -1. BAL0430 1. + SH040430 COST 307.04 TRAN0404 1. + SH040430 BAL0404 -1. BAL0430 1. + SH040530 COST 450.46 TRAN0405 1. + SH040530 BAL0405 -1. BAL0430 1. + SH040830 COST 385.82 TRAN0408 1. + SH040830 BAL0483 -1. BAL0430 1. + SH040131 COST 112.11 TRAN0401 1. + SH040131 BAL0401 -1. BAL0431 1. + SH040231 COST 354.51 TRAN0402 1. + SH040231 BAL0402 -1. BAL0431 1. + SH040331 COST 111.1 TRAN0403 1. + SH040331 BAL0403 -1. BAL0431 1. + SH040431 COST 255.53 TRAN0404 1. + SH040431 BAL0404 -1. BAL0431 1. + SH040531 COST 310.07 TRAN0405 1. + SH040531 BAL0405 -1. BAL0431 1. + SH040631 COST 113.12 TRAN0406 1. + SH040631 BAL0452 -1. BAL0431 1. + SH040831 COST 225.23 TRAN0408 1. + SH040831 BAL0483 -1. BAL0431 1. + SH040132 COST 301.99 TRAN0401 1. + SH040132 BAL0401 -1. BAL0432 1. + SH040232 COST 482.78 TRAN0402 1. + SH040232 BAL0402 -1. BAL0432 1. + SH040332 COST 427.23 TRAN0403 1. + SH040332 BAL0403 -1. BAL0432 1. + SH040432 COST 158.57 TRAN0404 1. + SH040432 BAL0404 -1. BAL0432 1. + SH040532 COST 395.92 TRAN0405 1. + SH040532 BAL0405 -1. BAL0432 1. + SH040832 COST 181.8 TRAN0408 1. + SH040832 BAL0483 -1. BAL0432 1. + SH040133 COST 497.93 TRAN0401 1. + SH040133 BAL0401 -1. BAL0433 1. + SH040233 COST 404. TRAN0402 1. + SH040233 BAL0402 -1. BAL0433 1. + SH040333 COST 548.43 TRAN0403 1. + SH040333 BAL0403 -1. BAL0433 1. + SH040433 COST 449.45 TRAN0404 1. + SH040433 BAL0404 -1. BAL0433 1. + SH040533 COST 637.31 TRAN0405 1. + SH040533 BAL0405 -1. BAL0433 1. + SH040833 COST 384.81 TRAN0408 1. + SH040833 BAL0483 -1. BAL0433 1. + SH040134 COST 389.86 TRAN0401 1. + SH040134 BAL0401 -1. BAL0434 1. + SH040234 COST 661.55 TRAN0402 1. + SH040234 BAL0402 -1. BAL0434 1. + SH040334 COST 508.03 TRAN0403 1. + SH040334 BAL0403 -1. BAL0434 1. + SH040434 COST 213.11 TRAN0404 1. + SH040434 BAL0404 -1. BAL0434 1. + SH040534 COST 445.41 TRAN0405 1. + SH040534 BAL0405 -1. BAL0434 1. + SH040834 COST 265.63 TRAN0408 1. + SH040834 BAL0483 -1. BAL0434 1. + SH040135 COST 465.61 TRAN0401 1. + SH040135 BAL0401 -1. BAL0435 1. + SH040235 COST 449.45 TRAN0402 1. + SH040235 BAL0402 -1. BAL0435 1. + SH040335 COST 380.77 TRAN0403 1. + SH040335 BAL0403 -1. BAL0435 1. + SH040435 COST 123.22 TRAN0404 1. + SH040435 BAL0404 -1. BAL0435 1. + SH040535 COST 435.31 TRAN0405 1. + SH040535 BAL0405 -1. BAL0435 1. + SH040835 COST 237.35 TRAN0408 1. + SH040835 BAL0483 -1. BAL0435 1. + SH040136 COST 207.05 TRAN0401 1. + SH040136 BAL0401 -1. BAL0436 1. + SH040236 COST 452.48 TRAN0402 1. + SH040236 BAL0402 -1. BAL0436 1. + SH040336 COST 107.06 TRAN0403 1. + SH040336 BAL0403 -1. BAL0436 1. + SH040436 COST 373.7 TRAN0404 1. + SH040436 BAL0404 -1. BAL0436 1. + SH040536 COST 349.46 TRAN0405 1. + SH040536 BAL0405 -1. BAL0436 1. + SH040636 COST 111.1 TRAN0406 1. + SH040636 BAL0452 -1. BAL0436 1. + SH040836 COST 324.21 TRAN0408 1. + SH040836 BAL0483 -1. BAL0436 1. + SH040137 COST 92.92 TRAN0401 1. + SH040137 BAL0401 -1. BAL0437 1. + SH040237 COST 345.42 TRAN0402 1. + SH040237 BAL0402 -1. BAL0437 1. + SH040337 COST 159.58 TRAN0403 1. + SH040337 BAL0403 -1. BAL0437 1. + SH040437 COST 307.04 TRAN0404 1. + SH040437 BAL0404 -1. BAL0437 1. + SH040537 COST 183.82 TRAN0405 1. + SH040537 BAL0405 -1. BAL0437 1. + SH040637 COST 195.94 TRAN0406 1. + SH040637 BAL0452 -1. BAL0437 1. + SH040837 COST 254.52 TRAN0408 1. + SH040837 BAL0483 -1. BAL0437 1. + SH040138 COST 137.36 TRAN0401 1. + SH040138 BAL0401 -1. BAL0438 1. + SH040238 COST 246.44 TRAN0402 1. + SH040238 BAL0402 -1. BAL0438 1. + SH040338 COST 95.95 TRAN0403 1. + SH040338 BAL0403 -1. BAL0438 1. + SH040438 COST 311.08 TRAN0404 1. + SH040438 BAL0404 -1. BAL0438 1. + SH040538 COST 280.78 TRAN0405 1. + SH040538 BAL0405 -1. BAL0438 1. + SH040638 COST 39.39 TRAN0406 1. + SH040638 BAL0452 -1. BAL0438 1. + SH040738 COST 218.16 TRAN0407 1. + SH040738 BAL0464 -1. BAL0438 1. + SH040838 COST 239.37 TRAN0408 1. + SH040838 BAL0483 -1. BAL0438 1. + SH040139 COST 131.3 TRAN0401 1. + SH040139 BAL0401 -1. BAL0439 1. + SH040239 COST 342.39 TRAN0402 1. + SH040239 BAL0402 -1. BAL0439 1. + SH040339 COST 161.6 TRAN0403 1. + SH040339 BAL0403 -1. BAL0439 1. + SH040439 COST 251.49 TRAN0404 1. + SH040439 BAL0404 -1. BAL0439 1. + SH040539 COST 433.29 TRAN0405 1. + SH040539 BAL0405 -1. BAL0439 1. + SH040639 COST 206.04 TRAN0406 1. + SH040639 BAL0452 -1. BAL0439 1. + SH040839 COST 169.68 TRAN0408 1. + SH040839 BAL0483 -1. BAL0439 1. + SH040140 COST 166.65 TRAN0401 1. + SH040140 BAL0401 -1. BAL0440 1. + SH040240 COST 381.78 TRAN0402 1. + SH040240 BAL0402 -1. BAL0440 1. + SH040340 COST 104.03 TRAN0403 1. + SH040340 BAL0403 -1. BAL0440 1. + SH040440 COST 299.97 TRAN0404 1. + SH040440 BAL0404 -1. BAL0440 1. + SH040540 COST 223.21 TRAN0405 1. + SH040540 BAL0405 -1. BAL0440 1. + SH040640 COST 132.31 TRAN0406 1. + SH040640 BAL0452 -1. BAL0440 1. + SH040840 COST 276.74 TRAN0408 1. + SH040840 BAL0483 -1. BAL0440 1. + SH040141 COST 197.96 TRAN0401 1. + SH040141 BAL0401 -1. BAL0441 1. + SH040241 COST 303. TRAN0402 1. + SH040241 BAL0402 -1. BAL0441 1. + SH040341 COST 151.5 TRAN0403 1. + SH040341 BAL0403 -1. BAL0441 1. + SH040441 COST 327.24 TRAN0404 1. + SH040441 BAL0404 -1. BAL0441 1. + SH040541 COST 371.68 TRAN0405 1. + SH040541 BAL0405 -1. BAL0441 1. + SH040641 COST 101. TRAN0406 1. + SH040641 BAL0452 -1. BAL0441 1. + SH040841 COST 301.99 TRAN0408 1. + SH040841 BAL0483 -1. BAL0441 1. + SH040142 COST 90.9 TRAN0401 1. + SH040142 BAL0401 -1. BAL0442 1. + SH040242 COST 418.14 TRAN0402 1. + SH040242 BAL0402 -1. BAL0442 1. + SH040342 COST 161.6 TRAN0403 1. + SH040342 BAL0403 -1. BAL0442 1. + SH040442 COST 196.95 TRAN0404 1. + SH040442 BAL0404 -1. BAL0442 1. + SH040542 COST 364.61 TRAN0405 1. + SH040542 BAL0405 -1. BAL0442 1. + SH040642 COST 162.61 TRAN0406 1. + SH040642 BAL0452 -1. BAL0442 1. + SH040842 COST 153.52 TRAN0408 1. + SH040842 BAL0483 -1. BAL0442 1. + SH040143 COST 160.59 TRAN0401 1. + SH040143 BAL0401 -1. BAL0443 1. + SH040243 COST 398.95 TRAN0402 1. + SH040243 BAL0402 -1. BAL0443 1. + SH040343 COST 25.25 TRAN0403 1. + SH040343 BAL0403 -1. BAL0443 1. + SH040443 COST 298.96 TRAN0404 1. + SH040443 BAL0404 -1. BAL0443 1. + SH040543 COST 260.58 TRAN0405 1. + SH040543 BAL0405 -1. BAL0443 1. + SH040643 COST 101. TRAN0406 1. + SH040643 BAL0452 -1. BAL0443 1. + SH040743 COST 243.41 TRAN0407 1. + SH040743 BAL0464 -1. BAL0443 1. + SH040843 COST 273.71 TRAN0408 1. + SH040843 BAL0483 -1. BAL0443 1. + SH040144 COST 160.59 TRAN0401 1. + SH040144 BAL0401 -1. BAL0444 1. + SH040244 COST 382.79 TRAN0402 1. + SH040244 BAL0402 -1. BAL0444 1. + SH040344 COST 129.28 TRAN0403 1. + SH040344 BAL0403 -1. BAL0444 1. + SH040444 COST 315.12 TRAN0404 1. + SH040444 BAL0404 -1. BAL0444 1. + SH040544 COST 313.1 TRAN0405 1. + SH040544 BAL0405 -1. BAL0444 1. + SH040644 COST 89.89 TRAN0406 1. + SH040644 BAL0452 -1. BAL0444 1. + SH040844 COST 300.98 TRAN0408 1. + SH040844 BAL0483 -1. BAL0444 1. + SH040145 COST 173.72 TRAN0401 1. + SH040145 BAL0401 -1. BAL0445 1. + SH040245 COST 440.36 TRAN0402 1. + SH040245 BAL0402 -1. BAL0445 1. + SH040345 COST 162.61 TRAN0403 1. + SH040345 BAL0403 -1. BAL0445 1. + SH040445 COST 294.92 TRAN0404 1. + SH040445 BAL0404 -1. BAL0445 1. + SH040545 COST 236.34 TRAN0405 1. + SH040545 BAL0405 -1. BAL0445 1. + SH040645 COST 192.91 TRAN0406 1. + SH040645 BAL0452 -1. BAL0445 1. + SH040745 COST 198.97 TRAN0407 1. + SH040745 BAL0464 -1. BAL0445 1. + SH040845 COST 308.05 TRAN0408 1. + SH040845 BAL0483 -1. BAL0445 1. + SH040146 COST 247.45 TRAN0401 1. + SH040146 BAL0401 -1. BAL0446 1. + SH040246 COST 275.73 TRAN0402 1. + SH040246 BAL0402 -1. BAL0446 1. + SH040346 COST 223.21 TRAN0403 1. + SH040346 BAL0403 -1. BAL0446 1. + SH040446 COST 451.47 TRAN0404 1. + SH040446 BAL0404 -1. BAL0446 1. + SH040546 COST 434.3 TRAN0405 1. + SH040546 BAL0405 -1. BAL0446 1. + SH040646 COST 259.57 TRAN0406 1. + SH040646 BAL0452 -1. BAL0446 1. + SH040846 COST 452.48 TRAN0408 1. + SH040846 BAL0483 -1. BAL0446 1. + SH040147 COST 111.1 TRAN0401 1. + SH040147 BAL0401 -1. BAL0447 1. + SH040247 COST 376.73 TRAN0402 1. + SH040247 BAL0402 -1. BAL0447 1. + SH040347 COST 160.59 TRAN0403 1. + SH040347 BAL0403 -1. BAL0447 1. + SH040447 COST 276.74 TRAN0404 1. + SH040447 BAL0404 -1. BAL0447 1. + SH040547 COST 235.33 TRAN0405 1. + SH040547 BAL0405 -1. BAL0447 1. + SH040647 COST 146.45 TRAN0406 1. + SH040647 BAL0452 -1. BAL0447 1. + SH040847 COST 246.44 TRAN0408 1. + SH040847 BAL0483 -1. BAL0447 1. + SH040148 COST 95.95 TRAN0401 1. + SH040148 BAL0401 -1. BAL0448 1. + SH040248 COST 342.39 TRAN0402 1. + SH040248 BAL0402 -1. BAL0448 1. + SH040348 COST 138.37 TRAN0403 1. + SH040348 BAL0403 -1. BAL0448 1. + SH040448 COST 232.3 TRAN0404 1. + SH040448 BAL0404 -1. BAL0448 1. + SH040548 COST 249.47 TRAN0405 1. + SH040548 BAL0405 -1. BAL0448 1. + SH040648 COST 116.15 TRAN0406 1. + SH040648 BAL0452 -1. BAL0448 1. + SH040848 COST 196.95 TRAN0408 1. + SH040848 BAL0483 -1. BAL0448 1. + SH040149 COST 332.29 TRAN0401 1. + SH040149 BAL0401 -1. BAL0449 1. + SH040249 COST 540.35 TRAN0402 1. + SH040249 BAL0402 -1. BAL0449 1. + SH040349 COST 335.32 TRAN0403 1. + SH040349 BAL0403 -1. BAL0449 1. + SH040449 COST 384.81 TRAN0404 1. + SH040449 BAL0404 -1. BAL0449 1. + SH040549 COST 153.52 TRAN0405 1. + SH040549 BAL0405 -1. BAL0449 1. + SH040649 COST 341.38 TRAN0406 1. + SH040649 BAL0452 -1. BAL0449 1. + SH040749 COST 135.34 TRAN0407 1. + SH040749 BAL0464 -1. BAL0449 1. + SH040849 COST 412.08 TRAN0408 1. + SH040849 BAL0483 -1. BAL0449 1. + SH040150 COST 243.41 TRAN0401 1. + SH040150 BAL0401 -1. BAL0450 1. + SH040250 COST 618.12 TRAN0402 1. + SH040250 BAL0402 -1. BAL0450 1. + SH040350 COST 248.46 TRAN0403 1. + SH040350 BAL0403 -1. BAL0450 1. + SH040450 COST 368.65 TRAN0404 1. + SH040450 BAL0404 -1. BAL0450 1. + SH040550 COST 237.35 TRAN0405 1. + SH040550 BAL0405 -1. BAL0450 1. + SH040750 COST 138.37 TRAN0407 1. + SH040750 BAL0464 -1. BAL0450 1. + SH040850 COST 410.06 TRAN0408 1. + SH040850 BAL0483 -1. BAL0450 1. + SH040151 COST 335.32 TRAN0401 1. + SH040151 BAL0401 -1. BAL0451 1. + SH040251 COST 555.5 TRAN0402 1. + SH040251 BAL0402 -1. BAL0451 1. + SH040351 COST 344.41 TRAN0403 1. + SH040351 BAL0403 -1. BAL0451 1. + SH040451 COST 341.38 TRAN0404 1. + SH040451 BAL0404 -1. BAL0451 1. + SH040551 COST 124.23 TRAN0405 1. + SH040551 BAL0405 -1. BAL0451 1. + SH040751 COST 99.99 TRAN0407 1. + SH040751 BAL0464 -1. BAL0451 1. + SH040851 COST 432.28 TRAN0408 1. + SH040851 BAL0483 -1. BAL0451 1. + SH040152 COST 113.12 TRAN0401 1. + SH040152 BAL0401 -1. BAL0452 1. + SH040252 COST 303. TRAN0402 1. + SH040252 BAL0402 -1. BAL0452 1. + SH040352 COST 82.82 TRAN0403 1. + SH040352 BAL0403 -1. BAL0452 1. + SH040452 COST 325.22 TRAN0404 1. + SH040452 BAL0404 -1. BAL0452 1. + SH040552 COST 297.95 TRAN0405 1. + SH040552 BAL0405 -1. BAL0452 1. + SH040852 COST 255.53 TRAN0408 1. + SH040852 BAL0483 -1. BAL0452 1. + SH040153 COST 362.59 TRAN0401 1. + SH040153 BAL0401 -1. BAL0453 1. + SH040253 COST 642.36 TRAN0402 1. + SH040253 BAL0402 -1. BAL0453 1. + SH040353 COST 328.25 TRAN0403 1. + SH040353 BAL0403 -1. BAL0453 1. + SH040453 COST 416.12 TRAN0404 1. + SH040453 BAL0404 -1. BAL0453 1. + SH040553 COST 185.84 TRAN0405 1. + SH040553 BAL0405 -1. BAL0453 1. + SH040653 COST 362.59 TRAN0406 1. + SH040653 BAL0452 -1. BAL0453 1. + SH040753 COST 147.46 TRAN0407 1. + SH040753 BAL0464 -1. BAL0453 1. + SH040853 COST 407.03 TRAN0408 1. + SH040853 BAL0483 -1. BAL0453 1. + SH040154 COST 186.85 TRAN0401 1. + SH040154 BAL0401 -1. BAL0454 1. + SH040254 COST 449.45 TRAN0402 1. + SH040254 BAL0402 -1. BAL0454 1. + SH040354 COST 219.17 TRAN0403 1. + SH040354 BAL0403 -1. BAL0454 1. + SH040454 COST 346.43 TRAN0404 1. + SH040454 BAL0404 -1. BAL0454 1. + SH040554 COST 215.13 TRAN0405 1. + SH040554 BAL0405 -1. BAL0454 1. + SH040654 COST 205.03 TRAN0406 1. + SH040654 BAL0452 -1. BAL0454 1. + SH040854 COST 406.02 TRAN0408 1. + SH040854 BAL0483 -1. BAL0454 1. + SH040155 COST 280.78 TRAN0401 1. + SH040155 BAL0401 -1. BAL0455 1. + SH040255 COST 483.79 TRAN0402 1. + SH040255 BAL0402 -1. BAL0455 1. + SH040355 COST 283.81 TRAN0403 1. + SH040355 BAL0403 -1. BAL0455 1. + SH040455 COST 296.94 TRAN0404 1. + SH040455 BAL0404 -1. BAL0455 1. + SH040555 COST 155.54 TRAN0405 1. + SH040555 BAL0405 -1. BAL0455 1. + SH040655 COST 292.9 TRAN0406 1. + SH040655 BAL0452 -1. BAL0455 1. + SH040755 COST 108.07 TRAN0407 1. + SH040755 BAL0464 -1. BAL0455 1. + SH040855 COST 296.94 TRAN0408 1. + SH040855 BAL0483 -1. BAL0455 1. + SH040156 COST 393.9 TRAN0401 1. + SH040156 BAL0401 -1. BAL0456 1. + SH040256 COST 584.79 TRAN0402 1. + SH040256 BAL0402 -1. BAL0456 1. + SH040356 COST 308.05 TRAN0403 1. + SH040356 BAL0403 -1. BAL0456 1. + SH040456 COST 368.65 TRAN0404 1. + SH040456 BAL0404 -1. BAL0456 1. + SH040556 COST 137.36 TRAN0405 1. + SH040556 BAL0405 -1. BAL0456 1. + SH040656 COST 342.39 TRAN0406 1. + SH040656 BAL0452 -1. BAL0456 1. + SH040756 COST 123.22 TRAN0407 1. + SH040756 BAL0464 -1. BAL0456 1. + SH040856 COST 360.57 TRAN0408 1. + SH040856 BAL0483 -1. BAL0456 1. + SH040157 COST 263.61 TRAN0401 1. + SH040157 BAL0401 -1. BAL0457 1. + SH040257 COST 525.2 TRAN0402 1. + SH040257 BAL0402 -1. BAL0457 1. + SH040357 COST 292.9 TRAN0403 1. + SH040357 BAL0403 -1. BAL0457 1. + SH040457 COST 236.34 TRAN0404 1. + SH040457 BAL0404 -1. BAL0457 1. + SH040557 COST 169.68 TRAN0405 1. + SH040557 BAL0405 -1. BAL0457 1. + SH040657 COST 322.19 TRAN0406 1. + SH040657 BAL0452 -1. BAL0457 1. + SH040757 COST 149.48 TRAN0407 1. + SH040757 BAL0464 -1. BAL0457 1. + SH040857 COST 233.31 TRAN0408 1. + SH040857 BAL0483 -1. BAL0457 1. + SH040158 COST 296.94 TRAN0401 1. + SH040158 BAL0401 -1. BAL0458 1. + SH040258 COST 526.21 TRAN0402 1. + SH040258 BAL0402 -1. BAL0458 1. + SH040358 COST 280.78 TRAN0403 1. + SH040358 BAL0403 -1. BAL0458 1. + SH040458 COST 346.43 TRAN0404 1. + SH040458 BAL0404 -1. BAL0458 1. + SH040558 COST 21.21 TRAN0405 1. + SH040558 BAL0405 -1. BAL0458 1. + SH040658 COST 329.26 TRAN0406 1. + SH040658 BAL0452 -1. BAL0458 1. + SH040758 COST 68.68 TRAN0407 1. + SH040758 BAL0464 -1. BAL0458 1. + SH040858 COST 256.54 TRAN0408 1. + SH040858 BAL0483 -1. BAL0458 1. + SH040159 COST 208.06 TRAN0401 1. + SH040159 BAL0401 -1. BAL0459 1. + SH040259 COST 502.98 TRAN0402 1. + SH040259 BAL0402 -1. BAL0459 1. + SH040359 COST 240.38 TRAN0403 1. + SH040359 BAL0403 -1. BAL0459 1. + SH040459 COST 246.44 TRAN0404 1. + SH040459 BAL0404 -1. BAL0459 1. + SH040559 COST 160.59 TRAN0405 1. + SH040559 BAL0405 -1. BAL0459 1. + SH040659 COST 299.97 TRAN0406 1. + SH040659 BAL0452 -1. BAL0459 1. + SH040759 COST 106.05 TRAN0407 1. + SH040759 BAL0464 -1. BAL0459 1. + SH040859 COST 257.55 TRAN0408 1. + SH040859 BAL0483 -1. BAL0459 1. + SH040160 COST 263.61 TRAN0401 1. + SH040160 BAL0401 -1. BAL0460 1. + SH040260 COST 555.5 TRAN0402 1. + SH040260 BAL0402 -1. BAL0460 1. + SH040360 COST 285.83 TRAN0403 1. + SH040360 BAL0403 -1. BAL0460 1. + SH040460 COST 315.12 TRAN0404 1. + SH040460 BAL0404 -1. BAL0460 1. + SH040560 COST 136.35 TRAN0405 1. + SH040560 BAL0405 -1. BAL0460 1. + SH040660 COST 326.23 TRAN0406 1. + SH040660 BAL0452 -1. BAL0460 1. + SH040760 COST 88.88 TRAN0407 1. + SH040760 BAL0464 -1. BAL0460 1. + SH040860 COST 301.99 TRAN0408 1. + SH040860 BAL0483 -1. BAL0460 1. + SH040163 COST 268.66 TRAN0401 1. + SH040163 BAL0401 -1. BAL0463 1. + SH040263 COST 498.94 TRAN0402 1. + SH040263 BAL0402 -1. BAL0463 1. + SH040363 COST 289.87 TRAN0403 1. + SH040363 BAL0403 -1. BAL0463 1. + SH040463 COST 372.69 TRAN0404 1. + SH040463 BAL0404 -1. BAL0463 1. + SH040563 COST 153.52 TRAN0405 1. + SH040563 BAL0405 -1. BAL0463 1. + SH040663 COST 318.15 TRAN0406 1. + SH040663 BAL0452 -1. BAL0463 1. + SH040763 COST 125.24 TRAN0407 1. + SH040763 BAL0464 -1. BAL0463 1. + SH040863 COST 404. TRAN0408 1. + SH040863 BAL0483 -1. BAL0463 1. + SH040164 COST 200.99 TRAN0401 1. + SH040164 BAL0401 -1. BAL0464 1. + SH040264 COST 531.26 TRAN0402 1. + SH040264 BAL0402 -1. BAL0464 1. + SH040364 COST 225.23 TRAN0403 1. + SH040364 BAL0403 -1. BAL0464 1. + SH040464 COST 339.36 TRAN0404 1. + SH040464 BAL0404 -1. BAL0464 1. + SH040564 COST 58.58 TRAN0405 1. + SH040564 BAL0405 -1. BAL0464 1. + SH040664 COST 320.17 TRAN0406 1. + SH040664 BAL0452 -1. BAL0464 1. + SH040864 COST 252.5 TRAN0408 1. + SH040864 BAL0483 -1. BAL0464 1. + SH040165 COST 436.32 TRAN0401 1. + SH040165 BAL0401 -1. BAL0465 1. + SH040265 COST 310.07 TRAN0402 1. + SH040265 BAL0402 -1. BAL0465 1. + SH040365 COST 510.05 TRAN0403 1. + SH040365 BAL0403 -1. BAL0465 1. + SH040465 COST 391.88 TRAN0404 1. + SH040465 BAL0404 -1. BAL0465 1. + SH040565 COST 610.04 TRAN0405 1. + SH040565 BAL0405 -1. BAL0465 1. + SH040865 COST 419.15 TRAN0408 1. + SH040865 BAL0483 -1. BAL0465 1. + SH040166 COST 565.6 TRAN0401 1. + SH040166 BAL0401 -1. BAL0466 1. + SH040266 COST 261.59 TRAN0402 1. + SH040266 BAL0402 -1. BAL0466 1. + SH040366 COST 583.78 TRAN0403 1. + SH040366 BAL0403 -1. BAL0466 1. + SH040466 COST 561.56 TRAN0404 1. + SH040466 BAL0404 -1. BAL0466 1. + SH040566 COST 717.1 TRAN0405 1. + SH040566 BAL0405 -1. BAL0466 1. + SH040866 COST 565.6 TRAN0408 1. + SH040866 BAL0483 -1. BAL0466 1. + SH040167 COST 429.25 TRAN0401 1. + SH040167 BAL0401 -1. BAL0467 1. + SH040267 COST 234.32 TRAN0402 1. + SH040267 BAL0402 -1. BAL0467 1. + SH040367 COST 497.93 TRAN0403 1. + SH040367 BAL0403 -1. BAL0467 1. + SH040467 COST 461.57 TRAN0404 1. + SH040467 BAL0404 -1. BAL0467 1. + SH040567 COST 610.04 TRAN0405 1. + SH040567 BAL0405 -1. BAL0467 1. + SH040867 COST 462.58 TRAN0408 1. + SH040867 BAL0483 -1. BAL0467 1. + SH040168 COST 599.94 TRAN0401 1. + SH040168 BAL0401 -1. BAL0468 1. + SH040268 COST 404. TRAN0402 1. + SH040268 BAL0402 -1. BAL0468 1. + SH040368 COST 565.6 TRAN0403 1. + SH040368 BAL0403 -1. BAL0468 1. + SH040468 COST 709.02 TRAN0404 1. + SH040468 BAL0404 -1. BAL0468 1. + SH040568 COST 955.46 TRAN0405 1. + SH040568 BAL0405 -1. BAL0468 1. + SH040868 COST 758.51 TRAN0408 1. + SH040868 BAL0483 -1. BAL0468 1. + SH040169 COST 544.39 TRAN0401 1. + SH040169 BAL0401 -1. BAL0469 1. + SH040269 COST 223.21 TRAN0402 1. + SH040269 BAL0402 -1. BAL0469 1. + SH040369 COST 515.1 TRAN0403 1. + SH040369 BAL0403 -1. BAL0469 1. + SH040469 COST 628.22 TRAN0404 1. + SH040469 BAL0404 -1. BAL0469 1. + SH040569 COST 652.46 TRAN0405 1. + SH040569 BAL0405 -1. BAL0469 1. + SH040869 COST 664.58 TRAN0408 1. + SH040869 BAL0483 -1. BAL0469 1. + SH040171 COST 444.4 TRAN0401 1. + SH040171 BAL0401 -1. BAL0471 1. + SH040371 COST 529.24 TRAN0403 1. + SH040371 BAL0403 -1. BAL0471 1. + SH040471 COST 526.21 TRAN0404 1. + SH040471 BAL0404 -1. BAL0471 1. + SH040571 COST 586.81 TRAN0405 1. + SH040571 BAL0405 -1. BAL0471 1. + SH040671 COST 394.91 TRAN0406 1. + SH040671 BAL0452 -1. BAL0471 1. + SH040771 COST 711.04 TRAN0407 1. + SH040771 BAL0464 -1. BAL0471 1. + SH040871 COST 538.33 TRAN0408 1. + SH040871 BAL0483 -1. BAL0471 1. + SH040172 COST 592.87 TRAN0401 1. + SH040172 BAL0401 -1. BAL0472 1. + SH040272 COST 548.43 TRAN0402 1. + SH040272 BAL0402 -1. BAL0472 1. + SH040372 COST 623.17 TRAN0403 1. + SH040372 BAL0403 -1. BAL0472 1. + SH040472 COST 575.7 TRAN0404 1. + SH040472 BAL0404 -1. BAL0472 1. + SH040572 COST 770.63 TRAN0405 1. + SH040572 BAL0405 -1. BAL0472 1. + SH040872 COST 575.7 TRAN0408 1. + SH040872 BAL0483 -1. BAL0472 1. + SH040173 COST 393.9 TRAN0401 1. + SH040173 BAL0401 -1. BAL0473 1. + SH040273 COST 368.65 TRAN0402 1. + SH040273 BAL0402 -1. BAL0473 1. + SH040373 COST 341.38 TRAN0403 1. + SH040373 BAL0403 -1. BAL0473 1. + SH040473 COST 461.57 TRAN0404 1. + SH040473 BAL0404 -1. BAL0473 1. + SH040573 COST 569.64 TRAN0405 1. + SH040573 BAL0405 -1. BAL0473 1. + SH040673 COST 308.05 TRAN0406 1. + SH040673 BAL0452 -1. BAL0473 1. + SH040873 COST 509.04 TRAN0408 1. + SH040873 BAL0483 -1. BAL0473 1. + SH040174 COST 553.48 TRAN0401 1. + SH040174 BAL0401 -1. BAL0474 1. + SH040274 COST 212.1 TRAN0402 1. + SH040274 BAL0402 -1. BAL0474 1. + SH040374 COST 575.7 TRAN0403 1. + SH040374 BAL0403 -1. BAL0474 1. + SH040474 COST 643.37 TRAN0404 1. + SH040474 BAL0404 -1. BAL0474 1. + SH040574 COST 740.33 TRAN0405 1. + SH040574 BAL0405 -1. BAL0474 1. + SH040874 COST 625.19 TRAN0408 1. + SH040874 BAL0483 -1. BAL0474 1. + SH040275 COST 559.54 TRAN0402 1. + SH040275 BAL0402 -1. BAL0475 1. + SH040176 COST 466.62 TRAN0401 1. + SH040176 BAL0401 -1. BAL0476 1. + SH040276 COST 405.01 TRAN0402 1. + SH040276 BAL0402 -1. BAL0476 1. + SH040376 COST 407.03 TRAN0403 1. + SH040376 BAL0403 -1. BAL0476 1. + SH040476 COST 636.3 TRAN0404 1. + SH040476 BAL0404 -1. BAL0476 1. + SH040576 COST 636.3 TRAN0405 1. + SH040576 BAL0405 -1. BAL0476 1. + SH040676 COST 384.81 TRAN0406 1. + SH040676 BAL0452 -1. BAL0476 1. + SH040876 COST 784.77 TRAN0408 1. + SH040876 BAL0483 -1. BAL0476 1. + SH040177 COST 439.35 TRAN0401 1. + SH040177 BAL0401 -1. BAL0477 1. + SH040277 COST 274.72 TRAN0402 1. + SH040277 BAL0402 -1. BAL0477 1. + SH040377 COST 465.61 TRAN0403 1. + SH040377 BAL0403 -1. BAL0477 1. + SH040477 COST 405.01 TRAN0404 1. + SH040477 BAL0404 -1. BAL0477 1. + SH040577 COST 565.6 TRAN0405 1. + SH040577 BAL0405 -1. BAL0477 1. + SH040877 COST 323.2 TRAN0408 1. + SH040877 BAL0483 -1. BAL0477 1. + SH040178 COST 768.61 TRAN0401 1. + SH040178 BAL0401 -1. BAL0478 1. + SH040278 COST 446.42 TRAN0402 1. + SH040278 BAL0402 -1. BAL0478 1. + SH040378 COST 790.83 TRAN0403 1. + SH040378 BAL0403 -1. BAL0478 1. + SH040478 COST 691.85 TRAN0404 1. + SH040478 BAL0404 -1. BAL0478 1. + SH040578 COST 887.79 TRAN0405 1. + SH040578 BAL0405 -1. BAL0478 1. + SH040878 COST 773.66 TRAN0408 1. + SH040878 BAL0483 -1. BAL0478 1. + SH040179 COST 722.15 TRAN0401 1. + SH040179 BAL0401 -1. BAL0479 1. + SH040279 COST 271.69 TRAN0402 1. + SH040279 BAL0402 -1. BAL0479 1. + SH040379 COST 697.91 TRAN0403 1. + SH040379 BAL0403 -1. BAL0479 1. + SH040479 COST 727.2 TRAN0404 1. + SH040479 BAL0404 -1. BAL0479 1. + SH040879 COST 713.06 TRAN0408 1. + SH040879 BAL0483 -1. BAL0479 1. + SH040180 COST 320.17 TRAN0401 1. + SH040180 BAL0401 -1. BAL0480 1. + SH040280 COST 398.95 TRAN0402 1. + SH040280 BAL0402 -1. BAL0480 1. + SH040380 COST 441.37 TRAN0403 1. + SH040380 BAL0403 -1. BAL0480 1. + SH040480 COST 377.74 TRAN0404 1. + SH040480 BAL0404 -1. BAL0480 1. + SH040580 COST 510.05 TRAN0405 1. + SH040580 BAL0405 -1. BAL0480 1. + SH040880 COST 242.4 TRAN0408 1. + SH040880 BAL0483 -1. BAL0480 1. + SH040182 COST 587.82 TRAN0401 1. + SH040182 BAL0401 -1. BAL0482 1. + SH040282 COST 332.29 TRAN0402 1. + SH040282 BAL0402 -1. BAL0482 1. + SH040382 COST 661.55 TRAN0403 1. + SH040382 BAL0403 -1. BAL0482 1. + SH040482 COST 713.06 TRAN0404 1. + SH040482 BAL0404 -1. BAL0482 1. + SH040582 COST 1158.47 TRAN0405 1. + SH040582 BAL0405 -1. BAL0482 1. + SH040882 COST 790.83 TRAN0408 1. + SH040882 BAL0483 -1. BAL0482 1. + SH040183 COST 178.77 TRAN0401 1. + SH040183 BAL0401 -1. BAL0483 1. + SH040283 COST 525.2 TRAN0402 1. + SH040283 BAL0402 -1. BAL0483 1. + SH040383 COST 274.72 TRAN0403 1. + SH040383 BAL0403 -1. BAL0483 1. + SH040483 COST 59.59 TRAN0404 1. + SH040483 BAL0404 -1. BAL0483 1. + SH040583 COST 350.47 TRAN0405 1. + SH040583 BAL0405 -1. BAL0483 1. + SH040683 COST 250.48 TRAN0406 1. + SH040683 BAL0452 -1. BAL0483 1. + SH040184 COST 307.04 TRAN0401 1. + SH040184 BAL0401 -1. BAL0484 1. + SH040284 COST 193.92 TRAN0402 1. + SH040284 BAL0402 -1. BAL0484 1. + SH040384 COST 367.64 TRAN0403 1. + SH040384 BAL0403 -1. BAL0484 1. + SH040484 COST 373.7 TRAN0404 1. + SH040484 BAL0404 -1. BAL0484 1. + SH040584 COST 494.9 TRAN0405 1. + SH040584 BAL0405 -1. BAL0484 1. + SH040684 COST 308.05 TRAN0406 1. + SH040684 BAL0452 -1. BAL0484 1. + SH040884 COST 391.88 TRAN0408 1. + SH040884 BAL0483 -1. BAL0484 1. + SH050201 COST 490.05 TRAN0502 1. + SH050201 BAL0502 -1. BAL0501 1. + SH050301 COST 188.1 TRAN0503 1. + SH050301 BAL0503 -1. BAL0501 1. + SH050401 COST 343.2 TRAN0504 1. + SH050401 BAL0504 -1. BAL0501 1. + SH050501 COST 391.05 TRAN0505 1. + SH050501 BAL0505 -1. BAL0501 1. + SH050601 COST 207.9 TRAN0506 1. + SH050601 BAL0552 -1. BAL0501 1. + SH050801 COST 235.95 TRAN0508 1. + SH050801 BAL0583 -1. BAL0501 1. + SH050102 COST 782.1 TRAN0501 1. + SH050102 BAL0501 -1. BAL0502 1. + SH050302 COST 688.05 TRAN0503 1. + SH050302 BAL0503 -1. BAL0502 1. + SH050402 COST 1009.8 TRAN0504 1. + SH050402 BAL0504 -1. BAL0502 1. + SH050502 COST 1222.65 TRAN0505 1. + SH050502 BAL0505 -1. BAL0502 1. + SH050602 COST 623.7 TRAN0506 1. + SH050602 BAL0552 -1. BAL0502 1. + SH050802 COST 859.65 TRAN0508 1. + SH050802 BAL0583 -1. BAL0502 1. + SH050103 COST 404.25 TRAN0501 1. + SH050103 BAL0501 -1. BAL0503 1. + SH050203 COST 782.1 TRAN0502 1. + SH050203 BAL0502 -1. BAL0503 1. + SH050403 COST 605.55 TRAN0504 1. + SH050403 BAL0504 -1. BAL0503 1. + SH050503 COST 468.6 TRAN0505 1. + SH050503 BAL0505 -1. BAL0503 1. + SH050603 COST 148.5 TRAN0506 1. + SH050603 BAL0552 -1. BAL0503 1. + SH050803 COST 420.75 TRAN0508 1. + SH050803 BAL0583 -1. BAL0503 1. + SH050104 COST 287.1 TRAN0501 1. + SH050104 BAL0501 -1. BAL0504 1. + SH050204 COST 829.95 TRAN0502 1. + SH050204 BAL0502 -1. BAL0504 1. + SH050304 COST 400.95 TRAN0503 1. + SH050304 BAL0503 -1. BAL0504 1. + SH050504 COST 526.35 TRAN0505 1. + SH050504 BAL0505 -1. BAL0504 1. + SH050604 COST 404.25 TRAN0506 1. + SH050604 BAL0552 -1. BAL0504 1. + SH050704 COST 443.85 TRAN0507 1. + SH050704 BAL0564 -1. BAL0504 1. + SH050804 COST 95.7 TRAN0508 1. + SH050804 BAL0583 -1. BAL0504 1. + SH050105 COST 445.5 TRAN0501 1. + SH050105 BAL0501 -1. BAL0505 1. + SH050205 COST 851.4 TRAN0502 1. + SH050205 BAL0502 -1. BAL0505 1. + SH050305 COST 468.6 TRAN0503 1. + SH050305 BAL0503 -1. BAL0505 1. + SH050405 COST 470.25 TRAN0504 1. + SH050405 BAL0504 -1. BAL0505 1. + SH050605 COST 537.9 TRAN0506 1. + SH050605 BAL0552 -1. BAL0505 1. + SH050705 COST 551.1 TRAN0507 1. + SH050705 BAL0564 -1. BAL0505 1. + SH050805 COST 447.15 TRAN0508 1. + SH050805 BAL0583 -1. BAL0505 1. + SH050106 COST 328.35 TRAN0501 1. + SH050106 BAL0501 -1. BAL0506 1. + SH050206 COST 688.05 TRAN0502 1. + SH050206 BAL0502 -1. BAL0506 1. + SH050306 COST 351.45 TRAN0503 1. + SH050306 BAL0503 -1. BAL0506 1. + SH050406 COST 361.35 TRAN0504 1. + SH050406 BAL0504 -1. BAL0506 1. + SH050506 COST 415.8 TRAN0505 1. + SH050506 BAL0505 -1. BAL0506 1. + SH050606 COST 339.9 TRAN0506 1. + SH050606 BAL0552 -1. BAL0506 1. + SH050706 COST 330. TRAN0507 1. + SH050706 BAL0564 -1. BAL0506 1. + SH050806 COST 249.15 TRAN0508 1. + SH050806 BAL0583 -1. BAL0506 1. + SH050107 COST 34.65 TRAN0501 1. + SH050107 BAL0501 -1. BAL0507 1. + SH050207 COST 481.8 TRAN0502 1. + SH050207 BAL0502 -1. BAL0507 1. + SH050307 COST 204.6 TRAN0503 1. + SH050307 BAL0503 -1. BAL0507 1. + SH050407 COST 341.55 TRAN0504 1. + SH050407 BAL0504 -1. BAL0507 1. + SH050507 COST 377.85 TRAN0505 1. + SH050507 BAL0505 -1. BAL0507 1. + SH050607 COST 206.25 TRAN0506 1. + SH050607 BAL0552 -1. BAL0507 1. + SH050707 COST 382.8 TRAN0507 1. + SH050707 BAL0564 -1. BAL0507 1. + SH050807 COST 255.75 TRAN0508 1. + SH050807 BAL0583 -1. BAL0507 1. + SH050108 COST 108.9 TRAN0501 1. + SH050108 BAL0501 -1. BAL0508 1. + SH050208 COST 620.4 TRAN0502 1. + SH050208 BAL0502 -1. BAL0508 1. + SH050308 COST 232.65 TRAN0503 1. + SH050308 BAL0503 -1. BAL0508 1. + SH050408 COST 407.55 TRAN0504 1. + SH050408 BAL0504 -1. BAL0508 1. + SH050508 COST 300.3 TRAN0505 1. + SH050508 BAL0505 -1. BAL0508 1. + SH050608 COST 273.9 TRAN0506 1. + SH050608 BAL0552 -1. BAL0508 1. + SH050808 COST 308.55 TRAN0508 1. + SH050808 BAL0583 -1. BAL0508 1. + SH050109 COST 227.7 TRAN0501 1. + SH050109 BAL0501 -1. BAL0509 1. + SH050209 COST 631.95 TRAN0502 1. + SH050209 BAL0502 -1. BAL0509 1. + SH050309 COST 277.2 TRAN0503 1. + SH050309 BAL0503 -1. BAL0509 1. + SH050409 COST 417.45 TRAN0504 1. + SH050409 BAL0504 -1. BAL0509 1. + SH050509 COST 394.35 TRAN0505 1. + SH050509 BAL0505 -1. BAL0509 1. + SH050709 COST 323.4 TRAN0507 1. + SH050709 BAL0564 -1. BAL0509 1. + SH050809 COST 320.1 TRAN0508 1. + SH050809 BAL0583 -1. BAL0509 1. + SH050110 COST 407.55 TRAN0501 1. + SH050110 BAL0501 -1. BAL0510 1. + SH050210 COST 260.7 TRAN0502 1. + SH050210 BAL0502 -1. BAL0510 1. + SH050310 COST 396. TRAN0503 1. + SH050310 BAL0503 -1. BAL0510 1. + SH050410 COST 592.35 TRAN0504 1. + SH050410 BAL0504 -1. BAL0510 1. + SH050510 COST 635.25 TRAN0505 1. + SH050510 BAL0505 -1. BAL0510 1. + SH050610 COST 371.25 TRAN0506 1. + SH050610 BAL0552 -1. BAL0510 1. + SH050810 COST 503.25 TRAN0508 1. + SH050810 BAL0583 -1. BAL0510 1. + SH050111 COST 174.9 TRAN0501 1. + SH050111 BAL0501 -1. BAL0511 1. + SH050211 COST 816.75 TRAN0502 1. + SH050211 BAL0502 -1. BAL0511 1. + SH050311 COST 409.2 TRAN0503 1. + SH050311 BAL0503 -1. BAL0511 1. + SH050411 COST 229.35 TRAN0504 1. + SH050411 BAL0504 -1. BAL0511 1. + SH050511 COST 562.65 TRAN0505 1. + SH050511 BAL0505 -1. BAL0511 1. + SH050611 COST 323.4 TRAN0506 1. + SH050611 BAL0552 -1. BAL0511 1. + SH050811 COST 168.3 TRAN0508 1. + SH050811 BAL0583 -1. BAL0511 1. + SH050112 COST 145.2 TRAN0501 1. + SH050112 BAL0501 -1. BAL0512 1. + SH050212 COST 559.35 TRAN0502 1. + SH050212 BAL0502 -1. BAL0512 1. + SH050312 COST 240.9 TRAN0503 1. + SH050312 BAL0503 -1. BAL0512 1. + SH050412 COST 330. TRAN0504 1. + SH050412 BAL0504 -1. BAL0512 1. + SH050512 COST 440.55 TRAN0505 1. + SH050512 BAL0505 -1. BAL0512 1. + SH050612 COST 239.25 TRAN0506 1. + SH050612 BAL0552 -1. BAL0512 1. + SH050812 COST 240.9 TRAN0508 1. + SH050812 BAL0583 -1. BAL0512 1. + SH050114 COST 234.3 TRAN0501 1. + SH050114 BAL0501 -1. BAL0514 1. + SH050214 COST 679.8 TRAN0502 1. + SH050214 BAL0502 -1. BAL0514 1. + SH050314 COST 323.4 TRAN0503 1. + SH050314 BAL0503 -1. BAL0514 1. + SH050414 COST 328.35 TRAN0504 1. + SH050414 BAL0504 -1. BAL0514 1. + SH050514 COST 580.8 TRAN0505 1. + SH050514 BAL0505 -1. BAL0514 1. + SH050614 COST 310.2 TRAN0506 1. + SH050614 BAL0552 -1. BAL0514 1. + SH050814 COST 207.9 TRAN0508 1. + SH050814 BAL0583 -1. BAL0514 1. + SH050115 COST 499.95 TRAN0501 1. + SH050115 BAL0501 -1. BAL0515 1. + SH050215 COST 262.35 TRAN0502 1. + SH050215 BAL0502 -1. BAL0515 1. + SH050315 COST 386.1 TRAN0503 1. + SH050315 BAL0503 -1. BAL0515 1. + SH050415 COST 785.4 TRAN0504 1. + SH050415 BAL0504 -1. BAL0515 1. + SH050515 COST 656.7 TRAN0505 1. + SH050515 BAL0505 -1. BAL0515 1. + SH050615 COST 310.2 TRAN0506 1. + SH050615 BAL0552 -1. BAL0515 1. + SH050815 COST 615.45 TRAN0508 1. + SH050815 BAL0583 -1. BAL0515 1. + SH050116 COST 260.7 TRAN0501 1. + SH050116 BAL0501 -1. BAL0516 1. + SH050216 COST 462. TRAN0502 1. + SH050216 BAL0502 -1. BAL0516 1. + SH050316 COST 374.55 TRAN0503 1. + SH050316 BAL0503 -1. BAL0516 1. + SH050416 COST 473.55 TRAN0504 1. + SH050416 BAL0504 -1. BAL0516 1. + SH050516 COST 526.35 TRAN0505 1. + SH050516 BAL0505 -1. BAL0516 1. + SH050616 COST 216.15 TRAN0506 1. + SH050616 BAL0552 -1. BAL0516 1. + SH050816 COST 338.25 TRAN0508 1. + SH050816 BAL0583 -1. BAL0516 1. + SH050117 COST 249.15 TRAN0501 1. + SH050117 BAL0501 -1. BAL0517 1. + SH050217 COST 833.25 TRAN0502 1. + SH050217 BAL0502 -1. BAL0517 1. + SH050317 COST 452.1 TRAN0503 1. + SH050317 BAL0503 -1. BAL0517 1. + SH050417 COST 94.05 TRAN0504 1. + SH050417 BAL0504 -1. BAL0517 1. + SH050517 COST 491.7 TRAN0505 1. + SH050517 BAL0505 -1. BAL0517 1. + SH050717 COST 486.75 TRAN0507 1. + SH050717 BAL0564 -1. BAL0517 1. + SH050817 COST 44.55 TRAN0508 1. + SH050817 BAL0583 -1. BAL0517 1. + SH050118 COST 288.75 TRAN0501 1. + SH050118 BAL0501 -1. BAL0518 1. + SH050218 COST 595.65 TRAN0502 1. + SH050218 BAL0502 -1. BAL0518 1. + SH050318 COST 445.5 TRAN0503 1. + SH050318 BAL0503 -1. BAL0518 1. + SH050418 COST 254.1 TRAN0504 1. + SH050418 BAL0504 -1. BAL0518 1. + SH050518 COST 671.55 TRAN0505 1. + SH050518 BAL0505 -1. BAL0518 1. + SH050618 COST 580.8 TRAN0506 1. + SH050618 BAL0552 -1. BAL0518 1. + SH050818 COST 169.95 TRAN0508 1. + SH050818 BAL0583 -1. BAL0518 1. + SH050119 COST 409.2 TRAN0501 1. + SH050119 BAL0501 -1. BAL0519 1. + SH050219 COST 1133.55 TRAN0502 1. + SH050219 BAL0502 -1. BAL0519 1. + SH050319 COST 523.05 TRAN0503 1. + SH050319 BAL0503 -1. BAL0519 1. + SH050419 COST 262.35 TRAN0504 1. + SH050419 BAL0504 -1. BAL0519 1. + SH050519 COST 343.2 TRAN0505 1. + SH050519 BAL0505 -1. BAL0519 1. + SH050619 COST 569.25 TRAN0506 1. + SH050619 BAL0552 -1. BAL0519 1. + SH050819 COST 163.35 TRAN0508 1. + SH050819 BAL0583 -1. BAL0519 1. + SH050120 COST 338.25 TRAN0501 1. + SH050120 BAL0501 -1. BAL0520 1. + SH050220 COST 1126.95 TRAN0502 1. + SH050220 BAL0502 -1. BAL0520 1. + SH050320 COST 490.05 TRAN0503 1. + SH050320 BAL0503 -1. BAL0520 1. + SH050420 COST 186.45 TRAN0504 1. + SH050420 BAL0504 -1. BAL0520 1. + SH050520 COST 480.15 TRAN0505 1. + SH050520 BAL0505 -1. BAL0520 1. + SH050820 COST 207.9 TRAN0508 1. + SH050820 BAL0583 -1. BAL0520 1. + SH050121 COST 664.95 TRAN0501 1. + SH050121 BAL0501 -1. BAL0521 1. + SH050221 COST 607.2 TRAN0502 1. + SH050221 BAL0502 -1. BAL0521 1. + SH050321 COST 735.9 TRAN0503 1. + SH050321 BAL0503 -1. BAL0521 1. + SH050421 COST 528. TRAN0504 1. + SH050421 BAL0504 -1. BAL0521 1. + SH050521 COST 907.5 TRAN0505 1. + SH050521 BAL0505 -1. BAL0521 1. + SH050821 COST 528. TRAN0508 1. + SH050821 BAL0583 -1. BAL0521 1. + SH050122 COST 409.2 TRAN0501 1. + SH050122 BAL0501 -1. BAL0522 1. + SH050222 COST 953.7 TRAN0502 1. + SH050222 BAL0502 -1. BAL0522 1. + SH050322 COST 493.35 TRAN0503 1. + SH050322 BAL0503 -1. BAL0522 1. + SH050422 COST 369.6 TRAN0504 1. + SH050422 BAL0504 -1. BAL0522 1. + SH050522 COST 295.35 TRAN0505 1. + SH050522 BAL0505 -1. BAL0522 1. + SH050622 COST 511.5 TRAN0506 1. + SH050622 BAL0552 -1. BAL0522 1. + SH050822 COST 229.35 TRAN0508 1. + SH050822 BAL0583 -1. BAL0522 1. + SH050123 COST 386.1 TRAN0501 1. + SH050123 BAL0501 -1. BAL0523 1. + SH050223 COST 892.65 TRAN0502 1. + SH050223 BAL0502 -1. BAL0523 1. + SH050323 COST 473.55 TRAN0503 1. + SH050323 BAL0503 -1. BAL0523 1. + SH050423 COST 275.55 TRAN0504 1. + SH050423 BAL0504 -1. BAL0523 1. + SH050523 COST 273.9 TRAN0505 1. + SH050523 BAL0505 -1. BAL0523 1. + SH050823 COST 229.35 TRAN0508 1. + SH050823 BAL0583 -1. BAL0523 1. + SH050124 COST 2369.4 TRAN0501 1. + SH050124 BAL0501 -1. BAL0524 1. + SH050125 COST 638.55 TRAN0501 1. + SH050125 BAL0501 -1. BAL0525 1. + SH050225 COST 704.55 TRAN0502 1. + SH050225 BAL0502 -1. BAL0525 1. + SH050325 COST 843.15 TRAN0503 1. + SH050325 BAL0503 -1. BAL0525 1. + SH050425 COST 574.2 TRAN0504 1. + SH050425 BAL0504 -1. BAL0525 1. + SH050525 COST 933.9 TRAN0505 1. + SH050525 BAL0505 -1. BAL0525 1. + SH050625 COST 664.95 TRAN0506 1. + SH050625 BAL0552 -1. BAL0525 1. + SH050825 COST 503.25 TRAN0508 1. + SH050825 BAL0583 -1. BAL0525 1. + SH050426 COST 445.5 TRAN0504 1. + SH050426 BAL0504 -1. BAL0526 1. + SH050127 COST 386.1 TRAN0501 1. + SH050127 BAL0501 -1. BAL0527 1. + SH050227 COST 468.6 TRAN0502 1. + SH050227 BAL0502 -1. BAL0527 1. + SH050327 COST 476.85 TRAN0503 1. + SH050327 BAL0503 -1. BAL0527 1. + SH050427 COST 552.75 TRAN0504 1. + SH050427 BAL0504 -1. BAL0527 1. + SH050527 COST 623.7 TRAN0505 1. + SH050527 BAL0505 -1. BAL0527 1. + SH050627 COST 442.2 TRAN0506 1. + SH050627 BAL0552 -1. BAL0527 1. + SH050827 COST 415.8 TRAN0508 1. + SH050827 BAL0583 -1. BAL0527 1. + SH050128 COST 400.95 TRAN0501 1. + SH050128 BAL0501 -1. BAL0528 1. + SH050228 COST 938.85 TRAN0502 1. + SH050228 BAL0502 -1. BAL0528 1. + SH050328 COST 488.4 TRAN0503 1. + SH050328 BAL0503 -1. BAL0528 1. + SH050428 COST 486.75 TRAN0504 1. + SH050428 BAL0504 -1. BAL0528 1. + SH050528 COST 168.3 TRAN0505 1. + SH050528 BAL0505 -1. BAL0528 1. + SH050628 COST 430.65 TRAN0506 1. + SH050628 BAL0552 -1. BAL0528 1. + SH050728 COST 176.55 TRAN0507 1. + SH050728 BAL0564 -1. BAL0528 1. + SH050828 COST 419.1 TRAN0508 1. + SH050828 BAL0583 -1. BAL0528 1. + SH050129 COST 367.95 TRAN0501 1. + SH050129 BAL0501 -1. BAL0529 1. + SH050229 COST 765.6 TRAN0502 1. + SH050229 BAL0502 -1. BAL0529 1. + SH050329 COST 397.65 TRAN0503 1. + SH050329 BAL0503 -1. BAL0529 1. + SH050429 COST 328.35 TRAN0504 1. + SH050429 BAL0504 -1. BAL0529 1. + SH050529 COST 709.5 TRAN0505 1. + SH050529 BAL0505 -1. BAL0529 1. + SH050629 COST 430.65 TRAN0506 1. + SH050629 BAL0552 -1. BAL0529 1. + SH050829 COST 237.6 TRAN0508 1. + SH050829 BAL0583 -1. BAL0529 1. + SH050130 COST 768.9 TRAN0501 1. + SH050130 BAL0501 -1. BAL0530 1. + SH050230 COST 719.4 TRAN0502 1. + SH050230 BAL0502 -1. BAL0530 1. + SH050330 COST 862.95 TRAN0503 1. + SH050330 BAL0503 -1. BAL0530 1. + SH050430 COST 501.6 TRAN0504 1. + SH050430 BAL0504 -1. BAL0530 1. + SH050530 COST 735.9 TRAN0505 1. + SH050530 BAL0505 -1. BAL0530 1. + SH050830 COST 630.3 TRAN0508 1. + SH050830 BAL0583 -1. BAL0530 1. + SH050131 COST 183.15 TRAN0501 1. + SH050131 BAL0501 -1. BAL0531 1. + SH050231 COST 579.15 TRAN0502 1. + SH050231 BAL0502 -1. BAL0531 1. + SH050331 COST 181.5 TRAN0503 1. + SH050331 BAL0503 -1. BAL0531 1. + SH050431 COST 417.45 TRAN0504 1. + SH050431 BAL0504 -1. BAL0531 1. + SH050531 COST 506.55 TRAN0505 1. + SH050531 BAL0505 -1. BAL0531 1. + SH050631 COST 184.8 TRAN0506 1. + SH050631 BAL0552 -1. BAL0531 1. + SH050831 COST 367.95 TRAN0508 1. + SH050831 BAL0583 -1. BAL0531 1. + SH050132 COST 493.35 TRAN0501 1. + SH050132 BAL0501 -1. BAL0532 1. + SH050232 COST 788.7 TRAN0502 1. + SH050232 BAL0502 -1. BAL0532 1. + SH050332 COST 697.95 TRAN0503 1. + SH050332 BAL0503 -1. BAL0532 1. + SH050432 COST 259.05 TRAN0504 1. + SH050432 BAL0504 -1. BAL0532 1. + SH050532 COST 646.8 TRAN0505 1. + SH050532 BAL0505 -1. BAL0532 1. + SH050832 COST 297. TRAN0508 1. + SH050832 BAL0583 -1. BAL0532 1. + SH050133 COST 813.45 TRAN0501 1. + SH050133 BAL0501 -1. BAL0533 1. + SH050233 COST 660. TRAN0502 1. + SH050233 BAL0502 -1. BAL0533 1. + SH050333 COST 895.95 TRAN0503 1. + SH050333 BAL0503 -1. BAL0533 1. + SH050433 COST 734.25 TRAN0504 1. + SH050433 BAL0504 -1. BAL0533 1. + SH050533 COST 1041.15 TRAN0505 1. + SH050533 BAL0505 -1. BAL0533 1. + SH050833 COST 628.65 TRAN0508 1. + SH050833 BAL0583 -1. BAL0533 1. + SH050134 COST 636.9 TRAN0501 1. + SH050134 BAL0501 -1. BAL0534 1. + SH050234 COST 1080.75 TRAN0502 1. + SH050234 BAL0502 -1. BAL0534 1. + SH050334 COST 829.95 TRAN0503 1. + SH050334 BAL0503 -1. BAL0534 1. + SH050434 COST 348.15 TRAN0504 1. + SH050434 BAL0504 -1. BAL0534 1. + SH050534 COST 727.65 TRAN0505 1. + SH050534 BAL0505 -1. BAL0534 1. + SH050834 COST 433.95 TRAN0508 1. + SH050834 BAL0583 -1. BAL0534 1. + SH050135 COST 760.65 TRAN0501 1. + SH050135 BAL0501 -1. BAL0535 1. + SH050235 COST 734.25 TRAN0502 1. + SH050235 BAL0502 -1. BAL0535 1. + SH050335 COST 622.05 TRAN0503 1. + SH050335 BAL0503 -1. BAL0535 1. + SH050435 COST 201.3 TRAN0504 1. + SH050435 BAL0504 -1. BAL0535 1. + SH050535 COST 711.15 TRAN0505 1. + SH050535 BAL0505 -1. BAL0535 1. + SH050835 COST 387.75 TRAN0508 1. + SH050835 BAL0583 -1. BAL0535 1. + SH050136 COST 338.25 TRAN0501 1. + SH050136 BAL0501 -1. BAL0536 1. + SH050236 COST 739.2 TRAN0502 1. + SH050236 BAL0502 -1. BAL0536 1. + SH050336 COST 174.9 TRAN0503 1. + SH050336 BAL0503 -1. BAL0536 1. + SH050436 COST 610.5 TRAN0504 1. + SH050436 BAL0504 -1. BAL0536 1. + SH050536 COST 570.9 TRAN0505 1. + SH050536 BAL0505 -1. BAL0536 1. + SH050636 COST 181.5 TRAN0506 1. + SH050636 BAL0552 -1. BAL0536 1. + SH050836 COST 529.65 TRAN0508 1. + SH050836 BAL0583 -1. BAL0536 1. + SH050137 COST 151.8 TRAN0501 1. + SH050137 BAL0501 -1. BAL0537 1. + SH050237 COST 564.3 TRAN0502 1. + SH050237 BAL0502 -1. BAL0537 1. + SH050337 COST 260.7 TRAN0503 1. + SH050337 BAL0503 -1. BAL0537 1. + SH050437 COST 501.6 TRAN0504 1. + SH050437 BAL0504 -1. BAL0537 1. + SH050537 COST 300.3 TRAN0505 1. + SH050537 BAL0505 -1. BAL0537 1. + SH050637 COST 320.1 TRAN0506 1. + SH050637 BAL0552 -1. BAL0537 1. + SH050837 COST 415.8 TRAN0508 1. + SH050837 BAL0583 -1. BAL0537 1. + SH050138 COST 224.4 TRAN0501 1. + SH050138 BAL0501 -1. BAL0538 1. + SH050238 COST 402.6 TRAN0502 1. + SH050238 BAL0502 -1. BAL0538 1. + SH050338 COST 156.75 TRAN0503 1. + SH050338 BAL0503 -1. BAL0538 1. + SH050438 COST 508.2 TRAN0504 1. + SH050438 BAL0504 -1. BAL0538 1. + SH050538 COST 458.7 TRAN0505 1. + SH050538 BAL0505 -1. BAL0538 1. + SH050638 COST 64.35 TRAN0506 1. + SH050638 BAL0552 -1. BAL0538 1. + SH050738 COST 356.4 TRAN0507 1. + SH050738 BAL0564 -1. BAL0538 1. + SH050838 COST 391.05 TRAN0508 1. + SH050838 BAL0583 -1. BAL0538 1. + SH050139 COST 214.5 TRAN0501 1. + SH050139 BAL0501 -1. BAL0539 1. + SH050239 COST 559.35 TRAN0502 1. + SH050239 BAL0502 -1. BAL0539 1. + SH050339 COST 264. TRAN0503 1. + SH050339 BAL0503 -1. BAL0539 1. + SH050439 COST 410.85 TRAN0504 1. + SH050439 BAL0504 -1. BAL0539 1. + SH050539 COST 707.85 TRAN0505 1. + SH050539 BAL0505 -1. BAL0539 1. + SH050639 COST 336.6 TRAN0506 1. + SH050639 BAL0552 -1. BAL0539 1. + SH050839 COST 277.2 TRAN0508 1. + SH050839 BAL0583 -1. BAL0539 1. + SH050140 COST 272.25 TRAN0501 1. + SH050140 BAL0501 -1. BAL0540 1. + SH050240 COST 623.7 TRAN0502 1. + SH050240 BAL0502 -1. BAL0540 1. + SH050340 COST 169.95 TRAN0503 1. + SH050340 BAL0503 -1. BAL0540 1. + SH050440 COST 490.05 TRAN0504 1. + SH050440 BAL0504 -1. BAL0540 1. + SH050540 COST 364.65 TRAN0505 1. + SH050540 BAL0505 -1. BAL0540 1. + SH050640 COST 216.15 TRAN0506 1. + SH050640 BAL0552 -1. BAL0540 1. + SH050840 COST 452.1 TRAN0508 1. + SH050840 BAL0583 -1. BAL0540 1. + SH050141 COST 323.4 TRAN0501 1. + SH050141 BAL0501 -1. BAL0541 1. + SH050241 COST 495. TRAN0502 1. + SH050241 BAL0502 -1. BAL0541 1. + SH050341 COST 247.5 TRAN0503 1. + SH050341 BAL0503 -1. BAL0541 1. + SH050441 COST 534.6 TRAN0504 1. + SH050441 BAL0504 -1. BAL0541 1. + SH050541 COST 607.2 TRAN0505 1. + SH050541 BAL0505 -1. BAL0541 1. + SH050641 COST 165. TRAN0506 1. + SH050641 BAL0552 -1. BAL0541 1. + SH050841 COST 493.35 TRAN0508 1. + SH050841 BAL0583 -1. BAL0541 1. + SH050142 COST 148.5 TRAN0501 1. + SH050142 BAL0501 -1. BAL0542 1. + SH050242 COST 683.1 TRAN0502 1. + SH050242 BAL0502 -1. BAL0542 1. + SH050342 COST 264. TRAN0503 1. + SH050342 BAL0503 -1. BAL0542 1. + SH050442 COST 321.75 TRAN0504 1. + SH050442 BAL0504 -1. BAL0542 1. + SH050542 COST 595.65 TRAN0505 1. + SH050542 BAL0505 -1. BAL0542 1. + SH050642 COST 265.65 TRAN0506 1. + SH050642 BAL0552 -1. BAL0542 1. + SH050842 COST 250.8 TRAN0508 1. + SH050842 BAL0583 -1. BAL0542 1. + SH050143 COST 262.35 TRAN0501 1. + SH050143 BAL0501 -1. BAL0543 1. + SH050243 COST 651.75 TRAN0502 1. + SH050243 BAL0502 -1. BAL0543 1. + SH050343 COST 41.25 TRAN0503 1. + SH050343 BAL0503 -1. BAL0543 1. + SH050443 COST 488.4 TRAN0504 1. + SH050443 BAL0504 -1. BAL0543 1. + SH050543 COST 425.7 TRAN0505 1. + SH050543 BAL0505 -1. BAL0543 1. + SH050643 COST 165. TRAN0506 1. + SH050643 BAL0552 -1. BAL0543 1. + SH050743 COST 397.65 TRAN0507 1. + SH050743 BAL0564 -1. BAL0543 1. + SH050843 COST 447.15 TRAN0508 1. + SH050843 BAL0583 -1. BAL0543 1. + SH050144 COST 262.35 TRAN0501 1. + SH050144 BAL0501 -1. BAL0544 1. + SH050244 COST 625.35 TRAN0502 1. + SH050244 BAL0502 -1. BAL0544 1. + SH050344 COST 211.2 TRAN0503 1. + SH050344 BAL0503 -1. BAL0544 1. + SH050444 COST 514.8 TRAN0504 1. + SH050444 BAL0504 -1. BAL0544 1. + SH050544 COST 511.5 TRAN0505 1. + SH050544 BAL0505 -1. BAL0544 1. + SH050644 COST 146.85 TRAN0506 1. + SH050644 BAL0552 -1. BAL0544 1. + SH050844 COST 491.7 TRAN0508 1. + SH050844 BAL0583 -1. BAL0544 1. + SH050145 COST 283.8 TRAN0501 1. + SH050145 BAL0501 -1. BAL0545 1. + SH050245 COST 719.4 TRAN0502 1. + SH050245 BAL0502 -1. BAL0545 1. + SH050345 COST 265.65 TRAN0503 1. + SH050345 BAL0503 -1. BAL0545 1. + SH050445 COST 481.8 TRAN0504 1. + SH050445 BAL0504 -1. BAL0545 1. + SH050545 COST 386.1 TRAN0505 1. + SH050545 BAL0505 -1. BAL0545 1. + SH050645 COST 315.15 TRAN0506 1. + SH050645 BAL0552 -1. BAL0545 1. + SH050745 COST 325.05 TRAN0507 1. + SH050745 BAL0564 -1. BAL0545 1. + SH050845 COST 503.25 TRAN0508 1. + SH050845 BAL0583 -1. BAL0545 1. + SH050146 COST 404.25 TRAN0501 1. + SH050146 BAL0501 -1. BAL0546 1. + SH050246 COST 450.45 TRAN0502 1. + SH050246 BAL0502 -1. BAL0546 1. + SH050346 COST 364.65 TRAN0503 1. + SH050346 BAL0503 -1. BAL0546 1. + SH050446 COST 737.55 TRAN0504 1. + SH050446 BAL0504 -1. BAL0546 1. + SH050546 COST 709.5 TRAN0505 1. + SH050546 BAL0505 -1. BAL0546 1. + SH050646 COST 424.05 TRAN0506 1. + SH050646 BAL0552 -1. BAL0546 1. + SH050846 COST 739.2 TRAN0508 1. + SH050846 BAL0583 -1. BAL0546 1. + SH050147 COST 181.5 TRAN0501 1. + SH050147 BAL0501 -1. BAL0547 1. + SH050247 COST 615.45 TRAN0502 1. + SH050247 BAL0502 -1. BAL0547 1. + SH050347 COST 262.35 TRAN0503 1. + SH050347 BAL0503 -1. BAL0547 1. + SH050447 COST 452.1 TRAN0504 1. + SH050447 BAL0504 -1. BAL0547 1. + SH050547 COST 384.45 TRAN0505 1. + SH050547 BAL0505 -1. BAL0547 1. + SH050647 COST 239.25 TRAN0506 1. + SH050647 BAL0552 -1. BAL0547 1. + SH050847 COST 402.6 TRAN0508 1. + SH050847 BAL0583 -1. BAL0547 1. + SH050148 COST 156.75 TRAN0501 1. + SH050148 BAL0501 -1. BAL0548 1. + SH050248 COST 559.35 TRAN0502 1. + SH050248 BAL0502 -1. BAL0548 1. + SH050348 COST 226.05 TRAN0503 1. + SH050348 BAL0503 -1. BAL0548 1. + SH050448 COST 379.5 TRAN0504 1. + SH050448 BAL0504 -1. BAL0548 1. + SH050548 COST 407.55 TRAN0505 1. + SH050548 BAL0505 -1. BAL0548 1. + SH050648 COST 189.75 TRAN0506 1. + SH050648 BAL0552 -1. BAL0548 1. + SH050848 COST 321.75 TRAN0508 1. + SH050848 BAL0583 -1. BAL0548 1. + SH050149 COST 542.85 TRAN0501 1. + SH050149 BAL0501 -1. BAL0549 1. + SH050249 COST 882.75 TRAN0502 1. + SH050249 BAL0502 -1. BAL0549 1. + SH050349 COST 547.8 TRAN0503 1. + SH050349 BAL0503 -1. BAL0549 1. + SH050449 COST 628.65 TRAN0504 1. + SH050449 BAL0504 -1. BAL0549 1. + SH050549 COST 250.8 TRAN0505 1. + SH050549 BAL0505 -1. BAL0549 1. + SH050649 COST 557.7 TRAN0506 1. + SH050649 BAL0552 -1. BAL0549 1. + SH050749 COST 221.1 TRAN0507 1. + SH050749 BAL0564 -1. BAL0549 1. + SH050849 COST 673.2 TRAN0508 1. + SH050849 BAL0583 -1. BAL0549 1. + SH050150 COST 397.65 TRAN0501 1. + SH050150 BAL0501 -1. BAL0550 1. + SH050250 COST 1009.8 TRAN0502 1. + SH050250 BAL0502 -1. BAL0550 1. + SH050350 COST 405.9 TRAN0503 1. + SH050350 BAL0503 -1. BAL0550 1. + SH050450 COST 602.25 TRAN0504 1. + SH050450 BAL0504 -1. BAL0550 1. + SH050550 COST 387.75 TRAN0505 1. + SH050550 BAL0505 -1. BAL0550 1. + SH050750 COST 226.05 TRAN0507 1. + SH050750 BAL0564 -1. BAL0550 1. + SH050850 COST 669.9 TRAN0508 1. + SH050850 BAL0583 -1. BAL0550 1. + SH050151 COST 547.8 TRAN0501 1. + SH050151 BAL0501 -1. BAL0551 1. + SH050251 COST 907.5 TRAN0502 1. + SH050251 BAL0502 -1. BAL0551 1. + SH050351 COST 562.65 TRAN0503 1. + SH050351 BAL0503 -1. BAL0551 1. + SH050451 COST 557.7 TRAN0504 1. + SH050451 BAL0504 -1. BAL0551 1. + SH050551 COST 202.95 TRAN0505 1. + SH050551 BAL0505 -1. BAL0551 1. + SH050751 COST 163.35 TRAN0507 1. + SH050751 BAL0564 -1. BAL0551 1. + SH050851 COST 706.2 TRAN0508 1. + SH050851 BAL0583 -1. BAL0551 1. + SH050152 COST 184.8 TRAN0501 1. + SH050152 BAL0501 -1. BAL0552 1. + SH050252 COST 495. TRAN0502 1. + SH050252 BAL0502 -1. BAL0552 1. + SH050352 COST 135.3 TRAN0503 1. + SH050352 BAL0503 -1. BAL0552 1. + SH050452 COST 531.3 TRAN0504 1. + SH050452 BAL0504 -1. BAL0552 1. + SH050552 COST 486.75 TRAN0505 1. + SH050552 BAL0505 -1. BAL0552 1. + SH050852 COST 417.45 TRAN0508 1. + SH050852 BAL0583 -1. BAL0552 1. + SH050153 COST 592.35 TRAN0501 1. + SH050153 BAL0501 -1. BAL0553 1. + SH050253 COST 1049.4 TRAN0502 1. + SH050253 BAL0502 -1. BAL0553 1. + SH050353 COST 536.25 TRAN0503 1. + SH050353 BAL0503 -1. BAL0553 1. + SH050453 COST 679.8 TRAN0504 1. + SH050453 BAL0504 -1. BAL0553 1. + SH050553 COST 303.6 TRAN0505 1. + SH050553 BAL0505 -1. BAL0553 1. + SH050653 COST 592.35 TRAN0506 1. + SH050653 BAL0552 -1. BAL0553 1. + SH050753 COST 240.9 TRAN0507 1. + SH050753 BAL0564 -1. BAL0553 1. + SH050853 COST 664.95 TRAN0508 1. + SH050853 BAL0583 -1. BAL0553 1. + SH050154 COST 305.25 TRAN0501 1. + SH050154 BAL0501 -1. BAL0554 1. + SH050254 COST 734.25 TRAN0502 1. + SH050254 BAL0502 -1. BAL0554 1. + SH050354 COST 358.05 TRAN0503 1. + SH050354 BAL0503 -1. BAL0554 1. + SH050454 COST 565.95 TRAN0504 1. + SH050454 BAL0504 -1. BAL0554 1. + SH050554 COST 351.45 TRAN0505 1. + SH050554 BAL0505 -1. BAL0554 1. + SH050654 COST 334.95 TRAN0506 1. + SH050654 BAL0552 -1. BAL0554 1. + SH050854 COST 663.3 TRAN0508 1. + SH050854 BAL0583 -1. BAL0554 1. + SH050155 COST 458.7 TRAN0501 1. + SH050155 BAL0501 -1. BAL0555 1. + SH050255 COST 790.35 TRAN0502 1. + SH050255 BAL0502 -1. BAL0555 1. + SH050355 COST 463.65 TRAN0503 1. + SH050355 BAL0503 -1. BAL0555 1. + SH050455 COST 485.1 TRAN0504 1. + SH050455 BAL0504 -1. BAL0555 1. + SH050555 COST 254.1 TRAN0505 1. + SH050555 BAL0505 -1. BAL0555 1. + SH050655 COST 478.5 TRAN0506 1. + SH050655 BAL0552 -1. BAL0555 1. + SH050755 COST 176.55 TRAN0507 1. + SH050755 BAL0564 -1. BAL0555 1. + SH050855 COST 485.1 TRAN0508 1. + SH050855 BAL0583 -1. BAL0555 1. + SH050156 COST 643.5 TRAN0501 1. + SH050156 BAL0501 -1. BAL0556 1. + SH050256 COST 955.35 TRAN0502 1. + SH050256 BAL0502 -1. BAL0556 1. + SH050356 COST 503.25 TRAN0503 1. + SH050356 BAL0503 -1. BAL0556 1. + SH050456 COST 602.25 TRAN0504 1. + SH050456 BAL0504 -1. BAL0556 1. + SH050556 COST 224.4 TRAN0505 1. + SH050556 BAL0505 -1. BAL0556 1. + SH050656 COST 559.35 TRAN0506 1. + SH050656 BAL0552 -1. BAL0556 1. + SH050756 COST 201.3 TRAN0507 1. + SH050756 BAL0564 -1. BAL0556 1. + SH050856 COST 589.05 TRAN0508 1. + SH050856 BAL0583 -1. BAL0556 1. + SH050157 COST 430.65 TRAN0501 1. + SH050157 BAL0501 -1. BAL0557 1. + SH050257 COST 858. TRAN0502 1. + SH050257 BAL0502 -1. BAL0557 1. + SH050357 COST 478.5 TRAN0503 1. + SH050357 BAL0503 -1. BAL0557 1. + SH050457 COST 386.1 TRAN0504 1. + SH050457 BAL0504 -1. BAL0557 1. + SH050557 COST 277.2 TRAN0505 1. + SH050557 BAL0505 -1. BAL0557 1. + SH050657 COST 526.35 TRAN0506 1. + SH050657 BAL0552 -1. BAL0557 1. + SH050757 COST 244.2 TRAN0507 1. + SH050757 BAL0564 -1. BAL0557 1. + SH050857 COST 381.15 TRAN0508 1. + SH050857 BAL0583 -1. BAL0557 1. + SH050158 COST 485.1 TRAN0501 1. + SH050158 BAL0501 -1. BAL0558 1. + SH050258 COST 859.65 TRAN0502 1. + SH050258 BAL0502 -1. BAL0558 1. + SH050358 COST 458.7 TRAN0503 1. + SH050358 BAL0503 -1. BAL0558 1. + SH050458 COST 565.95 TRAN0504 1. + SH050458 BAL0504 -1. BAL0558 1. + SH050558 COST 34.65 TRAN0505 1. + SH050558 BAL0505 -1. BAL0558 1. + SH050658 COST 537.9 TRAN0506 1. + SH050658 BAL0552 -1. BAL0558 1. + SH050758 COST 112.2 TRAN0507 1. + SH050758 BAL0564 -1. BAL0558 1. + SH050858 COST 419.1 TRAN0508 1. + SH050858 BAL0583 -1. BAL0558 1. + SH050159 COST 339.9 TRAN0501 1. + SH050159 BAL0501 -1. BAL0559 1. + SH050259 COST 821.7 TRAN0502 1. + SH050259 BAL0502 -1. BAL0559 1. + SH050359 COST 392.7 TRAN0503 1. + SH050359 BAL0503 -1. BAL0559 1. + SH050459 COST 402.6 TRAN0504 1. + SH050459 BAL0504 -1. BAL0559 1. + SH050559 COST 262.35 TRAN0505 1. + SH050559 BAL0505 -1. BAL0559 1. + SH050659 COST 490.05 TRAN0506 1. + SH050659 BAL0552 -1. BAL0559 1. + SH050759 COST 173.25 TRAN0507 1. + SH050759 BAL0564 -1. BAL0559 1. + SH050859 COST 420.75 TRAN0508 1. + SH050859 BAL0583 -1. BAL0559 1. + SH050160 COST 430.65 TRAN0501 1. + SH050160 BAL0501 -1. BAL0560 1. + SH050260 COST 907.5 TRAN0502 1. + SH050260 BAL0502 -1. BAL0560 1. + SH050360 COST 466.95 TRAN0503 1. + SH050360 BAL0503 -1. BAL0560 1. + SH050460 COST 514.8 TRAN0504 1. + SH050460 BAL0504 -1. BAL0560 1. + SH050560 COST 222.75 TRAN0505 1. + SH050560 BAL0505 -1. BAL0560 1. + SH050660 COST 532.95 TRAN0506 1. + SH050660 BAL0552 -1. BAL0560 1. + SH050760 COST 145.2 TRAN0507 1. + SH050760 BAL0564 -1. BAL0560 1. + SH050860 COST 493.35 TRAN0508 1. + SH050860 BAL0583 -1. BAL0560 1. + SH050163 COST 438.9 TRAN0501 1. + SH050163 BAL0501 -1. BAL0563 1. + SH050263 COST 815.1 TRAN0502 1. + SH050263 BAL0502 -1. BAL0563 1. + SH050363 COST 473.55 TRAN0503 1. + SH050363 BAL0503 -1. BAL0563 1. + SH050463 COST 608.85 TRAN0504 1. + SH050463 BAL0504 -1. BAL0563 1. + SH050563 COST 250.8 TRAN0505 1. + SH050563 BAL0505 -1. BAL0563 1. + SH050663 COST 519.75 TRAN0506 1. + SH050663 BAL0552 -1. BAL0563 1. + SH050763 COST 204.6 TRAN0507 1. + SH050763 BAL0564 -1. BAL0563 1. + SH050863 COST 660. TRAN0508 1. + SH050863 BAL0583 -1. BAL0563 1. + SH050164 COST 328.35 TRAN0501 1. + SH050164 BAL0501 -1. BAL0564 1. + SH050264 COST 867.9 TRAN0502 1. + SH050264 BAL0502 -1. BAL0564 1. + SH050364 COST 367.95 TRAN0503 1. + SH050364 BAL0503 -1. BAL0564 1. + SH050464 COST 554.4 TRAN0504 1. + SH050464 BAL0504 -1. BAL0564 1. + SH050564 COST 95.7 TRAN0505 1. + SH050564 BAL0505 -1. BAL0564 1. + SH050664 COST 523.05 TRAN0506 1. + SH050664 BAL0552 -1. BAL0564 1. + SH050864 COST 412.5 TRAN0508 1. + SH050864 BAL0583 -1. BAL0564 1. + SH050165 COST 712.8 TRAN0501 1. + SH050165 BAL0501 -1. BAL0565 1. + SH050265 COST 506.55 TRAN0502 1. + SH050265 BAL0502 -1. BAL0565 1. + SH050365 COST 833.25 TRAN0503 1. + SH050365 BAL0503 -1. BAL0565 1. + SH050465 COST 640.2 TRAN0504 1. + SH050465 BAL0504 -1. BAL0565 1. + SH050565 COST 996.6 TRAN0505 1. + SH050565 BAL0505 -1. BAL0565 1. + SH050865 COST 684.75 TRAN0508 1. + SH050865 BAL0583 -1. BAL0565 1. + SH050166 COST 924. TRAN0501 1. + SH050166 BAL0501 -1. BAL0566 1. + SH050266 COST 427.35 TRAN0502 1. + SH050266 BAL0502 -1. BAL0566 1. + SH050366 COST 953.7 TRAN0503 1. + SH050366 BAL0503 -1. BAL0566 1. + SH050466 COST 917.4 TRAN0504 1. + SH050466 BAL0504 -1. BAL0566 1. + SH050566 COST 1171.5 TRAN0505 1. + SH050566 BAL0505 -1. BAL0566 1. + SH050866 COST 924. TRAN0508 1. + SH050866 BAL0583 -1. BAL0566 1. + SH050167 COST 701.25 TRAN0501 1. + SH050167 BAL0501 -1. BAL0567 1. + SH050267 COST 382.8 TRAN0502 1. + SH050267 BAL0502 -1. BAL0567 1. + SH050367 COST 813.45 TRAN0503 1. + SH050367 BAL0503 -1. BAL0567 1. + SH050467 COST 754.05 TRAN0504 1. + SH050467 BAL0504 -1. BAL0567 1. + SH050567 COST 996.6 TRAN0505 1. + SH050567 BAL0505 -1. BAL0567 1. + SH050867 COST 755.7 TRAN0508 1. + SH050867 BAL0583 -1. BAL0567 1. + SH050168 COST 980.1 TRAN0501 1. + SH050168 BAL0501 -1. BAL0568 1. + SH050268 COST 660. TRAN0502 1. + SH050268 BAL0502 -1. BAL0568 1. + SH050368 COST 924. TRAN0503 1. + SH050368 BAL0503 -1. BAL0568 1. + SH050468 COST 1158.3 TRAN0504 1. + SH050468 BAL0504 -1. BAL0568 1. + SH050568 COST 1560.9 TRAN0505 1. + SH050568 BAL0505 -1. BAL0568 1. + SH050868 COST 1239.15 TRAN0508 1. + SH050868 BAL0583 -1. BAL0568 1. + SH050169 COST 889.35 TRAN0501 1. + SH050169 BAL0501 -1. BAL0569 1. + SH050269 COST 364.65 TRAN0502 1. + SH050269 BAL0502 -1. BAL0569 1. + SH050369 COST 841.5 TRAN0503 1. + SH050369 BAL0503 -1. BAL0569 1. + SH050469 COST 1026.3 TRAN0504 1. + SH050469 BAL0504 -1. BAL0569 1. + SH050569 COST 1065.9 TRAN0505 1. + SH050569 BAL0505 -1. BAL0569 1. + SH050869 COST 1085.7 TRAN0508 1. + SH050869 BAL0583 -1. BAL0569 1. + SH050171 COST 726. TRAN0501 1. + SH050171 BAL0501 -1. BAL0571 1. + SH050371 COST 864.6 TRAN0503 1. + SH050371 BAL0503 -1. BAL0571 1. + SH050471 COST 859.65 TRAN0504 1. + SH050471 BAL0504 -1. BAL0571 1. + SH050571 COST 958.65 TRAN0505 1. + SH050571 BAL0505 -1. BAL0571 1. + SH050671 COST 645.15 TRAN0506 1. + SH050671 BAL0552 -1. BAL0571 1. + SH050771 COST 1161.6 TRAN0507 1. + SH050771 BAL0564 -1. BAL0571 1. + SH050871 COST 879.45 TRAN0508 1. + SH050871 BAL0583 -1. BAL0571 1. + SH050172 COST 968.55 TRAN0501 1. + SH050172 BAL0501 -1. BAL0572 1. + SH050272 COST 895.95 TRAN0502 1. + SH050272 BAL0502 -1. BAL0572 1. + SH050372 COST 1018.05 TRAN0503 1. + SH050372 BAL0503 -1. BAL0572 1. + SH050472 COST 940.5 TRAN0504 1. + SH050472 BAL0504 -1. BAL0572 1. + SH050572 COST 1258.95 TRAN0505 1. + SH050572 BAL0505 -1. BAL0572 1. + SH050872 COST 940.5 TRAN0508 1. + SH050872 BAL0583 -1. BAL0572 1. + SH050173 COST 643.5 TRAN0501 1. + SH050173 BAL0501 -1. BAL0573 1. + SH050273 COST 602.25 TRAN0502 1. + SH050273 BAL0502 -1. BAL0573 1. + SH050373 COST 557.7 TRAN0503 1. + SH050373 BAL0503 -1. BAL0573 1. + SH050473 COST 754.05 TRAN0504 1. + SH050473 BAL0504 -1. BAL0573 1. + SH050573 COST 930.6 TRAN0505 1. + SH050573 BAL0505 -1. BAL0573 1. + SH050673 COST 503.25 TRAN0506 1. + SH050673 BAL0552 -1. BAL0573 1. + SH050873 COST 831.6 TRAN0508 1. + SH050873 BAL0583 -1. BAL0573 1. + SH050174 COST 904.2 TRAN0501 1. + SH050174 BAL0501 -1. BAL0574 1. + SH050274 COST 346.5 TRAN0502 1. + SH050274 BAL0502 -1. BAL0574 1. + SH050374 COST 940.5 TRAN0503 1. + SH050374 BAL0503 -1. BAL0574 1. + SH050474 COST 1051.05 TRAN0504 1. + SH050474 BAL0504 -1. BAL0574 1. + SH050574 COST 1209.45 TRAN0505 1. + SH050574 BAL0505 -1. BAL0574 1. + SH050874 COST 1021.35 TRAN0508 1. + SH050874 BAL0583 -1. BAL0574 1. + SH050275 COST 914.1 TRAN0502 1. + SH050275 BAL0502 -1. BAL0575 1. + SH050176 COST 762.3 TRAN0501 1. + SH050176 BAL0501 -1. BAL0576 1. + SH050276 COST 661.65 TRAN0502 1. + SH050276 BAL0502 -1. BAL0576 1. + SH050376 COST 664.95 TRAN0503 1. + SH050376 BAL0503 -1. BAL0576 1. + SH050476 COST 1039.5 TRAN0504 1. + SH050476 BAL0504 -1. BAL0576 1. + SH050576 COST 1039.5 TRAN0505 1. + SH050576 BAL0505 -1. BAL0576 1. + SH050676 COST 628.65 TRAN0506 1. + SH050676 BAL0552 -1. BAL0576 1. + SH050876 COST 1282.05 TRAN0508 1. + SH050876 BAL0583 -1. BAL0576 1. + SH050177 COST 717.75 TRAN0501 1. + SH050177 BAL0501 -1. BAL0577 1. + SH050277 COST 448.8 TRAN0502 1. + SH050277 BAL0502 -1. BAL0577 1. + SH050377 COST 760.65 TRAN0503 1. + SH050377 BAL0503 -1. BAL0577 1. + SH050477 COST 661.65 TRAN0504 1. + SH050477 BAL0504 -1. BAL0577 1. + SH050577 COST 924. TRAN0505 1. + SH050577 BAL0505 -1. BAL0577 1. + SH050877 COST 528. TRAN0508 1. + SH050877 BAL0583 -1. BAL0577 1. + SH050178 COST 1255.65 TRAN0501 1. + SH050178 BAL0501 -1. BAL0578 1. + SH050278 COST 729.3 TRAN0502 1. + SH050278 BAL0502 -1. BAL0578 1. + SH050378 COST 1291.95 TRAN0503 1. + SH050378 BAL0503 -1. BAL0578 1. + SH050478 COST 1130.25 TRAN0504 1. + SH050478 BAL0504 -1. BAL0578 1. + SH050578 COST 1450.35 TRAN0505 1. + SH050578 BAL0505 -1. BAL0578 1. + SH050878 COST 1263.9 TRAN0508 1. + SH050878 BAL0583 -1. BAL0578 1. + SH050179 COST 1179.75 TRAN0501 1. + SH050179 BAL0501 -1. BAL0579 1. + SH050279 COST 443.85 TRAN0502 1. + SH050279 BAL0502 -1. BAL0579 1. + SH050379 COST 1140.15 TRAN0503 1. + SH050379 BAL0503 -1. BAL0579 1. + SH050479 COST 1188. TRAN0504 1. + SH050479 BAL0504 -1. BAL0579 1. + SH050879 COST 1164.9 TRAN0508 1. + SH050879 BAL0583 -1. BAL0579 1. + SH050180 COST 523.05 TRAN0501 1. + SH050180 BAL0501 -1. BAL0580 1. + SH050280 COST 651.75 TRAN0502 1. + SH050280 BAL0502 -1. BAL0580 1. + SH050380 COST 721.05 TRAN0503 1. + SH050380 BAL0503 -1. BAL0580 1. + SH050480 COST 617.1 TRAN0504 1. + SH050480 BAL0504 -1. BAL0580 1. + SH050580 COST 833.25 TRAN0505 1. + SH050580 BAL0505 -1. BAL0580 1. + SH050880 COST 396. TRAN0508 1. + SH050880 BAL0583 -1. BAL0580 1. + SH050182 COST 960.3 TRAN0501 1. + SH050182 BAL0501 -1. BAL0582 1. + SH050282 COST 542.85 TRAN0502 1. + SH050282 BAL0502 -1. BAL0582 1. + SH050382 COST 1080.75 TRAN0503 1. + SH050382 BAL0503 -1. BAL0582 1. + SH050482 COST 1164.9 TRAN0504 1. + SH050482 BAL0504 -1. BAL0582 1. + SH050582 COST 1892.55 TRAN0505 1. + SH050582 BAL0505 -1. BAL0582 1. + SH050882 COST 1291.95 TRAN0508 1. + SH050882 BAL0583 -1. BAL0582 1. + SH050183 COST 292.05 TRAN0501 1. + SH050183 BAL0501 -1. BAL0583 1. + SH050283 COST 858. TRAN0502 1. + SH050283 BAL0502 -1. BAL0583 1. + SH050383 COST 448.8 TRAN0503 1. + SH050383 BAL0503 -1. BAL0583 1. + SH050483 COST 97.35 TRAN0504 1. + SH050483 BAL0504 -1. BAL0583 1. + SH050583 COST 572.55 TRAN0505 1. + SH050583 BAL0505 -1. BAL0583 1. + SH050683 COST 409.2 TRAN0506 1. + SH050683 BAL0552 -1. BAL0583 1. + SH050184 COST 501.6 TRAN0501 1. + SH050184 BAL0501 -1. BAL0584 1. + SH050284 COST 316.8 TRAN0502 1. + SH050284 BAL0502 -1. BAL0584 1. + SH050384 COST 600.6 TRAN0503 1. + SH050384 BAL0503 -1. BAL0584 1. + SH050484 COST 610.5 TRAN0504 1. + SH050484 BAL0504 -1. BAL0584 1. + SH050584 COST 808.5 TRAN0505 1. + SH050584 BAL0505 -1. BAL0584 1. + SH050684 COST 503.25 TRAN0506 1. + SH050684 BAL0552 -1. BAL0584 1. + SH050884 COST 640.2 TRAN0508 1. + SH050884 BAL0583 -1. BAL0584 1. + SH060201 COST 365.31 TRAN0602 1. + SH060201 BAL0602 -1. BAL0601 1. + SH060301 COST 140.22 TRAN0603 1. + SH060301 BAL0603 -1. BAL0601 1. + SH060401 COST 255.84 TRAN0604 1. + SH060401 BAL0604 -1. BAL0601 1. + SH060501 COST 291.51 TRAN0605 1. + SH060501 BAL0605 -1. BAL0601 1. + SH060601 COST 154.98 TRAN0606 1. + SH060601 BAL0652 -1. BAL0601 1. + SH060801 COST 175.89 TRAN0608 1. + SH060801 BAL0683 -1. BAL0601 1. + SH060102 COST 583.02 TRAN0601 1. + SH060102 BAL0601 -1. BAL0602 1. + SH060302 COST 512.91 TRAN0603 1. + SH060302 BAL0603 -1. BAL0602 1. + SH060402 COST 752.76 TRAN0604 1. + SH060402 BAL0604 -1. BAL0602 1. + SH060502 COST 911.43 TRAN0605 1. + SH060502 BAL0605 -1. BAL0602 1. + SH060602 COST 464.94 TRAN0606 1. + SH060602 BAL0652 -1. BAL0602 1. + SH060802 COST 640.83 TRAN0608 1. + SH060802 BAL0683 -1. BAL0602 1. + SH060103 COST 301.35 TRAN0601 1. + SH060103 BAL0601 -1. BAL0603 1. + SH060203 COST 583.02 TRAN0602 1. + SH060203 BAL0602 -1. BAL0603 1. + SH060403 COST 451.41 TRAN0604 1. + SH060403 BAL0604 -1. BAL0603 1. + SH060503 COST 349.32 TRAN0605 1. + SH060503 BAL0605 -1. BAL0603 1. + SH060603 COST 110.7 TRAN0606 1. + SH060603 BAL0652 -1. BAL0603 1. + SH060803 COST 313.65 TRAN0608 1. + SH060803 BAL0683 -1. BAL0603 1. + SH060104 COST 214.02 TRAN0601 1. + SH060104 BAL0601 -1. BAL0604 1. + SH060204 COST 618.69 TRAN0602 1. + SH060204 BAL0602 -1. BAL0604 1. + SH060304 COST 298.89 TRAN0603 1. + SH060304 BAL0603 -1. BAL0604 1. + SH060504 COST 392.37 TRAN0605 1. + SH060504 BAL0605 -1. BAL0604 1. + SH060604 COST 301.35 TRAN0606 1. + SH060604 BAL0652 -1. BAL0604 1. + SH060704 COST 330.87 TRAN0607 1. + SH060704 BAL0664 -1. BAL0604 1. + SH060804 COST 71.34 TRAN0608 1. + SH060804 BAL0683 -1. BAL0604 1. + SH060105 COST 332.1 TRAN0601 1. + SH060105 BAL0601 -1. BAL0605 1. + SH060205 COST 634.68 TRAN0602 1. + SH060205 BAL0602 -1. BAL0605 1. + SH060305 COST 349.32 TRAN0603 1. + SH060305 BAL0603 -1. BAL0605 1. + SH060405 COST 350.55 TRAN0604 1. + SH060405 BAL0604 -1. BAL0605 1. + SH060605 COST 400.98 TRAN0606 1. + SH060605 BAL0652 -1. BAL0605 1. + SH060705 COST 410.82 TRAN0607 1. + SH060705 BAL0664 -1. BAL0605 1. + SH060805 COST 333.33 TRAN0608 1. + SH060805 BAL0683 -1. BAL0605 1. + SH060106 COST 244.77 TRAN0601 1. + SH060106 BAL0601 -1. BAL0606 1. + SH060206 COST 512.91 TRAN0602 1. + SH060206 BAL0602 -1. BAL0606 1. + SH060306 COST 261.99 TRAN0603 1. + SH060306 BAL0603 -1. BAL0606 1. + SH060406 COST 269.37 TRAN0604 1. + SH060406 BAL0604 -1. BAL0606 1. + SH060506 COST 309.96 TRAN0605 1. + SH060506 BAL0605 -1. BAL0606 1. + SH060606 COST 253.38 TRAN0606 1. + SH060606 BAL0652 -1. BAL0606 1. + SH060706 COST 246. TRAN0607 1. + SH060706 BAL0664 -1. BAL0606 1. + SH060806 COST 185.73 TRAN0608 1. + SH060806 BAL0683 -1. BAL0606 1. + SH060107 COST 25.83 TRAN0601 1. + SH060107 BAL0601 -1. BAL0607 1. + SH060207 COST 359.16 TRAN0602 1. + SH060207 BAL0602 -1. BAL0607 1. + SH060307 COST 152.52 TRAN0603 1. + SH060307 BAL0603 -1. BAL0607 1. + SH060407 COST 254.61 TRAN0604 1. + SH060407 BAL0604 -1. BAL0607 1. + SH060507 COST 281.67 TRAN0605 1. + SH060507 BAL0605 -1. BAL0607 1. + SH060607 COST 153.75 TRAN0606 1. + SH060607 BAL0652 -1. BAL0607 1. + SH060707 COST 285.36 TRAN0607 1. + SH060707 BAL0664 -1. BAL0607 1. + SH060807 COST 190.65 TRAN0608 1. + SH060807 BAL0683 -1. BAL0607 1. + SH060108 COST 81.18 TRAN0601 1. + SH060108 BAL0601 -1. BAL0608 1. + SH060208 COST 462.48 TRAN0602 1. + SH060208 BAL0602 -1. BAL0608 1. + SH060308 COST 173.43 TRAN0603 1. + SH060308 BAL0603 -1. BAL0608 1. + SH060408 COST 303.81 TRAN0604 1. + SH060408 BAL0604 -1. BAL0608 1. + SH060508 COST 223.86 TRAN0605 1. + SH060508 BAL0605 -1. BAL0608 1. + SH060608 COST 204.18 TRAN0606 1. + SH060608 BAL0652 -1. BAL0608 1. + SH060808 COST 230.01 TRAN0608 1. + SH060808 BAL0683 -1. BAL0608 1. + SH060109 COST 169.74 TRAN0601 1. + SH060109 BAL0601 -1. BAL0609 1. + SH060209 COST 471.09 TRAN0602 1. + SH060209 BAL0602 -1. BAL0609 1. + SH060309 COST 206.64 TRAN0603 1. + SH060309 BAL0603 -1. BAL0609 1. + SH060409 COST 311.19 TRAN0604 1. + SH060409 BAL0604 -1. BAL0609 1. + SH060509 COST 293.97 TRAN0605 1. + SH060509 BAL0605 -1. BAL0609 1. + SH060709 COST 241.08 TRAN0607 1. + SH060709 BAL0664 -1. BAL0609 1. + SH060809 COST 238.62 TRAN0608 1. + SH060809 BAL0683 -1. BAL0609 1. + SH060110 COST 303.81 TRAN0601 1. + SH060110 BAL0601 -1. BAL0610 1. + SH060210 COST 194.34 TRAN0602 1. + SH060210 BAL0602 -1. BAL0610 1. + SH060310 COST 295.2 TRAN0603 1. + SH060310 BAL0603 -1. BAL0610 1. + SH060410 COST 441.57 TRAN0604 1. + SH060410 BAL0604 -1. BAL0610 1. + SH060510 COST 473.55 TRAN0605 1. + SH060510 BAL0605 -1. BAL0610 1. + SH060610 COST 276.75 TRAN0606 1. + SH060610 BAL0652 -1. BAL0610 1. + SH060810 COST 375.15 TRAN0608 1. + SH060810 BAL0683 -1. BAL0610 1. + SH060111 COST 130.38 TRAN0601 1. + SH060111 BAL0601 -1. BAL0611 1. + SH060211 COST 608.85 TRAN0602 1. + SH060211 BAL0602 -1. BAL0611 1. + SH060311 COST 305.04 TRAN0603 1. + SH060311 BAL0603 -1. BAL0611 1. + SH060411 COST 170.97 TRAN0604 1. + SH060411 BAL0604 -1. BAL0611 1. + SH060511 COST 419.43 TRAN0605 1. + SH060511 BAL0605 -1. BAL0611 1. + SH060611 COST 241.08 TRAN0606 1. + SH060611 BAL0652 -1. BAL0611 1. + SH060811 COST 125.46 TRAN0608 1. + SH060811 BAL0683 -1. BAL0611 1. + SH060112 COST 108.24 TRAN0601 1. + SH060112 BAL0601 -1. BAL0612 1. + SH060212 COST 416.97 TRAN0602 1. + SH060212 BAL0602 -1. BAL0612 1. + SH060312 COST 179.58 TRAN0603 1. + SH060312 BAL0603 -1. BAL0612 1. + SH060412 COST 246. TRAN0604 1. + SH060412 BAL0604 -1. BAL0612 1. + SH060512 COST 328.41 TRAN0605 1. + SH060512 BAL0605 -1. BAL0612 1. + SH060612 COST 178.35 TRAN0606 1. + SH060612 BAL0652 -1. BAL0612 1. + SH060812 COST 179.58 TRAN0608 1. + SH060812 BAL0683 -1. BAL0612 1. + SH060114 COST 174.66 TRAN0601 1. + SH060114 BAL0601 -1. BAL0614 1. + SH060214 COST 506.76 TRAN0602 1. + SH060214 BAL0602 -1. BAL0614 1. + SH060314 COST 241.08 TRAN0603 1. + SH060314 BAL0603 -1. BAL0614 1. + SH060414 COST 244.77 TRAN0604 1. + SH060414 BAL0604 -1. BAL0614 1. + SH060514 COST 432.96 TRAN0605 1. + SH060514 BAL0605 -1. BAL0614 1. + SH060614 COST 231.24 TRAN0606 1. + SH060614 BAL0652 -1. BAL0614 1. + SH060814 COST 154.98 TRAN0608 1. + SH060814 BAL0683 -1. BAL0614 1. + SH060115 COST 372.69 TRAN0601 1. + SH060115 BAL0601 -1. BAL0615 1. + SH060215 COST 195.57 TRAN0602 1. + SH060215 BAL0602 -1. BAL0615 1. + SH060315 COST 287.82 TRAN0603 1. + SH060315 BAL0603 -1. BAL0615 1. + SH060415 COST 585.48 TRAN0604 1. + SH060415 BAL0604 -1. BAL0615 1. + SH060515 COST 489.54 TRAN0605 1. + SH060515 BAL0605 -1. BAL0615 1. + SH060615 COST 231.24 TRAN0606 1. + SH060615 BAL0652 -1. BAL0615 1. + SH060815 COST 458.79 TRAN0608 1. + SH060815 BAL0683 -1. BAL0615 1. + SH060116 COST 194.34 TRAN0601 1. + SH060116 BAL0601 -1. BAL0616 1. + SH060216 COST 344.4 TRAN0602 1. + SH060216 BAL0602 -1. BAL0616 1. + SH060316 COST 279.21 TRAN0603 1. + SH060316 BAL0603 -1. BAL0616 1. + SH060416 COST 353.01 TRAN0604 1. + SH060416 BAL0604 -1. BAL0616 1. + SH060516 COST 392.37 TRAN0605 1. + SH060516 BAL0605 -1. BAL0616 1. + SH060616 COST 161.13 TRAN0606 1. + SH060616 BAL0652 -1. BAL0616 1. + SH060816 COST 252.15 TRAN0608 1. + SH060816 BAL0683 -1. BAL0616 1. + SH060117 COST 185.73 TRAN0601 1. + SH060117 BAL0601 -1. BAL0617 1. + SH060217 COST 621.15 TRAN0602 1. + SH060217 BAL0602 -1. BAL0617 1. + SH060317 COST 337.02 TRAN0603 1. + SH060317 BAL0603 -1. BAL0617 1. + SH060417 COST 70.11 TRAN0604 1. + SH060417 BAL0604 -1. BAL0617 1. + SH060517 COST 366.54 TRAN0605 1. + SH060517 BAL0605 -1. BAL0617 1. + SH060717 COST 362.85 TRAN0607 1. + SH060717 BAL0664 -1. BAL0617 1. + SH060817 COST 33.21 TRAN0608 1. + SH060817 BAL0683 -1. BAL0617 1. + SH060118 COST 215.25 TRAN0601 1. + SH060118 BAL0601 -1. BAL0618 1. + SH060218 COST 444.03 TRAN0602 1. + SH060218 BAL0602 -1. BAL0618 1. + SH060318 COST 332.1 TRAN0603 1. + SH060318 BAL0603 -1. BAL0618 1. + SH060418 COST 189.42 TRAN0604 1. + SH060418 BAL0604 -1. BAL0618 1. + SH060518 COST 500.61 TRAN0605 1. + SH060518 BAL0605 -1. BAL0618 1. + SH060618 COST 432.96 TRAN0606 1. + SH060618 BAL0652 -1. BAL0618 1. + SH060818 COST 126.69 TRAN0608 1. + SH060818 BAL0683 -1. BAL0618 1. + SH060119 COST 305.04 TRAN0601 1. + SH060119 BAL0601 -1. BAL0619 1. + SH060219 COST 845.01 TRAN0602 1. + SH060219 BAL0602 -1. BAL0619 1. + SH060319 COST 389.91 TRAN0603 1. + SH060319 BAL0603 -1. BAL0619 1. + SH060419 COST 195.57 TRAN0604 1. + SH060419 BAL0604 -1. BAL0619 1. + SH060519 COST 255.84 TRAN0605 1. + SH060519 BAL0605 -1. BAL0619 1. + SH060619 COST 424.35 TRAN0606 1. + SH060619 BAL0652 -1. BAL0619 1. + SH060819 COST 121.77 TRAN0608 1. + SH060819 BAL0683 -1. BAL0619 1. + SH060120 COST 252.15 TRAN0601 1. + SH060120 BAL0601 -1. BAL0620 1. + SH060220 COST 840.09 TRAN0602 1. + SH060220 BAL0602 -1. BAL0620 1. + SH060320 COST 365.31 TRAN0603 1. + SH060320 BAL0603 -1. BAL0620 1. + SH060420 COST 138.99 TRAN0604 1. + SH060420 BAL0604 -1. BAL0620 1. + SH060520 COST 357.93 TRAN0605 1. + SH060520 BAL0605 -1. BAL0620 1. + SH060820 COST 154.98 TRAN0608 1. + SH060820 BAL0683 -1. BAL0620 1. + SH060121 COST 495.69 TRAN0601 1. + SH060121 BAL0601 -1. BAL0621 1. + SH060221 COST 452.64 TRAN0602 1. + SH060221 BAL0602 -1. BAL0621 1. + SH060321 COST 548.58 TRAN0603 1. + SH060321 BAL0603 -1. BAL0621 1. + SH060421 COST 393.6 TRAN0604 1. + SH060421 BAL0604 -1. BAL0621 1. + SH060521 COST 676.5 TRAN0605 1. + SH060521 BAL0605 -1. BAL0621 1. + SH060821 COST 393.6 TRAN0608 1. + SH060821 BAL0683 -1. BAL0621 1. + SH060122 COST 305.04 TRAN0601 1. + SH060122 BAL0601 -1. BAL0622 1. + SH060222 COST 710.94 TRAN0602 1. + SH060222 BAL0602 -1. BAL0622 1. + SH060322 COST 367.77 TRAN0603 1. + SH060322 BAL0603 -1. BAL0622 1. + SH060422 COST 275.52 TRAN0604 1. + SH060422 BAL0604 -1. BAL0622 1. + SH060522 COST 220.17 TRAN0605 1. + SH060522 BAL0605 -1. BAL0622 1. + SH060622 COST 381.3 TRAN0606 1. + SH060622 BAL0652 -1. BAL0622 1. + SH060822 COST 170.97 TRAN0608 1. + SH060822 BAL0683 -1. BAL0622 1. + SH060123 COST 287.82 TRAN0601 1. + SH060123 BAL0601 -1. BAL0623 1. + SH060223 COST 665.43 TRAN0602 1. + SH060223 BAL0602 -1. BAL0623 1. + SH060323 COST 353.01 TRAN0603 1. + SH060323 BAL0603 -1. BAL0623 1. + SH060423 COST 205.41 TRAN0604 1. + SH060423 BAL0604 -1. BAL0623 1. + SH060523 COST 204.18 TRAN0605 1. + SH060523 BAL0605 -1. BAL0623 1. + SH060823 COST 170.97 TRAN0608 1. + SH060823 BAL0683 -1. BAL0623 1. + SH060124 COST 1766.28 TRAN0601 1. + SH060124 BAL0601 -1. BAL0624 1. + SH060125 COST 476.01 TRAN0601 1. + SH060125 BAL0601 -1. BAL0625 1. + SH060225 COST 525.21 TRAN0602 1. + SH060225 BAL0602 -1. BAL0625 1. + SH060325 COST 628.53 TRAN0603 1. + SH060325 BAL0603 -1. BAL0625 1. + SH060425 COST 428.04 TRAN0604 1. + SH060425 BAL0604 -1. BAL0625 1. + SH060525 COST 696.18 TRAN0605 1. + SH060525 BAL0605 -1. BAL0625 1. + SH060625 COST 495.69 TRAN0606 1. + SH060625 BAL0652 -1. BAL0625 1. + SH060825 COST 375.15 TRAN0608 1. + SH060825 BAL0683 -1. BAL0625 1. + SH060426 COST 332.1 TRAN0604 1. + SH060426 BAL0604 -1. BAL0626 1. + SH060127 COST 287.82 TRAN0601 1. + SH060127 BAL0601 -1. BAL0627 1. + SH060227 COST 349.32 TRAN0602 1. + SH060227 BAL0602 -1. BAL0627 1. + SH060327 COST 355.47 TRAN0603 1. + SH060327 BAL0603 -1. BAL0627 1. + SH060427 COST 412.05 TRAN0604 1. + SH060427 BAL0604 -1. BAL0627 1. + SH060527 COST 464.94 TRAN0605 1. + SH060527 BAL0605 -1. BAL0627 1. + SH060627 COST 329.64 TRAN0606 1. + SH060627 BAL0652 -1. BAL0627 1. + SH060827 COST 309.96 TRAN0608 1. + SH060827 BAL0683 -1. BAL0627 1. + SH060128 COST 298.89 TRAN0601 1. + SH060128 BAL0601 -1. BAL0628 1. + SH060228 COST 699.87 TRAN0602 1. + SH060228 BAL0602 -1. BAL0628 1. + SH060328 COST 364.08 TRAN0603 1. + SH060328 BAL0603 -1. BAL0628 1. + SH060428 COST 362.85 TRAN0604 1. + SH060428 BAL0604 -1. BAL0628 1. + SH060528 COST 125.46 TRAN0605 1. + SH060528 BAL0605 -1. BAL0628 1. + SH060628 COST 321.03 TRAN0606 1. + SH060628 BAL0652 -1. BAL0628 1. + SH060728 COST 131.61 TRAN0607 1. + SH060728 BAL0664 -1. BAL0628 1. + SH060828 COST 312.42 TRAN0608 1. + SH060828 BAL0683 -1. BAL0628 1. + SH060129 COST 274.29 TRAN0601 1. + SH060129 BAL0601 -1. BAL0629 1. + SH060229 COST 570.72 TRAN0602 1. + SH060229 BAL0602 -1. BAL0629 1. + SH060329 COST 296.43 TRAN0603 1. + SH060329 BAL0603 -1. BAL0629 1. + SH060429 COST 244.77 TRAN0604 1. + SH060429 BAL0604 -1. BAL0629 1. + SH060529 COST 528.9 TRAN0605 1. + SH060529 BAL0605 -1. BAL0629 1. + SH060629 COST 321.03 TRAN0606 1. + SH060629 BAL0652 -1. BAL0629 1. + SH060829 COST 177.12 TRAN0608 1. + SH060829 BAL0683 -1. BAL0629 1. + SH060130 COST 573.18 TRAN0601 1. + SH060130 BAL0601 -1. BAL0630 1. + SH060230 COST 536.28 TRAN0602 1. + SH060230 BAL0602 -1. BAL0630 1. + SH060330 COST 643.29 TRAN0603 1. + SH060330 BAL0603 -1. BAL0630 1. + SH060430 COST 373.92 TRAN0604 1. + SH060430 BAL0604 -1. BAL0630 1. + SH060530 COST 548.58 TRAN0605 1. + SH060530 BAL0605 -1. BAL0630 1. + SH060830 COST 469.86 TRAN0608 1. + SH060830 BAL0683 -1. BAL0630 1. + SH060131 COST 136.53 TRAN0601 1. + SH060131 BAL0601 -1. BAL0631 1. + SH060231 COST 431.73 TRAN0602 1. + SH060231 BAL0602 -1. BAL0631 1. + SH060331 COST 135.3 TRAN0603 1. + SH060331 BAL0603 -1. BAL0631 1. + SH060431 COST 311.19 TRAN0604 1. + SH060431 BAL0604 -1. BAL0631 1. + SH060531 COST 377.61 TRAN0605 1. + SH060531 BAL0605 -1. BAL0631 1. + SH060631 COST 137.76 TRAN0606 1. + SH060631 BAL0652 -1. BAL0631 1. + SH060831 COST 274.29 TRAN0608 1. + SH060831 BAL0683 -1. BAL0631 1. + SH060132 COST 367.77 TRAN0601 1. + SH060132 BAL0601 -1. BAL0632 1. + SH060232 COST 587.94 TRAN0602 1. + SH060232 BAL0602 -1. BAL0632 1. + SH060332 COST 520.29 TRAN0603 1. + SH060332 BAL0603 -1. BAL0632 1. + SH060432 COST 193.11 TRAN0604 1. + SH060432 BAL0604 -1. BAL0632 1. + SH060532 COST 482.16 TRAN0605 1. + SH060532 BAL0605 -1. BAL0632 1. + SH060832 COST 221.4 TRAN0608 1. + SH060832 BAL0683 -1. BAL0632 1. + SH060133 COST 606.39 TRAN0601 1. + SH060133 BAL0601 -1. BAL0633 1. + SH060233 COST 492. TRAN0602 1. + SH060233 BAL0602 -1. BAL0633 1. + SH060333 COST 667.89 TRAN0603 1. + SH060333 BAL0603 -1. BAL0633 1. + SH060433 COST 547.35 TRAN0604 1. + SH060433 BAL0604 -1. BAL0633 1. + SH060533 COST 776.13 TRAN0605 1. + SH060533 BAL0605 -1. BAL0633 1. + SH060833 COST 468.63 TRAN0608 1. + SH060833 BAL0683 -1. BAL0633 1. + SH060134 COST 474.78 TRAN0601 1. + SH060134 BAL0601 -1. BAL0634 1. + SH060234 COST 805.65 TRAN0602 1. + SH060234 BAL0602 -1. BAL0634 1. + SH060334 COST 618.69 TRAN0603 1. + SH060334 BAL0603 -1. BAL0634 1. + SH060434 COST 259.53 TRAN0604 1. + SH060434 BAL0604 -1. BAL0634 1. + SH060534 COST 542.43 TRAN0605 1. + SH060534 BAL0605 -1. BAL0634 1. + SH060834 COST 323.49 TRAN0608 1. + SH060834 BAL0683 -1. BAL0634 1. + SH060135 COST 567.03 TRAN0601 1. + SH060135 BAL0601 -1. BAL0635 1. + SH060235 COST 547.35 TRAN0602 1. + SH060235 BAL0602 -1. BAL0635 1. + SH060335 COST 463.71 TRAN0603 1. + SH060335 BAL0603 -1. BAL0635 1. + SH060435 COST 150.06 TRAN0604 1. + SH060435 BAL0604 -1. BAL0635 1. + SH060535 COST 530.13 TRAN0605 1. + SH060535 BAL0605 -1. BAL0635 1. + SH060835 COST 289.05 TRAN0608 1. + SH060835 BAL0683 -1. BAL0635 1. + SH060136 COST 252.15 TRAN0601 1. + SH060136 BAL0601 -1. BAL0636 1. + SH060236 COST 551.04 TRAN0602 1. + SH060236 BAL0602 -1. BAL0636 1. + SH060336 COST 130.38 TRAN0603 1. + SH060336 BAL0603 -1. BAL0636 1. + SH060436 COST 455.1 TRAN0604 1. + SH060436 BAL0604 -1. BAL0636 1. + SH060536 COST 425.58 TRAN0605 1. + SH060536 BAL0605 -1. BAL0636 1. + SH060636 COST 135.3 TRAN0606 1. + SH060636 BAL0652 -1. BAL0636 1. + SH060836 COST 394.83 TRAN0608 1. + SH060836 BAL0683 -1. BAL0636 1. + SH060137 COST 113.16 TRAN0601 1. + SH060137 BAL0601 -1. BAL0637 1. + SH060237 COST 420.66 TRAN0602 1. + SH060237 BAL0602 -1. BAL0637 1. + SH060337 COST 194.34 TRAN0603 1. + SH060337 BAL0603 -1. BAL0637 1. + SH060437 COST 373.92 TRAN0604 1. + SH060437 BAL0604 -1. BAL0637 1. + SH060537 COST 223.86 TRAN0605 1. + SH060537 BAL0605 -1. BAL0637 1. + SH060637 COST 238.62 TRAN0606 1. + SH060637 BAL0652 -1. BAL0637 1. + SH060837 COST 309.96 TRAN0608 1. + SH060837 BAL0683 -1. BAL0637 1. + SH060138 COST 167.28 TRAN0601 1. + SH060138 BAL0601 -1. BAL0638 1. + SH060238 COST 300.12 TRAN0602 1. + SH060238 BAL0602 -1. BAL0638 1. + SH060338 COST 116.85 TRAN0603 1. + SH060338 BAL0603 -1. BAL0638 1. + SH060438 COST 378.84 TRAN0604 1. + SH060438 BAL0604 -1. BAL0638 1. + SH060538 COST 341.94 TRAN0605 1. + SH060538 BAL0605 -1. BAL0638 1. + SH060638 COST 47.97 TRAN0606 1. + SH060638 BAL0652 -1. BAL0638 1. + SH060738 COST 265.68 TRAN0607 1. + SH060738 BAL0664 -1. BAL0638 1. + SH060838 COST 291.51 TRAN0608 1. + SH060838 BAL0683 -1. BAL0638 1. + SH060139 COST 159.9 TRAN0601 1. + SH060139 BAL0601 -1. BAL0639 1. + SH060239 COST 416.97 TRAN0602 1. + SH060239 BAL0602 -1. BAL0639 1. + SH060339 COST 196.8 TRAN0603 1. + SH060339 BAL0603 -1. BAL0639 1. + SH060439 COST 306.27 TRAN0604 1. + SH060439 BAL0604 -1. BAL0639 1. + SH060539 COST 527.67 TRAN0605 1. + SH060539 BAL0605 -1. BAL0639 1. + SH060639 COST 250.92 TRAN0606 1. + SH060639 BAL0652 -1. BAL0639 1. + SH060839 COST 206.64 TRAN0608 1. + SH060839 BAL0683 -1. BAL0639 1. + SH060140 COST 202.95 TRAN0601 1. + SH060140 BAL0601 -1. BAL0640 1. + SH060240 COST 464.94 TRAN0602 1. + SH060240 BAL0602 -1. BAL0640 1. + SH060340 COST 126.69 TRAN0603 1. + SH060340 BAL0603 -1. BAL0640 1. + SH060440 COST 365.31 TRAN0604 1. + SH060440 BAL0604 -1. BAL0640 1. + SH060540 COST 271.83 TRAN0605 1. + SH060540 BAL0605 -1. BAL0640 1. + SH060640 COST 161.13 TRAN0606 1. + SH060640 BAL0652 -1. BAL0640 1. + SH060840 COST 337.02 TRAN0608 1. + SH060840 BAL0683 -1. BAL0640 1. + SH060141 COST 241.08 TRAN0601 1. + SH060141 BAL0601 -1. BAL0641 1. + SH060241 COST 369. TRAN0602 1. + SH060241 BAL0602 -1. BAL0641 1. + SH060341 COST 184.5 TRAN0603 1. + SH060341 BAL0603 -1. BAL0641 1. + SH060441 COST 398.52 TRAN0604 1. + SH060441 BAL0604 -1. BAL0641 1. + SH060541 COST 452.64 TRAN0605 1. + SH060541 BAL0605 -1. BAL0641 1. + SH060641 COST 123. TRAN0606 1. + SH060641 BAL0652 -1. BAL0641 1. + SH060841 COST 367.77 TRAN0608 1. + SH060841 BAL0683 -1. BAL0641 1. + SH060142 COST 110.7 TRAN0601 1. + SH060142 BAL0601 -1. BAL0642 1. + SH060242 COST 509.22 TRAN0602 1. + SH060242 BAL0602 -1. BAL0642 1. + SH060342 COST 196.8 TRAN0603 1. + SH060342 BAL0603 -1. BAL0642 1. + SH060442 COST 239.85 TRAN0604 1. + SH060442 BAL0604 -1. BAL0642 1. + SH060542 COST 444.03 TRAN0605 1. + SH060542 BAL0605 -1. BAL0642 1. + SH060642 COST 198.03 TRAN0606 1. + SH060642 BAL0652 -1. BAL0642 1. + SH060842 COST 186.96 TRAN0608 1. + SH060842 BAL0683 -1. BAL0642 1. + SH060143 COST 195.57 TRAN0601 1. + SH060143 BAL0601 -1. BAL0643 1. + SH060243 COST 485.85 TRAN0602 1. + SH060243 BAL0602 -1. BAL0643 1. + SH060343 COST 30.75 TRAN0603 1. + SH060343 BAL0603 -1. BAL0643 1. + SH060443 COST 364.08 TRAN0604 1. + SH060443 BAL0604 -1. BAL0643 1. + SH060543 COST 317.34 TRAN0605 1. + SH060543 BAL0605 -1. BAL0643 1. + SH060643 COST 123. TRAN0606 1. + SH060643 BAL0652 -1. BAL0643 1. + SH060743 COST 296.43 TRAN0607 1. + SH060743 BAL0664 -1. BAL0643 1. + SH060843 COST 333.33 TRAN0608 1. + SH060843 BAL0683 -1. BAL0643 1. + SH060144 COST 195.57 TRAN0601 1. + SH060144 BAL0601 -1. BAL0644 1. + SH060244 COST 466.17 TRAN0602 1. + SH060244 BAL0602 -1. BAL0644 1. + SH060344 COST 157.44 TRAN0603 1. + SH060344 BAL0603 -1. BAL0644 1. + SH060444 COST 383.76 TRAN0604 1. + SH060444 BAL0604 -1. BAL0644 1. + SH060544 COST 381.3 TRAN0605 1. + SH060544 BAL0605 -1. BAL0644 1. + SH060644 COST 109.47 TRAN0606 1. + SH060644 BAL0652 -1. BAL0644 1. + SH060844 COST 366.54 TRAN0608 1. + SH060844 BAL0683 -1. BAL0644 1. + SH060145 COST 211.56 TRAN0601 1. + SH060145 BAL0601 -1. BAL0645 1. + SH060245 COST 536.28 TRAN0602 1. + SH060245 BAL0602 -1. BAL0645 1. + SH060345 COST 198.03 TRAN0603 1. + SH060345 BAL0603 -1. BAL0645 1. + SH060445 COST 359.16 TRAN0604 1. + SH060445 BAL0604 -1. BAL0645 1. + SH060545 COST 287.82 TRAN0605 1. + SH060545 BAL0605 -1. BAL0645 1. + SH060645 COST 234.93 TRAN0606 1. + SH060645 BAL0652 -1. BAL0645 1. + SH060745 COST 242.31 TRAN0607 1. + SH060745 BAL0664 -1. BAL0645 1. + SH060845 COST 375.15 TRAN0608 1. + SH060845 BAL0683 -1. BAL0645 1. + SH060146 COST 301.35 TRAN0601 1. + SH060146 BAL0601 -1. BAL0646 1. + SH060246 COST 335.79 TRAN0602 1. + SH060246 BAL0602 -1. BAL0646 1. + SH060346 COST 271.83 TRAN0603 1. + SH060346 BAL0603 -1. BAL0646 1. + SH060446 COST 549.81 TRAN0604 1. + SH060446 BAL0604 -1. BAL0646 1. + SH060546 COST 528.9 TRAN0605 1. + SH060546 BAL0605 -1. BAL0646 1. + SH060646 COST 316.11 TRAN0606 1. + SH060646 BAL0652 -1. BAL0646 1. + SH060846 COST 551.04 TRAN0608 1. + SH060846 BAL0683 -1. BAL0646 1. + SH060147 COST 135.3 TRAN0601 1. + SH060147 BAL0601 -1. BAL0647 1. + SH060247 COST 458.79 TRAN0602 1. + SH060247 BAL0602 -1. BAL0647 1. + SH060347 COST 195.57 TRAN0603 1. + SH060347 BAL0603 -1. BAL0647 1. + SH060447 COST 337.02 TRAN0604 1. + SH060447 BAL0604 -1. BAL0647 1. + SH060547 COST 286.59 TRAN0605 1. + SH060547 BAL0605 -1. BAL0647 1. + SH060647 COST 178.35 TRAN0606 1. + SH060647 BAL0652 -1. BAL0647 1. + SH060847 COST 300.12 TRAN0608 1. + SH060847 BAL0683 -1. BAL0647 1. + SH060148 COST 116.85 TRAN0601 1. + SH060148 BAL0601 -1. BAL0648 1. + SH060248 COST 416.97 TRAN0602 1. + SH060248 BAL0602 -1. BAL0648 1. + SH060348 COST 168.51 TRAN0603 1. + SH060348 BAL0603 -1. BAL0648 1. + SH060448 COST 282.9 TRAN0604 1. + SH060448 BAL0604 -1. BAL0648 1. + SH060548 COST 303.81 TRAN0605 1. + SH060548 BAL0605 -1. BAL0648 1. + SH060648 COST 141.45 TRAN0606 1. + SH060648 BAL0652 -1. BAL0648 1. + SH060848 COST 239.85 TRAN0608 1. + SH060848 BAL0683 -1. BAL0648 1. + SH060149 COST 404.67 TRAN0601 1. + SH060149 BAL0601 -1. BAL0649 1. + SH060249 COST 658.05 TRAN0602 1. + SH060249 BAL0602 -1. BAL0649 1. + SH060349 COST 408.36 TRAN0603 1. + SH060349 BAL0603 -1. BAL0649 1. + SH060449 COST 468.63 TRAN0604 1. + SH060449 BAL0604 -1. BAL0649 1. + SH060549 COST 186.96 TRAN0605 1. + SH060549 BAL0605 -1. BAL0649 1. + SH060649 COST 415.74 TRAN0606 1. + SH060649 BAL0652 -1. BAL0649 1. + SH060749 COST 164.82 TRAN0607 1. + SH060749 BAL0664 -1. BAL0649 1. + SH060849 COST 501.84 TRAN0608 1. + SH060849 BAL0683 -1. BAL0649 1. + SH060150 COST 296.43 TRAN0601 1. + SH060150 BAL0601 -1. BAL0650 1. + SH060250 COST 752.76 TRAN0602 1. + SH060250 BAL0602 -1. BAL0650 1. + SH060350 COST 302.58 TRAN0603 1. + SH060350 BAL0603 -1. BAL0650 1. + SH060450 COST 448.95 TRAN0604 1. + SH060450 BAL0604 -1. BAL0650 1. + SH060550 COST 289.05 TRAN0605 1. + SH060550 BAL0605 -1. BAL0650 1. + SH060750 COST 168.51 TRAN0607 1. + SH060750 BAL0664 -1. BAL0650 1. + SH060850 COST 499.38 TRAN0608 1. + SH060850 BAL0683 -1. BAL0650 1. + SH060151 COST 408.36 TRAN0601 1. + SH060151 BAL0601 -1. BAL0651 1. + SH060251 COST 676.5 TRAN0602 1. + SH060251 BAL0602 -1. BAL0651 1. + SH060351 COST 419.43 TRAN0603 1. + SH060351 BAL0603 -1. BAL0651 1. + SH060451 COST 415.74 TRAN0604 1. + SH060451 BAL0604 -1. BAL0651 1. + SH060551 COST 151.29 TRAN0605 1. + SH060551 BAL0605 -1. BAL0651 1. + SH060751 COST 121.77 TRAN0607 1. + SH060751 BAL0664 -1. BAL0651 1. + SH060851 COST 526.44 TRAN0608 1. + SH060851 BAL0683 -1. BAL0651 1. + SH060152 COST 137.76 TRAN0601 1. + SH060152 BAL0601 -1. BAL0652 1. + SH060252 COST 369. TRAN0602 1. + SH060252 BAL0602 -1. BAL0652 1. + SH060352 COST 100.86 TRAN0603 1. + SH060352 BAL0603 -1. BAL0652 1. + SH060452 COST 396.06 TRAN0604 1. + SH060452 BAL0604 -1. BAL0652 1. + SH060552 COST 362.85 TRAN0605 1. + SH060552 BAL0605 -1. BAL0652 1. + SH060852 COST 311.19 TRAN0608 1. + SH060852 BAL0683 -1. BAL0652 1. + SH060153 COST 441.57 TRAN0601 1. + SH060153 BAL0601 -1. BAL0653 1. + SH060253 COST 782.28 TRAN0602 1. + SH060253 BAL0602 -1. BAL0653 1. + SH060353 COST 399.75 TRAN0603 1. + SH060353 BAL0603 -1. BAL0653 1. + SH060453 COST 506.76 TRAN0604 1. + SH060453 BAL0604 -1. BAL0653 1. + SH060553 COST 226.32 TRAN0605 1. + SH060553 BAL0605 -1. BAL0653 1. + SH060653 COST 441.57 TRAN0606 1. + SH060653 BAL0652 -1. BAL0653 1. + SH060753 COST 179.58 TRAN0607 1. + SH060753 BAL0664 -1. BAL0653 1. + SH060853 COST 495.69 TRAN0608 1. + SH060853 BAL0683 -1. BAL0653 1. + SH060154 COST 227.55 TRAN0601 1. + SH060154 BAL0601 -1. BAL0654 1. + SH060254 COST 547.35 TRAN0602 1. + SH060254 BAL0602 -1. BAL0654 1. + SH060354 COST 266.91 TRAN0603 1. + SH060354 BAL0603 -1. BAL0654 1. + SH060454 COST 421.89 TRAN0604 1. + SH060454 BAL0604 -1. BAL0654 1. + SH060554 COST 261.99 TRAN0605 1. + SH060554 BAL0605 -1. BAL0654 1. + SH060654 COST 249.69 TRAN0606 1. + SH060654 BAL0652 -1. BAL0654 1. + SH060854 COST 494.46 TRAN0608 1. + SH060854 BAL0683 -1. BAL0654 1. + SH060155 COST 341.94 TRAN0601 1. + SH060155 BAL0601 -1. BAL0655 1. + SH060255 COST 589.17 TRAN0602 1. + SH060255 BAL0602 -1. BAL0655 1. + SH060355 COST 345.63 TRAN0603 1. + SH060355 BAL0603 -1. BAL0655 1. + SH060455 COST 361.62 TRAN0604 1. + SH060455 BAL0604 -1. BAL0655 1. + SH060555 COST 189.42 TRAN0605 1. + SH060555 BAL0605 -1. BAL0655 1. + SH060655 COST 356.7 TRAN0606 1. + SH060655 BAL0652 -1. BAL0655 1. + SH060755 COST 131.61 TRAN0607 1. + SH060755 BAL0664 -1. BAL0655 1. + SH060855 COST 361.62 TRAN0608 1. + SH060855 BAL0683 -1. BAL0655 1. + SH060156 COST 479.7 TRAN0601 1. + SH060156 BAL0601 -1. BAL0656 1. + SH060256 COST 712.17 TRAN0602 1. + SH060256 BAL0602 -1. BAL0656 1. + SH060356 COST 375.15 TRAN0603 1. + SH060356 BAL0603 -1. BAL0656 1. + SH060456 COST 448.95 TRAN0604 1. + SH060456 BAL0604 -1. BAL0656 1. + SH060556 COST 167.28 TRAN0605 1. + SH060556 BAL0605 -1. BAL0656 1. + SH060656 COST 416.97 TRAN0606 1. + SH060656 BAL0652 -1. BAL0656 1. + SH060756 COST 150.06 TRAN0607 1. + SH060756 BAL0664 -1. BAL0656 1. + SH060856 COST 439.11 TRAN0608 1. + SH060856 BAL0683 -1. BAL0656 1. + SH060157 COST 321.03 TRAN0601 1. + SH060157 BAL0601 -1. BAL0657 1. + SH060257 COST 639.6 TRAN0602 1. + SH060257 BAL0602 -1. BAL0657 1. + SH060357 COST 356.7 TRAN0603 1. + SH060357 BAL0603 -1. BAL0657 1. + SH060457 COST 287.82 TRAN0604 1. + SH060457 BAL0604 -1. BAL0657 1. + SH060557 COST 206.64 TRAN0605 1. + SH060557 BAL0605 -1. BAL0657 1. + SH060657 COST 392.37 TRAN0606 1. + SH060657 BAL0652 -1. BAL0657 1. + SH060757 COST 182.04 TRAN0607 1. + SH060757 BAL0664 -1. BAL0657 1. + SH060857 COST 284.13 TRAN0608 1. + SH060857 BAL0683 -1. BAL0657 1. + SH060158 COST 361.62 TRAN0601 1. + SH060158 BAL0601 -1. BAL0658 1. + SH060258 COST 640.83 TRAN0602 1. + SH060258 BAL0602 -1. BAL0658 1. + SH060358 COST 341.94 TRAN0603 1. + SH060358 BAL0603 -1. BAL0658 1. + SH060458 COST 421.89 TRAN0604 1. + SH060458 BAL0604 -1. BAL0658 1. + SH060558 COST 25.83 TRAN0605 1. + SH060558 BAL0605 -1. BAL0658 1. + SH060658 COST 400.98 TRAN0606 1. + SH060658 BAL0652 -1. BAL0658 1. + SH060758 COST 83.64 TRAN0607 1. + SH060758 BAL0664 -1. BAL0658 1. + SH060858 COST 312.42 TRAN0608 1. + SH060858 BAL0683 -1. BAL0658 1. + SH060159 COST 253.38 TRAN0601 1. + SH060159 BAL0601 -1. BAL0659 1. + SH060259 COST 612.54 TRAN0602 1. + SH060259 BAL0602 -1. BAL0659 1. + SH060359 COST 292.74 TRAN0603 1. + SH060359 BAL0603 -1. BAL0659 1. + SH060459 COST 300.12 TRAN0604 1. + SH060459 BAL0604 -1. BAL0659 1. + SH060559 COST 195.57 TRAN0605 1. + SH060559 BAL0605 -1. BAL0659 1. + SH060659 COST 365.31 TRAN0606 1. + SH060659 BAL0652 -1. BAL0659 1. + SH060759 COST 129.15 TRAN0607 1. + SH060759 BAL0664 -1. BAL0659 1. + SH060859 COST 313.65 TRAN0608 1. + SH060859 BAL0683 -1. BAL0659 1. + SH060160 COST 321.03 TRAN0601 1. + SH060160 BAL0601 -1. BAL0660 1. + SH060260 COST 676.5 TRAN0602 1. + SH060260 BAL0602 -1. BAL0660 1. + SH060360 COST 348.09 TRAN0603 1. + SH060360 BAL0603 -1. BAL0660 1. + SH060460 COST 383.76 TRAN0604 1. + SH060460 BAL0604 -1. BAL0660 1. + SH060560 COST 166.05 TRAN0605 1. + SH060560 BAL0605 -1. BAL0660 1. + SH060660 COST 397.29 TRAN0606 1. + SH060660 BAL0652 -1. BAL0660 1. + SH060760 COST 108.24 TRAN0607 1. + SH060760 BAL0664 -1. BAL0660 1. + SH060860 COST 367.77 TRAN0608 1. + SH060860 BAL0683 -1. BAL0660 1. + SH060163 COST 327.18 TRAN0601 1. + SH060163 BAL0601 -1. BAL0663 1. + SH060263 COST 607.62 TRAN0602 1. + SH060263 BAL0602 -1. BAL0663 1. + SH060363 COST 353.01 TRAN0603 1. + SH060363 BAL0603 -1. BAL0663 1. + SH060463 COST 453.87 TRAN0604 1. + SH060463 BAL0604 -1. BAL0663 1. + SH060563 COST 186.96 TRAN0605 1. + SH060563 BAL0605 -1. BAL0663 1. + SH060663 COST 387.45 TRAN0606 1. + SH060663 BAL0652 -1. BAL0663 1. + SH060763 COST 152.52 TRAN0607 1. + SH060763 BAL0664 -1. BAL0663 1. + SH060863 COST 492. TRAN0608 1. + SH060863 BAL0683 -1. BAL0663 1. + SH060164 COST 244.77 TRAN0601 1. + SH060164 BAL0601 -1. BAL0664 1. + SH060264 COST 646.98 TRAN0602 1. + SH060264 BAL0602 -1. BAL0664 1. + SH060364 COST 274.29 TRAN0603 1. + SH060364 BAL0603 -1. BAL0664 1. + SH060464 COST 413.28 TRAN0604 1. + SH060464 BAL0604 -1. BAL0664 1. + SH060564 COST 71.34 TRAN0605 1. + SH060564 BAL0605 -1. BAL0664 1. + SH060664 COST 389.91 TRAN0606 1. + SH060664 BAL0652 -1. BAL0664 1. + SH060864 COST 307.5 TRAN0608 1. + SH060864 BAL0683 -1. BAL0664 1. + SH060165 COST 531.36 TRAN0601 1. + SH060165 BAL0601 -1. BAL0665 1. + SH060265 COST 377.61 TRAN0602 1. + SH060265 BAL0602 -1. BAL0665 1. + SH060365 COST 621.15 TRAN0603 1. + SH060365 BAL0603 -1. BAL0665 1. + SH060465 COST 477.24 TRAN0604 1. + SH060465 BAL0604 -1. BAL0665 1. + SH060565 COST 742.92 TRAN0605 1. + SH060565 BAL0605 -1. BAL0665 1. + SH060865 COST 510.45 TRAN0608 1. + SH060865 BAL0683 -1. BAL0665 1. + SH060166 COST 688.8 TRAN0601 1. + SH060166 BAL0601 -1. BAL0666 1. + SH060266 COST 318.57 TRAN0602 1. + SH060266 BAL0602 -1. BAL0666 1. + SH060366 COST 710.94 TRAN0603 1. + SH060366 BAL0603 -1. BAL0666 1. + SH060466 COST 683.88 TRAN0604 1. + SH060466 BAL0604 -1. BAL0666 1. + SH060566 COST 873.3 TRAN0605 1. + SH060566 BAL0605 -1. BAL0666 1. + SH060866 COST 688.8 TRAN0608 1. + SH060866 BAL0683 -1. BAL0666 1. + SH060167 COST 522.75 TRAN0601 1. + SH060167 BAL0601 -1. BAL0667 1. + SH060267 COST 285.36 TRAN0602 1. + SH060267 BAL0602 -1. BAL0667 1. + SH060367 COST 606.39 TRAN0603 1. + SH060367 BAL0603 -1. BAL0667 1. + SH060467 COST 562.11 TRAN0604 1. + SH060467 BAL0604 -1. BAL0667 1. + SH060567 COST 742.92 TRAN0605 1. + SH060567 BAL0605 -1. BAL0667 1. + SH060867 COST 563.34 TRAN0608 1. + SH060867 BAL0683 -1. BAL0667 1. + SH060168 COST 730.62 TRAN0601 1. + SH060168 BAL0601 -1. BAL0668 1. + SH060268 COST 492. TRAN0602 1. + SH060268 BAL0602 -1. BAL0668 1. + SH060368 COST 688.8 TRAN0603 1. + SH060368 BAL0603 -1. BAL0668 1. + SH060468 COST 863.46 TRAN0604 1. + SH060468 BAL0604 -1. BAL0668 1. + SH060568 COST 1163.58 TRAN0605 1. + SH060568 BAL0605 -1. BAL0668 1. + SH060868 COST 923.73 TRAN0608 1. + SH060868 BAL0683 -1. BAL0668 1. + SH060169 COST 662.97 TRAN0601 1. + SH060169 BAL0601 -1. BAL0669 1. + SH060269 COST 271.83 TRAN0602 1. + SH060269 BAL0602 -1. BAL0669 1. + SH060369 COST 627.3 TRAN0603 1. + SH060369 BAL0603 -1. BAL0669 1. + SH060469 COST 765.06 TRAN0604 1. + SH060469 BAL0604 -1. BAL0669 1. + SH060569 COST 794.58 TRAN0605 1. + SH060569 BAL0605 -1. BAL0669 1. + SH060869 COST 809.34 TRAN0608 1. + SH060869 BAL0683 -1. BAL0669 1. + SH060171 COST 541.2 TRAN0601 1. + SH060171 BAL0601 -1. BAL0671 1. + SH060371 COST 644.52 TRAN0603 1. + SH060371 BAL0603 -1. BAL0671 1. + SH060471 COST 640.83 TRAN0604 1. + SH060471 BAL0604 -1. BAL0671 1. + SH060571 COST 714.63 TRAN0605 1. + SH060571 BAL0605 -1. BAL0671 1. + SH060671 COST 480.93 TRAN0606 1. + SH060671 BAL0652 -1. BAL0671 1. + SH060771 COST 865.92 TRAN0607 1. + SH060771 BAL0664 -1. BAL0671 1. + SH060871 COST 655.59 TRAN0608 1. + SH060871 BAL0683 -1. BAL0671 1. + SH060172 COST 722.01 TRAN0601 1. + SH060172 BAL0601 -1. BAL0672 1. + SH060272 COST 667.89 TRAN0602 1. + SH060272 BAL0602 -1. BAL0672 1. + SH060372 COST 758.91 TRAN0603 1. + SH060372 BAL0603 -1. BAL0672 1. + SH060472 COST 701.1 TRAN0604 1. + SH060472 BAL0604 -1. BAL0672 1. + SH060572 COST 938.49 TRAN0605 1. + SH060572 BAL0605 -1. BAL0672 1. + SH060872 COST 701.1 TRAN0608 1. + SH060872 BAL0683 -1. BAL0672 1. + SH060173 COST 479.7 TRAN0601 1. + SH060173 BAL0601 -1. BAL0673 1. + SH060273 COST 448.95 TRAN0602 1. + SH060273 BAL0602 -1. BAL0673 1. + SH060373 COST 415.74 TRAN0603 1. + SH060373 BAL0603 -1. BAL0673 1. + SH060473 COST 562.11 TRAN0604 1. + SH060473 BAL0604 -1. BAL0673 1. + SH060573 COST 693.72 TRAN0605 1. + SH060573 BAL0605 -1. BAL0673 1. + SH060673 COST 375.15 TRAN0606 1. + SH060673 BAL0652 -1. BAL0673 1. + SH060873 COST 619.92 TRAN0608 1. + SH060873 BAL0683 -1. BAL0673 1. + SH060174 COST 674.04 TRAN0601 1. + SH060174 BAL0601 -1. BAL0674 1. + SH060274 COST 258.3 TRAN0602 1. + SH060274 BAL0602 -1. BAL0674 1. + SH060374 COST 701.1 TRAN0603 1. + SH060374 BAL0603 -1. BAL0674 1. + SH060474 COST 783.51 TRAN0604 1. + SH060474 BAL0604 -1. BAL0674 1. + SH060574 COST 901.59 TRAN0605 1. + SH060574 BAL0605 -1. BAL0674 1. + SH060874 COST 761.37 TRAN0608 1. + SH060874 BAL0683 -1. BAL0674 1. + SH060275 COST 681.42 TRAN0602 1. + SH060275 BAL0602 -1. BAL0675 1. + SH060176 COST 568.26 TRAN0601 1. + SH060176 BAL0601 -1. BAL0676 1. + SH060276 COST 493.23 TRAN0602 1. + SH060276 BAL0602 -1. BAL0676 1. + SH060376 COST 495.69 TRAN0603 1. + SH060376 BAL0603 -1. BAL0676 1. + SH060476 COST 774.9 TRAN0604 1. + SH060476 BAL0604 -1. BAL0676 1. + SH060576 COST 774.9 TRAN0605 1. + SH060576 BAL0605 -1. BAL0676 1. + SH060676 COST 468.63 TRAN0606 1. + SH060676 BAL0652 -1. BAL0676 1. + SH060876 COST 955.71 TRAN0608 1. + SH060876 BAL0683 -1. BAL0676 1. + SH060177 COST 535.05 TRAN0601 1. + SH060177 BAL0601 -1. BAL0677 1. + SH060277 COST 334.56 TRAN0602 1. + SH060277 BAL0602 -1. BAL0677 1. + SH060377 COST 567.03 TRAN0603 1. + SH060377 BAL0603 -1. BAL0677 1. + SH060477 COST 493.23 TRAN0604 1. + SH060477 BAL0604 -1. BAL0677 1. + SH060577 COST 688.8 TRAN0605 1. + SH060577 BAL0605 -1. BAL0677 1. + SH060877 COST 393.6 TRAN0608 1. + SH060877 BAL0683 -1. BAL0677 1. + SH060178 COST 936.03 TRAN0601 1. + SH060178 BAL0601 -1. BAL0678 1. + SH060278 COST 543.66 TRAN0602 1. + SH060278 BAL0602 -1. BAL0678 1. + SH060378 COST 963.09 TRAN0603 1. + SH060378 BAL0603 -1. BAL0678 1. + SH060478 COST 842.55 TRAN0604 1. + SH060478 BAL0604 -1. BAL0678 1. + SH060578 COST 1081.17 TRAN0605 1. + SH060578 BAL0605 -1. BAL0678 1. + SH060878 COST 942.18 TRAN0608 1. + SH060878 BAL0683 -1. BAL0678 1. + SH060179 COST 879.45 TRAN0601 1. + SH060179 BAL0601 -1. BAL0679 1. + SH060279 COST 330.87 TRAN0602 1. + SH060279 BAL0602 -1. BAL0679 1. + SH060379 COST 849.93 TRAN0603 1. + SH060379 BAL0603 -1. BAL0679 1. + SH060479 COST 885.6 TRAN0604 1. + SH060479 BAL0604 -1. BAL0679 1. + SH060879 COST 868.38 TRAN0608 1. + SH060879 BAL0683 -1. BAL0679 1. + SH060180 COST 389.91 TRAN0601 1. + SH060180 BAL0601 -1. BAL0680 1. + SH060280 COST 485.85 TRAN0602 1. + SH060280 BAL0602 -1. BAL0680 1. + SH060380 COST 537.51 TRAN0603 1. + SH060380 BAL0603 -1. BAL0680 1. + SH060480 COST 460.02 TRAN0604 1. + SH060480 BAL0604 -1. BAL0680 1. + SH060580 COST 621.15 TRAN0605 1. + SH060580 BAL0605 -1. BAL0680 1. + SH060880 COST 295.2 TRAN0608 1. + SH060880 BAL0683 -1. BAL0680 1. + SH060182 COST 715.86 TRAN0601 1. + SH060182 BAL0601 -1. BAL0682 1. + SH060282 COST 404.67 TRAN0602 1. + SH060282 BAL0602 -1. BAL0682 1. + SH060382 COST 805.65 TRAN0603 1. + SH060382 BAL0603 -1. BAL0682 1. + SH060482 COST 868.38 TRAN0604 1. + SH060482 BAL0604 -1. BAL0682 1. + SH060582 COST 1410.81 TRAN0605 1. + SH060582 BAL0605 -1. BAL0682 1. + SH060882 COST 963.09 TRAN0608 1. + SH060882 BAL0683 -1. BAL0682 1. + SH060183 COST 217.71 TRAN0601 1. + SH060183 BAL0601 -1. BAL0683 1. + SH060283 COST 639.6 TRAN0602 1. + SH060283 BAL0602 -1. BAL0683 1. + SH060383 COST 334.56 TRAN0603 1. + SH060383 BAL0603 -1. BAL0683 1. + SH060483 COST 72.57 TRAN0604 1. + SH060483 BAL0604 -1. BAL0683 1. + SH060583 COST 426.81 TRAN0605 1. + SH060583 BAL0605 -1. BAL0683 1. + SH060683 COST 305.04 TRAN0606 1. + SH060683 BAL0652 -1. BAL0683 1. + SH060184 COST 373.92 TRAN0601 1. + SH060184 BAL0601 -1. BAL0684 1. + SH060284 COST 236.16 TRAN0602 1. + SH060284 BAL0602 -1. BAL0684 1. + SH060384 COST 447.72 TRAN0603 1. + SH060384 BAL0603 -1. BAL0684 1. + SH060484 COST 455.1 TRAN0604 1. + SH060484 BAL0604 -1. BAL0684 1. + SH060584 COST 602.7 TRAN0605 1. + SH060584 BAL0605 -1. BAL0684 1. + SH060684 COST 375.15 TRAN0606 1. + SH060684 BAL0652 -1. BAL0684 1. + SH060884 COST 477.24 TRAN0608 1. + SH060884 BAL0683 -1. BAL0684 1. + SH070201 COST 323.73 TRAN0702 1. + SH070201 BAL0702 -1. BAL0701 1. + SH070301 COST 124.26 TRAN0703 1. + SH070301 BAL0703 -1. BAL0701 1. + SH070401 COST 226.72 TRAN0704 1. + SH070401 BAL0704 -1. BAL0701 1. + SH070501 COST 258.33 TRAN0705 1. + SH070501 BAL0705 -1. BAL0701 1. + SH070601 COST 137.34 TRAN0706 1. + SH070601 BAL0752 -1. BAL0701 1. + SH070801 COST 155.87 TRAN0708 1. + SH070801 BAL0783 -1. BAL0701 1. + SH070102 COST 516.66 TRAN0701 1. + SH070102 BAL0701 -1. BAL0702 1. + SH070302 COST 454.53 TRAN0703 1. + SH070302 BAL0703 -1. BAL0702 1. + SH070402 COST 667.08 TRAN0704 1. + SH070402 BAL0704 -1. BAL0702 1. + SH070502 COST 807.69 TRAN0705 1. + SH070502 BAL0705 -1. BAL0702 1. + SH070602 COST 412.02 TRAN0706 1. + SH070602 BAL0752 -1. BAL0702 1. + SH070802 COST 567.89 TRAN0708 1. + SH070802 BAL0783 -1. BAL0702 1. + SH070103 COST 267.05 TRAN0701 1. + SH070103 BAL0701 -1. BAL0703 1. + SH070203 COST 516.66 TRAN0702 1. + SH070203 BAL0702 -1. BAL0703 1. + SH070403 COST 400.03 TRAN0704 1. + SH070403 BAL0704 -1. BAL0703 1. + SH070503 COST 309.56 TRAN0705 1. + SH070503 BAL0705 -1. BAL0703 1. + SH070603 COST 98.1 TRAN0706 1. + SH070603 BAL0752 -1. BAL0703 1. + SH070803 COST 277.95 TRAN0708 1. + SH070803 BAL0783 -1. BAL0703 1. + SH070104 COST 189.66 TRAN0701 1. + SH070104 BAL0701 -1. BAL0704 1. + SH070204 COST 548.27 TRAN0702 1. + SH070204 BAL0702 -1. BAL0704 1. + SH070304 COST 264.87 TRAN0703 1. + SH070304 BAL0703 -1. BAL0704 1. + SH070504 COST 347.71 TRAN0705 1. + SH070504 BAL0705 -1. BAL0704 1. + SH070604 COST 267.05 TRAN0706 1. + SH070604 BAL0752 -1. BAL0704 1. + SH070704 COST 293.21 TRAN0707 1. + SH070704 BAL0764 -1. BAL0704 1. + SH070804 COST 63.22 TRAN0708 1. + SH070804 BAL0783 -1. BAL0704 1. + SH070105 COST 294.3 TRAN0701 1. + SH070105 BAL0701 -1. BAL0705 1. + SH070205 COST 562.44 TRAN0702 1. + SH070205 BAL0702 -1. BAL0705 1. + SH070305 COST 309.56 TRAN0703 1. + SH070305 BAL0703 -1. BAL0705 1. + SH070405 COST 310.65 TRAN0704 1. + SH070405 BAL0704 -1. BAL0705 1. + SH070605 COST 355.34 TRAN0706 1. + SH070605 BAL0752 -1. BAL0705 1. + SH070705 COST 364.06 TRAN0707 1. + SH070705 BAL0764 -1. BAL0705 1. + SH070805 COST 295.39 TRAN0708 1. + SH070805 BAL0783 -1. BAL0705 1. + SH070106 COST 216.91 TRAN0701 1. + SH070106 BAL0701 -1. BAL0706 1. + SH070206 COST 454.53 TRAN0702 1. + SH070206 BAL0702 -1. BAL0706 1. + SH070306 COST 232.17 TRAN0703 1. + SH070306 BAL0703 -1. BAL0706 1. + SH070406 COST 238.71 TRAN0704 1. + SH070406 BAL0704 -1. BAL0706 1. + SH070506 COST 274.68 TRAN0705 1. + SH070506 BAL0705 -1. BAL0706 1. + SH070606 COST 224.54 TRAN0706 1. + SH070606 BAL0752 -1. BAL0706 1. + SH070706 COST 218. TRAN0707 1. + SH070706 BAL0764 -1. BAL0706 1. + SH070806 COST 164.59 TRAN0708 1. + SH070806 BAL0783 -1. BAL0706 1. + SH070107 COST 22.89 TRAN0701 1. + SH070107 BAL0701 -1. BAL0707 1. + SH070207 COST 318.28 TRAN0702 1. + SH070207 BAL0702 -1. BAL0707 1. + SH070307 COST 135.16 TRAN0703 1. + SH070307 BAL0703 -1. BAL0707 1. + SH070407 COST 225.63 TRAN0704 1. + SH070407 BAL0704 -1. BAL0707 1. + SH070507 COST 249.61 TRAN0705 1. + SH070507 BAL0705 -1. BAL0707 1. + SH070607 COST 136.25 TRAN0706 1. + SH070607 BAL0752 -1. BAL0707 1. + SH070707 COST 252.88 TRAN0707 1. + SH070707 BAL0764 -1. BAL0707 1. + SH070807 COST 168.95 TRAN0708 1. + SH070807 BAL0783 -1. BAL0707 1. + SH070108 COST 71.94 TRAN0701 1. + SH070108 BAL0701 -1. BAL0708 1. + SH070208 COST 409.84 TRAN0702 1. + SH070208 BAL0702 -1. BAL0708 1. + SH070308 COST 153.69 TRAN0703 1. + SH070308 BAL0703 -1. BAL0708 1. + SH070408 COST 269.23 TRAN0704 1. + SH070408 BAL0704 -1. BAL0708 1. + SH070508 COST 198.38 TRAN0705 1. + SH070508 BAL0705 -1. BAL0708 1. + SH070608 COST 180.94 TRAN0706 1. + SH070608 BAL0752 -1. BAL0708 1. + SH070808 COST 203.83 TRAN0708 1. + SH070808 BAL0783 -1. BAL0708 1. + SH070109 COST 150.42 TRAN0701 1. + SH070109 BAL0701 -1. BAL0709 1. + SH070209 COST 417.47 TRAN0702 1. + SH070209 BAL0702 -1. BAL0709 1. + SH070309 COST 183.12 TRAN0703 1. + SH070309 BAL0703 -1. BAL0709 1. + SH070409 COST 275.77 TRAN0704 1. + SH070409 BAL0704 -1. BAL0709 1. + SH070509 COST 260.51 TRAN0705 1. + SH070509 BAL0705 -1. BAL0709 1. + SH070709 COST 213.64 TRAN0707 1. + SH070709 BAL0764 -1. BAL0709 1. + SH070809 COST 211.46 TRAN0708 1. + SH070809 BAL0783 -1. BAL0709 1. + SH070110 COST 269.23 TRAN0701 1. + SH070110 BAL0701 -1. BAL0710 1. + SH070210 COST 172.22 TRAN0702 1. + SH070210 BAL0702 -1. BAL0710 1. + SH070310 COST 261.6 TRAN0703 1. + SH070310 BAL0703 -1. BAL0710 1. + SH070410 COST 391.31 TRAN0704 1. + SH070410 BAL0704 -1. BAL0710 1. + SH070510 COST 419.65 TRAN0705 1. + SH070510 BAL0705 -1. BAL0710 1. + SH070610 COST 245.25 TRAN0706 1. + SH070610 BAL0752 -1. BAL0710 1. + SH070810 COST 332.45 TRAN0708 1. + SH070810 BAL0783 -1. BAL0710 1. + SH070111 COST 115.54 TRAN0701 1. + SH070111 BAL0701 -1. BAL0711 1. + SH070211 COST 539.55 TRAN0702 1. + SH070211 BAL0702 -1. BAL0711 1. + SH070311 COST 270.32 TRAN0703 1. + SH070311 BAL0703 -1. BAL0711 1. + SH070411 COST 151.51 TRAN0704 1. + SH070411 BAL0704 -1. BAL0711 1. + SH070511 COST 371.69 TRAN0705 1. + SH070511 BAL0705 -1. BAL0711 1. + SH070611 COST 213.64 TRAN0706 1. + SH070611 BAL0752 -1. BAL0711 1. + SH070811 COST 111.18 TRAN0708 1. + SH070811 BAL0783 -1. BAL0711 1. + SH070112 COST 95.92 TRAN0701 1. + SH070112 BAL0701 -1. BAL0712 1. + SH070212 COST 369.51 TRAN0702 1. + SH070212 BAL0702 -1. BAL0712 1. + SH070312 COST 159.14 TRAN0703 1. + SH070312 BAL0703 -1. BAL0712 1. + SH070412 COST 218. TRAN0704 1. + SH070412 BAL0704 -1. BAL0712 1. + SH070512 COST 291.03 TRAN0705 1. + SH070512 BAL0705 -1. BAL0712 1. + SH070612 COST 158.05 TRAN0706 1. + SH070612 BAL0752 -1. BAL0712 1. + SH070812 COST 159.14 TRAN0708 1. + SH070812 BAL0783 -1. BAL0712 1. + SH070114 COST 154.78 TRAN0701 1. + SH070114 BAL0701 -1. BAL0714 1. + SH070214 COST 449.08 TRAN0702 1. + SH070214 BAL0702 -1. BAL0714 1. + SH070314 COST 213.64 TRAN0703 1. + SH070314 BAL0703 -1. BAL0714 1. + SH070414 COST 216.91 TRAN0704 1. + SH070414 BAL0704 -1. BAL0714 1. + SH070514 COST 383.68 TRAN0705 1. + SH070514 BAL0705 -1. BAL0714 1. + SH070614 COST 204.92 TRAN0706 1. + SH070614 BAL0752 -1. BAL0714 1. + SH070814 COST 137.34 TRAN0708 1. + SH070814 BAL0783 -1. BAL0714 1. + SH070115 COST 330.27 TRAN0701 1. + SH070115 BAL0701 -1. BAL0715 1. + SH070215 COST 173.31 TRAN0702 1. + SH070215 BAL0702 -1. BAL0715 1. + SH070315 COST 255.06 TRAN0703 1. + SH070315 BAL0703 -1. BAL0715 1. + SH070415 COST 518.84 TRAN0704 1. + SH070415 BAL0704 -1. BAL0715 1. + SH070515 COST 433.82 TRAN0705 1. + SH070515 BAL0705 -1. BAL0715 1. + SH070615 COST 204.92 TRAN0706 1. + SH070615 BAL0752 -1. BAL0715 1. + SH070815 COST 406.57 TRAN0708 1. + SH070815 BAL0783 -1. BAL0715 1. + SH070116 COST 172.22 TRAN0701 1. + SH070116 BAL0701 -1. BAL0716 1. + SH070216 COST 305.2 TRAN0702 1. + SH070216 BAL0702 -1. BAL0716 1. + SH070316 COST 247.43 TRAN0703 1. + SH070316 BAL0703 -1. BAL0716 1. + SH070416 COST 312.83 TRAN0704 1. + SH070416 BAL0704 -1. BAL0716 1. + SH070516 COST 347.71 TRAN0705 1. + SH070516 BAL0705 -1. BAL0716 1. + SH070616 COST 142.79 TRAN0706 1. + SH070616 BAL0752 -1. BAL0716 1. + SH070816 COST 223.45 TRAN0708 1. + SH070816 BAL0783 -1. BAL0716 1. + SH070117 COST 164.59 TRAN0701 1. + SH070117 BAL0701 -1. BAL0717 1. + SH070217 COST 550.45 TRAN0702 1. + SH070217 BAL0702 -1. BAL0717 1. + SH070317 COST 298.66 TRAN0703 1. + SH070317 BAL0703 -1. BAL0717 1. + SH070417 COST 62.13 TRAN0704 1. + SH070417 BAL0704 -1. BAL0717 1. + SH070517 COST 324.82 TRAN0705 1. + SH070517 BAL0705 -1. BAL0717 1. + SH070717 COST 321.55 TRAN0707 1. + SH070717 BAL0764 -1. BAL0717 1. + SH070817 COST 29.43 TRAN0708 1. + SH070817 BAL0783 -1. BAL0717 1. + SH070118 COST 190.75 TRAN0701 1. + SH070118 BAL0701 -1. BAL0718 1. + SH070218 COST 393.49 TRAN0702 1. + SH070218 BAL0702 -1. BAL0718 1. + SH070318 COST 294.3 TRAN0703 1. + SH070318 BAL0703 -1. BAL0718 1. + SH070418 COST 167.86 TRAN0704 1. + SH070418 BAL0704 -1. BAL0718 1. + SH070518 COST 443.63 TRAN0705 1. + SH070518 BAL0705 -1. BAL0718 1. + SH070618 COST 383.68 TRAN0706 1. + SH070618 BAL0752 -1. BAL0718 1. + SH070818 COST 112.27 TRAN0708 1. + SH070818 BAL0783 -1. BAL0718 1. + SH070119 COST 270.32 TRAN0701 1. + SH070119 BAL0701 -1. BAL0719 1. + SH070219 COST 748.83 TRAN0702 1. + SH070219 BAL0702 -1. BAL0719 1. + SH070319 COST 345.53 TRAN0703 1. + SH070319 BAL0703 -1. BAL0719 1. + SH070419 COST 173.31 TRAN0704 1. + SH070419 BAL0704 -1. BAL0719 1. + SH070519 COST 226.72 TRAN0705 1. + SH070519 BAL0705 -1. BAL0719 1. + SH070619 COST 376.05 TRAN0706 1. + SH070619 BAL0752 -1. BAL0719 1. + SH070819 COST 107.91 TRAN0708 1. + SH070819 BAL0783 -1. BAL0719 1. + SH070120 COST 223.45 TRAN0701 1. + SH070120 BAL0701 -1. BAL0720 1. + SH070220 COST 744.47 TRAN0702 1. + SH070220 BAL0702 -1. BAL0720 1. + SH070320 COST 323.73 TRAN0703 1. + SH070320 BAL0703 -1. BAL0720 1. + SH070420 COST 123.17 TRAN0704 1. + SH070420 BAL0704 -1. BAL0720 1. + SH070520 COST 317.19 TRAN0705 1. + SH070520 BAL0705 -1. BAL0720 1. + SH070820 COST 137.34 TRAN0708 1. + SH070820 BAL0783 -1. BAL0720 1. + SH070121 COST 439.27 TRAN0701 1. + SH070121 BAL0701 -1. BAL0721 1. + SH070221 COST 401.12 TRAN0702 1. + SH070221 BAL0702 -1. BAL0721 1. + SH070321 COST 486.14 TRAN0703 1. + SH070321 BAL0703 -1. BAL0721 1. + SH070421 COST 348.8 TRAN0704 1. + SH070421 BAL0704 -1. BAL0721 1. + SH070521 COST 599.5 TRAN0705 1. + SH070521 BAL0705 -1. BAL0721 1. + SH070821 COST 348.8 TRAN0708 1. + SH070821 BAL0783 -1. BAL0721 1. + SH070122 COST 270.32 TRAN0701 1. + SH070122 BAL0701 -1. BAL0722 1. + SH070222 COST 630.02 TRAN0702 1. + SH070222 BAL0702 -1. BAL0722 1. + SH070322 COST 325.91 TRAN0703 1. + SH070322 BAL0703 -1. BAL0722 1. + SH070422 COST 244.16 TRAN0704 1. + SH070422 BAL0704 -1. BAL0722 1. + SH070522 COST 195.11 TRAN0705 1. + SH070522 BAL0705 -1. BAL0722 1. + SH070622 COST 337.9 TRAN0706 1. + SH070622 BAL0752 -1. BAL0722 1. + SH070822 COST 151.51 TRAN0708 1. + SH070822 BAL0783 -1. BAL0722 1. + SH070123 COST 255.06 TRAN0701 1. + SH070123 BAL0701 -1. BAL0723 1. + SH070223 COST 589.69 TRAN0702 1. + SH070223 BAL0702 -1. BAL0723 1. + SH070323 COST 312.83 TRAN0703 1. + SH070323 BAL0703 -1. BAL0723 1. + SH070423 COST 182.03 TRAN0704 1. + SH070423 BAL0704 -1. BAL0723 1. + SH070523 COST 180.94 TRAN0705 1. + SH070523 BAL0705 -1. BAL0723 1. + SH070823 COST 151.51 TRAN0708 1. + SH070823 BAL0783 -1. BAL0723 1. + SH070124 COST 1565.24 TRAN0701 1. + SH070124 BAL0701 -1. BAL0724 1. + SH070125 COST 421.83 TRAN0701 1. + SH070125 BAL0701 -1. BAL0725 1. + SH070225 COST 465.43 TRAN0702 1. + SH070225 BAL0702 -1. BAL0725 1. + SH070325 COST 556.99 TRAN0703 1. + SH070325 BAL0703 -1. BAL0725 1. + SH070425 COST 379.32 TRAN0704 1. + SH070425 BAL0704 -1. BAL0725 1. + SH070525 COST 616.94 TRAN0705 1. + SH070525 BAL0705 -1. BAL0725 1. + SH070625 COST 439.27 TRAN0706 1. + SH070625 BAL0752 -1. BAL0725 1. + SH070825 COST 332.45 TRAN0708 1. + SH070825 BAL0783 -1. BAL0725 1. + SH070426 COST 294.3 TRAN0704 1. + SH070426 BAL0704 -1. BAL0726 1. + SH070127 COST 255.06 TRAN0701 1. + SH070127 BAL0701 -1. BAL0727 1. + SH070227 COST 309.56 TRAN0702 1. + SH070227 BAL0702 -1. BAL0727 1. + SH070327 COST 315.01 TRAN0703 1. + SH070327 BAL0703 -1. BAL0727 1. + SH070427 COST 365.15 TRAN0704 1. + SH070427 BAL0704 -1. BAL0727 1. + SH070527 COST 412.02 TRAN0705 1. + SH070527 BAL0705 -1. BAL0727 1. + SH070627 COST 292.12 TRAN0706 1. + SH070627 BAL0752 -1. BAL0727 1. + SH070827 COST 274.68 TRAN0708 1. + SH070827 BAL0783 -1. BAL0727 1. + SH070128 COST 264.87 TRAN0701 1. + SH070128 BAL0701 -1. BAL0728 1. + SH070228 COST 620.21 TRAN0702 1. + SH070228 BAL0702 -1. BAL0728 1. + SH070328 COST 322.64 TRAN0703 1. + SH070328 BAL0703 -1. BAL0728 1. + SH070428 COST 321.55 TRAN0704 1. + SH070428 BAL0704 -1. BAL0728 1. + SH070528 COST 111.18 TRAN0705 1. + SH070528 BAL0705 -1. BAL0728 1. + SH070628 COST 284.49 TRAN0706 1. + SH070628 BAL0752 -1. BAL0728 1. + SH070728 COST 116.63 TRAN0707 1. + SH070728 BAL0764 -1. BAL0728 1. + SH070828 COST 276.86 TRAN0708 1. + SH070828 BAL0783 -1. BAL0728 1. + SH070129 COST 243.07 TRAN0701 1. + SH070129 BAL0701 -1. BAL0729 1. + SH070229 COST 505.76 TRAN0702 1. + SH070229 BAL0702 -1. BAL0729 1. + SH070329 COST 262.69 TRAN0703 1. + SH070329 BAL0703 -1. BAL0729 1. + SH070429 COST 216.91 TRAN0704 1. + SH070429 BAL0704 -1. BAL0729 1. + SH070529 COST 468.7 TRAN0705 1. + SH070529 BAL0705 -1. BAL0729 1. + SH070629 COST 284.49 TRAN0706 1. + SH070629 BAL0752 -1. BAL0729 1. + SH070829 COST 156.96 TRAN0708 1. + SH070829 BAL0783 -1. BAL0729 1. + SH070130 COST 507.94 TRAN0701 1. + SH070130 BAL0701 -1. BAL0730 1. + SH070230 COST 475.24 TRAN0702 1. + SH070230 BAL0702 -1. BAL0730 1. + SH070330 COST 570.07 TRAN0703 1. + SH070330 BAL0703 -1. BAL0730 1. + SH070430 COST 331.36 TRAN0704 1. + SH070430 BAL0704 -1. BAL0730 1. + SH070530 COST 486.14 TRAN0705 1. + SH070530 BAL0705 -1. BAL0730 1. + SH070830 COST 416.38 TRAN0708 1. + SH070830 BAL0783 -1. BAL0730 1. + SH070131 COST 120.99 TRAN0701 1. + SH070131 BAL0701 -1. BAL0731 1. + SH070231 COST 382.59 TRAN0702 1. + SH070231 BAL0702 -1. BAL0731 1. + SH070331 COST 119.9 TRAN0703 1. + SH070331 BAL0703 -1. BAL0731 1. + SH070431 COST 275.77 TRAN0704 1. + SH070431 BAL0704 -1. BAL0731 1. + SH070531 COST 334.63 TRAN0705 1. + SH070531 BAL0705 -1. BAL0731 1. + SH070631 COST 122.08 TRAN0706 1. + SH070631 BAL0752 -1. BAL0731 1. + SH070831 COST 243.07 TRAN0708 1. + SH070831 BAL0783 -1. BAL0731 1. + SH070132 COST 325.91 TRAN0701 1. + SH070132 BAL0701 -1. BAL0732 1. + SH070232 COST 521.02 TRAN0702 1. + SH070232 BAL0702 -1. BAL0732 1. + SH070332 COST 461.07 TRAN0703 1. + SH070332 BAL0703 -1. BAL0732 1. + SH070432 COST 171.13 TRAN0704 1. + SH070432 BAL0704 -1. BAL0732 1. + SH070532 COST 427.28 TRAN0705 1. + SH070532 BAL0705 -1. BAL0732 1. + SH070832 COST 196.2 TRAN0708 1. + SH070832 BAL0783 -1. BAL0732 1. + SH070133 COST 537.37 TRAN0701 1. + SH070133 BAL0701 -1. BAL0733 1. + SH070233 COST 436. TRAN0702 1. + SH070233 BAL0702 -1. BAL0733 1. + SH070333 COST 591.87 TRAN0703 1. + SH070333 BAL0703 -1. BAL0733 1. + SH070433 COST 485.05 TRAN0704 1. + SH070433 BAL0704 -1. BAL0733 1. + SH070533 COST 687.79 TRAN0705 1. + SH070533 BAL0705 -1. BAL0733 1. + SH070833 COST 415.29 TRAN0708 1. + SH070833 BAL0783 -1. BAL0733 1. + SH070134 COST 420.74 TRAN0701 1. + SH070134 BAL0701 -1. BAL0734 1. + SH070234 COST 713.95 TRAN0702 1. + SH070234 BAL0702 -1. BAL0734 1. + SH070334 COST 548.27 TRAN0703 1. + SH070334 BAL0703 -1. BAL0734 1. + SH070434 COST 229.99 TRAN0704 1. + SH070434 BAL0704 -1. BAL0734 1. + SH070534 COST 480.69 TRAN0705 1. + SH070534 BAL0705 -1. BAL0734 1. + SH070834 COST 286.67 TRAN0708 1. + SH070834 BAL0783 -1. BAL0734 1. + SH070135 COST 502.49 TRAN0701 1. + SH070135 BAL0701 -1. BAL0735 1. + SH070235 COST 485.05 TRAN0702 1. + SH070235 BAL0702 -1. BAL0735 1. + SH070335 COST 410.93 TRAN0703 1. + SH070335 BAL0703 -1. BAL0735 1. + SH070435 COST 132.98 TRAN0704 1. + SH070435 BAL0704 -1. BAL0735 1. + SH070535 COST 469.79 TRAN0705 1. + SH070535 BAL0705 -1. BAL0735 1. + SH070835 COST 256.15 TRAN0708 1. + SH070835 BAL0783 -1. BAL0735 1. + SH070136 COST 223.45 TRAN0701 1. + SH070136 BAL0701 -1. BAL0736 1. + SH070236 COST 488.32 TRAN0702 1. + SH070236 BAL0702 -1. BAL0736 1. + SH070336 COST 115.54 TRAN0703 1. + SH070336 BAL0703 -1. BAL0736 1. + SH070436 COST 403.3 TRAN0704 1. + SH070436 BAL0704 -1. BAL0736 1. + SH070536 COST 377.14 TRAN0705 1. + SH070536 BAL0705 -1. BAL0736 1. + SH070636 COST 119.9 TRAN0706 1. + SH070636 BAL0752 -1. BAL0736 1. + SH070836 COST 349.89 TRAN0708 1. + SH070836 BAL0783 -1. BAL0736 1. + SH070137 COST 100.28 TRAN0701 1. + SH070137 BAL0701 -1. BAL0737 1. + SH070237 COST 372.78 TRAN0702 1. + SH070237 BAL0702 -1. BAL0737 1. + SH070337 COST 172.22 TRAN0703 1. + SH070337 BAL0703 -1. BAL0737 1. + SH070437 COST 331.36 TRAN0704 1. + SH070437 BAL0704 -1. BAL0737 1. + SH070537 COST 198.38 TRAN0705 1. + SH070537 BAL0705 -1. BAL0737 1. + SH070637 COST 211.46 TRAN0706 1. + SH070637 BAL0752 -1. BAL0737 1. + SH070837 COST 274.68 TRAN0708 1. + SH070837 BAL0783 -1. BAL0737 1. + SH070138 COST 148.24 TRAN0701 1. + SH070138 BAL0701 -1. BAL0738 1. + SH070238 COST 265.96 TRAN0702 1. + SH070238 BAL0702 -1. BAL0738 1. + SH070338 COST 103.55 TRAN0703 1. + SH070338 BAL0703 -1. BAL0738 1. + SH070438 COST 335.72 TRAN0704 1. + SH070438 BAL0704 -1. BAL0738 1. + SH070538 COST 303.02 TRAN0705 1. + SH070538 BAL0705 -1. BAL0738 1. + SH070638 COST 42.51 TRAN0706 1. + SH070638 BAL0752 -1. BAL0738 1. + SH070738 COST 235.44 TRAN0707 1. + SH070738 BAL0764 -1. BAL0738 1. + SH070838 COST 258.33 TRAN0708 1. + SH070838 BAL0783 -1. BAL0738 1. + SH070139 COST 141.7 TRAN0701 1. + SH070139 BAL0701 -1. BAL0739 1. + SH070239 COST 369.51 TRAN0702 1. + SH070239 BAL0702 -1. BAL0739 1. + SH070339 COST 174.4 TRAN0703 1. + SH070339 BAL0703 -1. BAL0739 1. + SH070439 COST 271.41 TRAN0704 1. + SH070439 BAL0704 -1. BAL0739 1. + SH070539 COST 467.61 TRAN0705 1. + SH070539 BAL0705 -1. BAL0739 1. + SH070639 COST 222.36 TRAN0706 1. + SH070639 BAL0752 -1. BAL0739 1. + SH070839 COST 183.12 TRAN0708 1. + SH070839 BAL0783 -1. BAL0739 1. + SH070140 COST 179.85 TRAN0701 1. + SH070140 BAL0701 -1. BAL0740 1. + SH070240 COST 412.02 TRAN0702 1. + SH070240 BAL0702 -1. BAL0740 1. + SH070340 COST 112.27 TRAN0703 1. + SH070340 BAL0703 -1. BAL0740 1. + SH070440 COST 323.73 TRAN0704 1. + SH070440 BAL0704 -1. BAL0740 1. + SH070540 COST 240.89 TRAN0705 1. + SH070540 BAL0705 -1. BAL0740 1. + SH070640 COST 142.79 TRAN0706 1. + SH070640 BAL0752 -1. BAL0740 1. + SH070840 COST 298.66 TRAN0708 1. + SH070840 BAL0783 -1. BAL0740 1. + SH070141 COST 213.64 TRAN0701 1. + SH070141 BAL0701 -1. BAL0741 1. + SH070241 COST 327. TRAN0702 1. + SH070241 BAL0702 -1. BAL0741 1. + SH070341 COST 163.5 TRAN0703 1. + SH070341 BAL0703 -1. BAL0741 1. + SH070441 COST 353.16 TRAN0704 1. + SH070441 BAL0704 -1. BAL0741 1. + SH070541 COST 401.12 TRAN0705 1. + SH070541 BAL0705 -1. BAL0741 1. + SH070641 COST 109. TRAN0706 1. + SH070641 BAL0752 -1. BAL0741 1. + SH070841 COST 325.91 TRAN0708 1. + SH070841 BAL0783 -1. BAL0741 1. + SH070142 COST 98.1 TRAN0701 1. + SH070142 BAL0701 -1. BAL0742 1. + SH070242 COST 451.26 TRAN0702 1. + SH070242 BAL0702 -1. BAL0742 1. + SH070342 COST 174.4 TRAN0703 1. + SH070342 BAL0703 -1. BAL0742 1. + SH070442 COST 212.55 TRAN0704 1. + SH070442 BAL0704 -1. BAL0742 1. + SH070542 COST 393.49 TRAN0705 1. + SH070542 BAL0705 -1. BAL0742 1. + SH070642 COST 175.49 TRAN0706 1. + SH070642 BAL0752 -1. BAL0742 1. + SH070842 COST 165.68 TRAN0708 1. + SH070842 BAL0783 -1. BAL0742 1. + SH070143 COST 173.31 TRAN0701 1. + SH070143 BAL0701 -1. BAL0743 1. + SH070243 COST 430.55 TRAN0702 1. + SH070243 BAL0702 -1. BAL0743 1. + SH070343 COST 27.25 TRAN0703 1. + SH070343 BAL0703 -1. BAL0743 1. + SH070443 COST 322.64 TRAN0704 1. + SH070443 BAL0704 -1. BAL0743 1. + SH070543 COST 281.22 TRAN0705 1. + SH070543 BAL0705 -1. BAL0743 1. + SH070643 COST 109. TRAN0706 1. + SH070643 BAL0752 -1. BAL0743 1. + SH070743 COST 262.69 TRAN0707 1. + SH070743 BAL0764 -1. BAL0743 1. + SH070843 COST 295.39 TRAN0708 1. + SH070843 BAL0783 -1. BAL0743 1. + SH070144 COST 173.31 TRAN0701 1. + SH070144 BAL0701 -1. BAL0744 1. + SH070244 COST 413.11 TRAN0702 1. + SH070244 BAL0702 -1. BAL0744 1. + SH070344 COST 139.52 TRAN0703 1. + SH070344 BAL0703 -1. BAL0744 1. + SH070444 COST 340.08 TRAN0704 1. + SH070444 BAL0704 -1. BAL0744 1. + SH070544 COST 337.9 TRAN0705 1. + SH070544 BAL0705 -1. BAL0744 1. + SH070644 COST 97.01 TRAN0706 1. + SH070644 BAL0752 -1. BAL0744 1. + SH070844 COST 324.82 TRAN0708 1. + SH070844 BAL0783 -1. BAL0744 1. + SH070145 COST 187.48 TRAN0701 1. + SH070145 BAL0701 -1. BAL0745 1. + SH070245 COST 475.24 TRAN0702 1. + SH070245 BAL0702 -1. BAL0745 1. + SH070345 COST 175.49 TRAN0703 1. + SH070345 BAL0703 -1. BAL0745 1. + SH070445 COST 318.28 TRAN0704 1. + SH070445 BAL0704 -1. BAL0745 1. + SH070545 COST 255.06 TRAN0705 1. + SH070545 BAL0705 -1. BAL0745 1. + SH070645 COST 208.19 TRAN0706 1. + SH070645 BAL0752 -1. BAL0745 1. + SH070745 COST 214.73 TRAN0707 1. + SH070745 BAL0764 -1. BAL0745 1. + SH070845 COST 332.45 TRAN0708 1. + SH070845 BAL0783 -1. BAL0745 1. + SH070146 COST 267.05 TRAN0701 1. + SH070146 BAL0701 -1. BAL0746 1. + SH070246 COST 297.57 TRAN0702 1. + SH070246 BAL0702 -1. BAL0746 1. + SH070346 COST 240.89 TRAN0703 1. + SH070346 BAL0703 -1. BAL0746 1. + SH070446 COST 487.23 TRAN0704 1. + SH070446 BAL0704 -1. BAL0746 1. + SH070546 COST 468.7 TRAN0705 1. + SH070546 BAL0705 -1. BAL0746 1. + SH070646 COST 280.13 TRAN0706 1. + SH070646 BAL0752 -1. BAL0746 1. + SH070846 COST 488.32 TRAN0708 1. + SH070846 BAL0783 -1. BAL0746 1. + SH070147 COST 119.9 TRAN0701 1. + SH070147 BAL0701 -1. BAL0747 1. + SH070247 COST 406.57 TRAN0702 1. + SH070247 BAL0702 -1. BAL0747 1. + SH070347 COST 173.31 TRAN0703 1. + SH070347 BAL0703 -1. BAL0747 1. + SH070447 COST 298.66 TRAN0704 1. + SH070447 BAL0704 -1. BAL0747 1. + SH070547 COST 253.97 TRAN0705 1. + SH070547 BAL0705 -1. BAL0747 1. + SH070647 COST 158.05 TRAN0706 1. + SH070647 BAL0752 -1. BAL0747 1. + SH070847 COST 265.96 TRAN0708 1. + SH070847 BAL0783 -1. BAL0747 1. + SH070148 COST 103.55 TRAN0701 1. + SH070148 BAL0701 -1. BAL0748 1. + SH070248 COST 369.51 TRAN0702 1. + SH070248 BAL0702 -1. BAL0748 1. + SH070348 COST 149.33 TRAN0703 1. + SH070348 BAL0703 -1. BAL0748 1. + SH070448 COST 250.7 TRAN0704 1. + SH070448 BAL0704 -1. BAL0748 1. + SH070548 COST 269.23 TRAN0705 1. + SH070548 BAL0705 -1. BAL0748 1. + SH070648 COST 125.35 TRAN0706 1. + SH070648 BAL0752 -1. BAL0748 1. + SH070848 COST 212.55 TRAN0708 1. + SH070848 BAL0783 -1. BAL0748 1. + SH070149 COST 358.61 TRAN0701 1. + SH070149 BAL0701 -1. BAL0749 1. + SH070249 COST 583.15 TRAN0702 1. + SH070249 BAL0702 -1. BAL0749 1. + SH070349 COST 361.88 TRAN0703 1. + SH070349 BAL0703 -1. BAL0749 1. + SH070449 COST 415.29 TRAN0704 1. + SH070449 BAL0704 -1. BAL0749 1. + SH070549 COST 165.68 TRAN0705 1. + SH070549 BAL0705 -1. BAL0749 1. + SH070649 COST 368.42 TRAN0706 1. + SH070649 BAL0752 -1. BAL0749 1. + SH070749 COST 146.06 TRAN0707 1. + SH070749 BAL0764 -1. BAL0749 1. + SH070849 COST 444.72 TRAN0708 1. + SH070849 BAL0783 -1. BAL0749 1. + SH070150 COST 262.69 TRAN0701 1. + SH070150 BAL0701 -1. BAL0750 1. + SH070250 COST 667.08 TRAN0702 1. + SH070250 BAL0702 -1. BAL0750 1. + SH070350 COST 268.14 TRAN0703 1. + SH070350 BAL0703 -1. BAL0750 1. + SH070450 COST 397.85 TRAN0704 1. + SH070450 BAL0704 -1. BAL0750 1. + SH070550 COST 256.15 TRAN0705 1. + SH070550 BAL0705 -1. BAL0750 1. + SH070750 COST 149.33 TRAN0707 1. + SH070750 BAL0764 -1. BAL0750 1. + SH070850 COST 442.54 TRAN0708 1. + SH070850 BAL0783 -1. BAL0750 1. + SH070151 COST 361.88 TRAN0701 1. + SH070151 BAL0701 -1. BAL0751 1. + SH070251 COST 599.5 TRAN0702 1. + SH070251 BAL0702 -1. BAL0751 1. + SH070351 COST 371.69 TRAN0703 1. + SH070351 BAL0703 -1. BAL0751 1. + SH070451 COST 368.42 TRAN0704 1. + SH070451 BAL0704 -1. BAL0751 1. + SH070551 COST 134.07 TRAN0705 1. + SH070551 BAL0705 -1. BAL0751 1. + SH070751 COST 107.91 TRAN0707 1. + SH070751 BAL0764 -1. BAL0751 1. + SH070851 COST 466.52 TRAN0708 1. + SH070851 BAL0783 -1. BAL0751 1. + SH070152 COST 122.08 TRAN0701 1. + SH070152 BAL0701 -1. BAL0752 1. + SH070252 COST 327. TRAN0702 1. + SH070252 BAL0702 -1. BAL0752 1. + SH070352 COST 89.38 TRAN0703 1. + SH070352 BAL0703 -1. BAL0752 1. + SH070452 COST 350.98 TRAN0704 1. + SH070452 BAL0704 -1. BAL0752 1. + SH070552 COST 321.55 TRAN0705 1. + SH070552 BAL0705 -1. BAL0752 1. + SH070852 COST 275.77 TRAN0708 1. + SH070852 BAL0783 -1. BAL0752 1. + SH070153 COST 391.31 TRAN0701 1. + SH070153 BAL0701 -1. BAL0753 1. + SH070253 COST 693.24 TRAN0702 1. + SH070253 BAL0702 -1. BAL0753 1. + SH070353 COST 354.25 TRAN0703 1. + SH070353 BAL0703 -1. BAL0753 1. + SH070453 COST 449.08 TRAN0704 1. + SH070453 BAL0704 -1. BAL0753 1. + SH070553 COST 200.56 TRAN0705 1. + SH070553 BAL0705 -1. BAL0753 1. + SH070653 COST 391.31 TRAN0706 1. + SH070653 BAL0752 -1. BAL0753 1. + SH070753 COST 159.14 TRAN0707 1. + SH070753 BAL0764 -1. BAL0753 1. + SH070853 COST 439.27 TRAN0708 1. + SH070853 BAL0783 -1. BAL0753 1. + SH070154 COST 201.65 TRAN0701 1. + SH070154 BAL0701 -1. BAL0754 1. + SH070254 COST 485.05 TRAN0702 1. + SH070254 BAL0702 -1. BAL0754 1. + SH070354 COST 236.53 TRAN0703 1. + SH070354 BAL0703 -1. BAL0754 1. + SH070454 COST 373.87 TRAN0704 1. + SH070454 BAL0704 -1. BAL0754 1. + SH070554 COST 232.17 TRAN0705 1. + SH070554 BAL0705 -1. BAL0754 1. + SH070654 COST 221.27 TRAN0706 1. + SH070654 BAL0752 -1. BAL0754 1. + SH070854 COST 438.18 TRAN0708 1. + SH070854 BAL0783 -1. BAL0754 1. + SH070155 COST 303.02 TRAN0701 1. + SH070155 BAL0701 -1. BAL0755 1. + SH070255 COST 522.11 TRAN0702 1. + SH070255 BAL0702 -1. BAL0755 1. + SH070355 COST 306.29 TRAN0703 1. + SH070355 BAL0703 -1. BAL0755 1. + SH070455 COST 320.46 TRAN0704 1. + SH070455 BAL0704 -1. BAL0755 1. + SH070555 COST 167.86 TRAN0705 1. + SH070555 BAL0705 -1. BAL0755 1. + SH070655 COST 316.1 TRAN0706 1. + SH070655 BAL0752 -1. BAL0755 1. + SH070755 COST 116.63 TRAN0707 1. + SH070755 BAL0764 -1. BAL0755 1. + SH070855 COST 320.46 TRAN0708 1. + SH070855 BAL0783 -1. BAL0755 1. + SH070156 COST 425.1 TRAN0701 1. + SH070156 BAL0701 -1. BAL0756 1. + SH070256 COST 631.11 TRAN0702 1. + SH070256 BAL0702 -1. BAL0756 1. + SH070356 COST 332.45 TRAN0703 1. + SH070356 BAL0703 -1. BAL0756 1. + SH070456 COST 397.85 TRAN0704 1. + SH070456 BAL0704 -1. BAL0756 1. + SH070556 COST 148.24 TRAN0705 1. + SH070556 BAL0705 -1. BAL0756 1. + SH070656 COST 369.51 TRAN0706 1. + SH070656 BAL0752 -1. BAL0756 1. + SH070756 COST 132.98 TRAN0707 1. + SH070756 BAL0764 -1. BAL0756 1. + SH070856 COST 389.13 TRAN0708 1. + SH070856 BAL0783 -1. BAL0756 1. + SH070157 COST 284.49 TRAN0701 1. + SH070157 BAL0701 -1. BAL0757 1. + SH070257 COST 566.8 TRAN0702 1. + SH070257 BAL0702 -1. BAL0757 1. + SH070357 COST 316.1 TRAN0703 1. + SH070357 BAL0703 -1. BAL0757 1. + SH070457 COST 255.06 TRAN0704 1. + SH070457 BAL0704 -1. BAL0757 1. + SH070557 COST 183.12 TRAN0705 1. + SH070557 BAL0705 -1. BAL0757 1. + SH070657 COST 347.71 TRAN0706 1. + SH070657 BAL0752 -1. BAL0757 1. + SH070757 COST 161.32 TRAN0707 1. + SH070757 BAL0764 -1. BAL0757 1. + SH070857 COST 251.79 TRAN0708 1. + SH070857 BAL0783 -1. BAL0757 1. + SH070158 COST 320.46 TRAN0701 1. + SH070158 BAL0701 -1. BAL0758 1. + SH070258 COST 567.89 TRAN0702 1. + SH070258 BAL0702 -1. BAL0758 1. + SH070358 COST 303.02 TRAN0703 1. + SH070358 BAL0703 -1. BAL0758 1. + SH070458 COST 373.87 TRAN0704 1. + SH070458 BAL0704 -1. BAL0758 1. + SH070558 COST 22.89 TRAN0705 1. + SH070558 BAL0705 -1. BAL0758 1. + SH070658 COST 355.34 TRAN0706 1. + SH070658 BAL0752 -1. BAL0758 1. + SH070758 COST 74.12 TRAN0707 1. + SH070758 BAL0764 -1. BAL0758 1. + SH070858 COST 276.86 TRAN0708 1. + SH070858 BAL0783 -1. BAL0758 1. + SH070159 COST 224.54 TRAN0701 1. + SH070159 BAL0701 -1. BAL0759 1. + SH070259 COST 542.82 TRAN0702 1. + SH070259 BAL0702 -1. BAL0759 1. + SH070359 COST 259.42 TRAN0703 1. + SH070359 BAL0703 -1. BAL0759 1. + SH070459 COST 265.96 TRAN0704 1. + SH070459 BAL0704 -1. BAL0759 1. + SH070559 COST 173.31 TRAN0705 1. + SH070559 BAL0705 -1. BAL0759 1. + SH070659 COST 323.73 TRAN0706 1. + SH070659 BAL0752 -1. BAL0759 1. + SH070759 COST 114.45 TRAN0707 1. + SH070759 BAL0764 -1. BAL0759 1. + SH070859 COST 277.95 TRAN0708 1. + SH070859 BAL0783 -1. BAL0759 1. + SH070160 COST 284.49 TRAN0701 1. + SH070160 BAL0701 -1. BAL0760 1. + SH070260 COST 599.5 TRAN0702 1. + SH070260 BAL0702 -1. BAL0760 1. + SH070360 COST 308.47 TRAN0703 1. + SH070360 BAL0703 -1. BAL0760 1. + SH070460 COST 340.08 TRAN0704 1. + SH070460 BAL0704 -1. BAL0760 1. + SH070560 COST 147.15 TRAN0705 1. + SH070560 BAL0705 -1. BAL0760 1. + SH070660 COST 352.07 TRAN0706 1. + SH070660 BAL0752 -1. BAL0760 1. + SH070760 COST 95.92 TRAN0707 1. + SH070760 BAL0764 -1. BAL0760 1. + SH070860 COST 325.91 TRAN0708 1. + SH070860 BAL0783 -1. BAL0760 1. + SH070163 COST 289.94 TRAN0701 1. + SH070163 BAL0701 -1. BAL0763 1. + SH070263 COST 538.46 TRAN0702 1. + SH070263 BAL0702 -1. BAL0763 1. + SH070363 COST 312.83 TRAN0703 1. + SH070363 BAL0703 -1. BAL0763 1. + SH070463 COST 402.21 TRAN0704 1. + SH070463 BAL0704 -1. BAL0763 1. + SH070563 COST 165.68 TRAN0705 1. + SH070563 BAL0705 -1. BAL0763 1. + SH070663 COST 343.35 TRAN0706 1. + SH070663 BAL0752 -1. BAL0763 1. + SH070763 COST 135.16 TRAN0707 1. + SH070763 BAL0764 -1. BAL0763 1. + SH070863 COST 436. TRAN0708 1. + SH070863 BAL0783 -1. BAL0763 1. + SH070164 COST 216.91 TRAN0701 1. + SH070164 BAL0701 -1. BAL0764 1. + SH070264 COST 573.34 TRAN0702 1. + SH070264 BAL0702 -1. BAL0764 1. + SH070364 COST 243.07 TRAN0703 1. + SH070364 BAL0703 -1. BAL0764 1. + SH070464 COST 366.24 TRAN0704 1. + SH070464 BAL0704 -1. BAL0764 1. + SH070564 COST 63.22 TRAN0705 1. + SH070564 BAL0705 -1. BAL0764 1. + SH070664 COST 345.53 TRAN0706 1. + SH070664 BAL0752 -1. BAL0764 1. + SH070864 COST 272.5 TRAN0708 1. + SH070864 BAL0783 -1. BAL0764 1. + SH070165 COST 470.88 TRAN0701 1. + SH070165 BAL0701 -1. BAL0765 1. + SH070265 COST 334.63 TRAN0702 1. + SH070265 BAL0702 -1. BAL0765 1. + SH070365 COST 550.45 TRAN0703 1. + SH070365 BAL0703 -1. BAL0765 1. + SH070465 COST 422.92 TRAN0704 1. + SH070465 BAL0704 -1. BAL0765 1. + SH070565 COST 658.36 TRAN0705 1. + SH070565 BAL0705 -1. BAL0765 1. + SH070865 COST 452.35 TRAN0708 1. + SH070865 BAL0783 -1. BAL0765 1. + SH070166 COST 610.4 TRAN0701 1. + SH070166 BAL0701 -1. BAL0766 1. + SH070266 COST 282.31 TRAN0702 1. + SH070266 BAL0702 -1. BAL0766 1. + SH070366 COST 630.02 TRAN0703 1. + SH070366 BAL0703 -1. BAL0766 1. + SH070466 COST 606.04 TRAN0704 1. + SH070466 BAL0704 -1. BAL0766 1. + SH070566 COST 773.9 TRAN0705 1. + SH070566 BAL0705 -1. BAL0766 1. + SH070866 COST 610.4 TRAN0708 1. + SH070866 BAL0783 -1. BAL0766 1. + SH070167 COST 463.25 TRAN0701 1. + SH070167 BAL0701 -1. BAL0767 1. + SH070267 COST 252.88 TRAN0702 1. + SH070267 BAL0702 -1. BAL0767 1. + SH070367 COST 537.37 TRAN0703 1. + SH070367 BAL0703 -1. BAL0767 1. + SH070467 COST 498.13 TRAN0704 1. + SH070467 BAL0704 -1. BAL0767 1. + SH070567 COST 658.36 TRAN0705 1. + SH070567 BAL0705 -1. BAL0767 1. + SH070867 COST 499.22 TRAN0708 1. + SH070867 BAL0783 -1. BAL0767 1. + SH070168 COST 647.46 TRAN0701 1. + SH070168 BAL0701 -1. BAL0768 1. + SH070268 COST 436. TRAN0702 1. + SH070268 BAL0702 -1. BAL0768 1. + SH070368 COST 610.4 TRAN0703 1. + SH070368 BAL0703 -1. BAL0768 1. + SH070468 COST 765.18 TRAN0704 1. + SH070468 BAL0704 -1. BAL0768 1. + SH070568 COST 1031.14 TRAN0705 1. + SH070568 BAL0705 -1. BAL0768 1. + SH070868 COST 818.59 TRAN0708 1. + SH070868 BAL0783 -1. BAL0768 1. + SH070169 COST 587.51 TRAN0701 1. + SH070169 BAL0701 -1. BAL0769 1. + SH070269 COST 240.89 TRAN0702 1. + SH070269 BAL0702 -1. BAL0769 1. + SH070369 COST 555.9 TRAN0703 1. + SH070369 BAL0703 -1. BAL0769 1. + SH070469 COST 677.98 TRAN0704 1. + SH070469 BAL0704 -1. BAL0769 1. + SH070569 COST 704.14 TRAN0705 1. + SH070569 BAL0705 -1. BAL0769 1. + SH070869 COST 717.22 TRAN0708 1. + SH070869 BAL0783 -1. BAL0769 1. + SH070171 COST 479.6 TRAN0701 1. + SH070171 BAL0701 -1. BAL0771 1. + SH070371 COST 571.16 TRAN0703 1. + SH070371 BAL0703 -1. BAL0771 1. + SH070471 COST 567.89 TRAN0704 1. + SH070471 BAL0704 -1. BAL0771 1. + SH070571 COST 633.29 TRAN0705 1. + SH070571 BAL0705 -1. BAL0771 1. + SH070671 COST 426.19 TRAN0706 1. + SH070671 BAL0752 -1. BAL0771 1. + SH070771 COST 767.36 TRAN0707 1. + SH070771 BAL0764 -1. BAL0771 1. + SH070871 COST 580.97 TRAN0708 1. + SH070871 BAL0783 -1. BAL0771 1. + SH070172 COST 639.83 TRAN0701 1. + SH070172 BAL0701 -1. BAL0772 1. + SH070272 COST 591.87 TRAN0702 1. + SH070272 BAL0702 -1. BAL0772 1. + SH070372 COST 672.53 TRAN0703 1. + SH070372 BAL0703 -1. BAL0772 1. + SH070472 COST 621.3 TRAN0704 1. + SH070472 BAL0704 -1. BAL0772 1. + SH070572 COST 831.67 TRAN0705 1. + SH070572 BAL0705 -1. BAL0772 1. + SH070872 COST 621.3 TRAN0708 1. + SH070872 BAL0783 -1. BAL0772 1. + SH070173 COST 425.1 TRAN0701 1. + SH070173 BAL0701 -1. BAL0773 1. + SH070273 COST 397.85 TRAN0702 1. + SH070273 BAL0702 -1. BAL0773 1. + SH070373 COST 368.42 TRAN0703 1. + SH070373 BAL0703 -1. BAL0773 1. + SH070473 COST 498.13 TRAN0704 1. + SH070473 BAL0704 -1. BAL0773 1. + SH070573 COST 614.76 TRAN0705 1. + SH070573 BAL0705 -1. BAL0773 1. + SH070673 COST 332.45 TRAN0706 1. + SH070673 BAL0752 -1. BAL0773 1. + SH070873 COST 549.36 TRAN0708 1. + SH070873 BAL0783 -1. BAL0773 1. + SH070174 COST 597.32 TRAN0701 1. + SH070174 BAL0701 -1. BAL0774 1. + SH070274 COST 228.9 TRAN0702 1. + SH070274 BAL0702 -1. BAL0774 1. + SH070374 COST 621.3 TRAN0703 1. + SH070374 BAL0703 -1. BAL0774 1. + SH070474 COST 694.33 TRAN0704 1. + SH070474 BAL0704 -1. BAL0774 1. + SH070574 COST 798.97 TRAN0705 1. + SH070574 BAL0705 -1. BAL0774 1. + SH070874 COST 674.71 TRAN0708 1. + SH070874 BAL0783 -1. BAL0774 1. + SH070275 COST 603.86 TRAN0702 1. + SH070275 BAL0702 -1. BAL0775 1. + SH070176 COST 503.58 TRAN0701 1. + SH070176 BAL0701 -1. BAL0776 1. + SH070276 COST 437.09 TRAN0702 1. + SH070276 BAL0702 -1. BAL0776 1. + SH070376 COST 439.27 TRAN0703 1. + SH070376 BAL0703 -1. BAL0776 1. + SH070476 COST 686.7 TRAN0704 1. + SH070476 BAL0704 -1. BAL0776 1. + SH070576 COST 686.7 TRAN0705 1. + SH070576 BAL0705 -1. BAL0776 1. + SH070676 COST 415.29 TRAN0706 1. + SH070676 BAL0752 -1. BAL0776 1. + SH070876 COST 846.93 TRAN0708 1. + SH070876 BAL0783 -1. BAL0776 1. + SH070177 COST 474.15 TRAN0701 1. + SH070177 BAL0701 -1. BAL0777 1. + SH070277 COST 296.48 TRAN0702 1. + SH070277 BAL0702 -1. BAL0777 1. + SH070377 COST 502.49 TRAN0703 1. + SH070377 BAL0703 -1. BAL0777 1. + SH070477 COST 437.09 TRAN0704 1. + SH070477 BAL0704 -1. BAL0777 1. + SH070577 COST 610.4 TRAN0705 1. + SH070577 BAL0705 -1. BAL0777 1. + SH070877 COST 348.8 TRAN0708 1. + SH070877 BAL0783 -1. BAL0777 1. + SH070178 COST 829.49 TRAN0701 1. + SH070178 BAL0701 -1. BAL0778 1. + SH070278 COST 481.78 TRAN0702 1. + SH070278 BAL0702 -1. BAL0778 1. + SH070378 COST 853.47 TRAN0703 1. + SH070378 BAL0703 -1. BAL0778 1. + SH070478 COST 746.65 TRAN0704 1. + SH070478 BAL0704 -1. BAL0778 1. + SH070578 COST 958.11 TRAN0705 1. + SH070578 BAL0705 -1. BAL0778 1. + SH070878 COST 834.94 TRAN0708 1. + SH070878 BAL0783 -1. BAL0778 1. + SH070179 COST 779.35 TRAN0701 1. + SH070179 BAL0701 -1. BAL0779 1. + SH070279 COST 293.21 TRAN0702 1. + SH070279 BAL0702 -1. BAL0779 1. + SH070379 COST 753.19 TRAN0703 1. + SH070379 BAL0703 -1. BAL0779 1. + SH070479 COST 784.8 TRAN0704 1. + SH070479 BAL0704 -1. BAL0779 1. + SH070879 COST 769.54 TRAN0708 1. + SH070879 BAL0783 -1. BAL0779 1. + SH070180 COST 345.53 TRAN0701 1. + SH070180 BAL0701 -1. BAL0780 1. + SH070280 COST 430.55 TRAN0702 1. + SH070280 BAL0702 -1. BAL0780 1. + SH070380 COST 476.33 TRAN0703 1. + SH070380 BAL0703 -1. BAL0780 1. + SH070480 COST 407.66 TRAN0704 1. + SH070480 BAL0704 -1. BAL0780 1. + SH070580 COST 550.45 TRAN0705 1. + SH070580 BAL0705 -1. BAL0780 1. + SH070880 COST 261.6 TRAN0708 1. + SH070880 BAL0783 -1. BAL0780 1. + SH070182 COST 634.38 TRAN0701 1. + SH070182 BAL0701 -1. BAL0782 1. + SH070282 COST 358.61 TRAN0702 1. + SH070282 BAL0702 -1. BAL0782 1. + SH070382 COST 713.95 TRAN0703 1. + SH070382 BAL0703 -1. BAL0782 1. + SH070482 COST 769.54 TRAN0704 1. + SH070482 BAL0704 -1. BAL0782 1. + SH070582 COST 1250.23 TRAN0705 1. + SH070582 BAL0705 -1. BAL0782 1. + SH070882 COST 853.47 TRAN0708 1. + SH070882 BAL0783 -1. BAL0782 1. + SH070183 COST 192.93 TRAN0701 1. + SH070183 BAL0701 -1. BAL0783 1. + SH070283 COST 566.8 TRAN0702 1. + SH070283 BAL0702 -1. BAL0783 1. + SH070383 COST 296.48 TRAN0703 1. + SH070383 BAL0703 -1. BAL0783 1. + SH070483 COST 64.31 TRAN0704 1. + SH070483 BAL0704 -1. BAL0783 1. + SH070583 COST 378.23 TRAN0705 1. + SH070583 BAL0705 -1. BAL0783 1. + SH070683 COST 270.32 TRAN0706 1. + SH070683 BAL0752 -1. BAL0783 1. + SH070184 COST 331.36 TRAN0701 1. + SH070184 BAL0701 -1. BAL0784 1. + SH070284 COST 209.28 TRAN0702 1. + SH070284 BAL0702 -1. BAL0784 1. + SH070384 COST 396.76 TRAN0703 1. + SH070384 BAL0703 -1. BAL0784 1. + SH070484 COST 403.3 TRAN0704 1. + SH070484 BAL0704 -1. BAL0784 1. + SH070584 COST 534.1 TRAN0705 1. + SH070584 BAL0705 -1. BAL0784 1. + SH070684 COST 332.45 TRAN0706 1. + SH070684 BAL0752 -1. BAL0784 1. + SH070884 COST 422.92 TRAN0708 1. + SH070884 BAL0783 -1. BAL0784 1. + SH080201 COST 513.81 TRAN0802 1. + SH080201 BAL0802 -1. BAL0801 1. + SH080301 COST 197.22 TRAN0803 1. + SH080301 BAL0803 -1. BAL0801 1. + SH080401 COST 359.84 TRAN0804 1. + SH080401 BAL0804 -1. BAL0801 1. + SH080501 COST 410.01 TRAN0805 1. + SH080501 BAL0805 -1. BAL0801 1. + SH080601 COST 217.98 TRAN0806 1. + SH080601 BAL0852 -1. BAL0801 1. + SH080801 COST 247.39 TRAN0808 1. + SH080801 BAL0883 -1. BAL0801 1. + SH080102 COST 820.02 TRAN0801 1. + SH080102 BAL0801 -1. BAL0802 1. + SH080302 COST 721.41 TRAN0803 1. + SH080302 BAL0803 -1. BAL0802 1. + SH080402 COST 1058.76 TRAN0804 1. + SH080402 BAL0804 -1. BAL0802 1. + SH080502 COST 1281.93 TRAN0805 1. + SH080502 BAL0805 -1. BAL0802 1. + SH080602 COST 653.94 TRAN0806 1. + SH080602 BAL0852 -1. BAL0802 1. + SH080802 COST 901.33 TRAN0808 1. + SH080802 BAL0883 -1. BAL0802 1. + SH080103 COST 423.85 TRAN0801 1. + SH080103 BAL0801 -1. BAL0803 1. + SH080203 COST 820.02 TRAN0802 1. + SH080203 BAL0802 -1. BAL0803 1. + SH080403 COST 634.91 TRAN0804 1. + SH080403 BAL0804 -1. BAL0803 1. + SH080503 COST 491.32 TRAN0805 1. + SH080503 BAL0805 -1. BAL0803 1. + SH080603 COST 155.7 TRAN0806 1. + SH080603 BAL0852 -1. BAL0803 1. + SH080803 COST 441.15 TRAN0808 1. + SH080803 BAL0883 -1. BAL0803 1. + SH080104 COST 301.02 TRAN0801 1. + SH080104 BAL0801 -1. BAL0804 1. + SH080204 COST 870.19 TRAN0802 1. + SH080204 BAL0802 -1. BAL0804 1. + SH080304 COST 420.39 TRAN0803 1. + SH080304 BAL0803 -1. BAL0804 1. + SH080504 COST 551.87 TRAN0805 1. + SH080504 BAL0805 -1. BAL0804 1. + SH080604 COST 423.85 TRAN0806 1. + SH080604 BAL0852 -1. BAL0804 1. + SH080704 COST 465.37 TRAN0807 1. + SH080704 BAL0864 -1. BAL0804 1. + SH080804 COST 100.34 TRAN0808 1. + SH080804 BAL0883 -1. BAL0804 1. + SH080105 COST 467.1 TRAN0801 1. + SH080105 BAL0801 -1. BAL0805 1. + SH080205 COST 892.68 TRAN0802 1. + SH080205 BAL0802 -1. BAL0805 1. + SH080305 COST 491.32 TRAN0803 1. + SH080305 BAL0803 -1. BAL0805 1. + SH080405 COST 493.05 TRAN0804 1. + SH080405 BAL0804 -1. BAL0805 1. + SH080605 COST 563.98 TRAN0806 1. + SH080605 BAL0852 -1. BAL0805 1. + SH080705 COST 577.82 TRAN0807 1. + SH080705 BAL0864 -1. BAL0805 1. + SH080805 COST 468.83 TRAN0808 1. + SH080805 BAL0883 -1. BAL0805 1. + SH080106 COST 344.27 TRAN0801 1. + SH080106 BAL0801 -1. BAL0806 1. + SH080206 COST 721.41 TRAN0802 1. + SH080206 BAL0802 -1. BAL0806 1. + SH080306 COST 368.49 TRAN0803 1. + SH080306 BAL0803 -1. BAL0806 1. + SH080406 COST 378.87 TRAN0804 1. + SH080406 BAL0804 -1. BAL0806 1. + SH080506 COST 435.96 TRAN0805 1. + SH080506 BAL0805 -1. BAL0806 1. + SH080606 COST 356.38 TRAN0806 1. + SH080606 BAL0852 -1. BAL0806 1. + SH080706 COST 346. TRAN0807 1. + SH080706 BAL0864 -1. BAL0806 1. + SH080806 COST 261.23 TRAN0808 1. + SH080806 BAL0883 -1. BAL0806 1. + SH080107 COST 36.33 TRAN0801 1. + SH080107 BAL0801 -1. BAL0807 1. + SH080207 COST 505.16 TRAN0802 1. + SH080207 BAL0802 -1. BAL0807 1. + SH080307 COST 214.52 TRAN0803 1. + SH080307 BAL0803 -1. BAL0807 1. + SH080407 COST 358.11 TRAN0804 1. + SH080407 BAL0804 -1. BAL0807 1. + SH080507 COST 396.17 TRAN0805 1. + SH080507 BAL0805 -1. BAL0807 1. + SH080607 COST 216.25 TRAN0806 1. + SH080607 BAL0852 -1. BAL0807 1. + SH080707 COST 401.36 TRAN0807 1. + SH080707 BAL0864 -1. BAL0807 1. + SH080807 COST 268.15 TRAN0808 1. + SH080807 BAL0883 -1. BAL0807 1. + SH080108 COST 114.18 TRAN0801 1. + SH080108 BAL0801 -1. BAL0808 1. + SH080208 COST 650.48 TRAN0802 1. + SH080208 BAL0802 -1. BAL0808 1. + SH080308 COST 243.93 TRAN0803 1. + SH080308 BAL0803 -1. BAL0808 1. + SH080408 COST 427.31 TRAN0804 1. + SH080408 BAL0804 -1. BAL0808 1. + SH080508 COST 314.86 TRAN0805 1. + SH080508 BAL0805 -1. BAL0808 1. + SH080608 COST 287.18 TRAN0806 1. + SH080608 BAL0852 -1. BAL0808 1. + SH080808 COST 323.51 TRAN0808 1. + SH080808 BAL0883 -1. BAL0808 1. + SH080109 COST 238.74 TRAN0801 1. + SH080109 BAL0801 -1. BAL0809 1. + SH080209 COST 662.59 TRAN0802 1. + SH080209 BAL0802 -1. BAL0809 1. + SH080309 COST 290.64 TRAN0803 1. + SH080309 BAL0803 -1. BAL0809 1. + SH080409 COST 437.69 TRAN0804 1. + SH080409 BAL0804 -1. BAL0809 1. + SH080509 COST 413.47 TRAN0805 1. + SH080509 BAL0805 -1. BAL0809 1. + SH080709 COST 339.08 TRAN0807 1. + SH080709 BAL0864 -1. BAL0809 1. + SH080809 COST 335.62 TRAN0808 1. + SH080809 BAL0883 -1. BAL0809 1. + SH080110 COST 427.31 TRAN0801 1. + SH080110 BAL0801 -1. BAL0810 1. + SH080210 COST 273.34 TRAN0802 1. + SH080210 BAL0802 -1. BAL0810 1. + SH080310 COST 415.2 TRAN0803 1. + SH080310 BAL0803 -1. BAL0810 1. + SH080410 COST 621.07 TRAN0804 1. + SH080410 BAL0804 -1. BAL0810 1. + SH080510 COST 666.05 TRAN0805 1. + SH080510 BAL0805 -1. BAL0810 1. + SH080610 COST 389.25 TRAN0806 1. + SH080610 BAL0852 -1. BAL0810 1. + SH080810 COST 527.65 TRAN0808 1. + SH080810 BAL0883 -1. BAL0810 1. + SH080111 COST 183.38 TRAN0801 1. + SH080111 BAL0801 -1. BAL0811 1. + SH080211 COST 856.35 TRAN0802 1. + SH080211 BAL0802 -1. BAL0811 1. + SH080311 COST 429.04 TRAN0803 1. + SH080311 BAL0803 -1. BAL0811 1. + SH080411 COST 240.47 TRAN0804 1. + SH080411 BAL0804 -1. BAL0811 1. + SH080511 COST 589.93 TRAN0805 1. + SH080511 BAL0805 -1. BAL0811 1. + SH080611 COST 339.08 TRAN0806 1. + SH080611 BAL0852 -1. BAL0811 1. + SH080811 COST 176.46 TRAN0808 1. + SH080811 BAL0883 -1. BAL0811 1. + SH080112 COST 152.24 TRAN0801 1. + SH080112 BAL0801 -1. BAL0812 1. + SH080212 COST 586.47 TRAN0802 1. + SH080212 BAL0802 -1. BAL0812 1. + SH080312 COST 252.58 TRAN0803 1. + SH080312 BAL0803 -1. BAL0812 1. + SH080412 COST 346. TRAN0804 1. + SH080412 BAL0804 -1. BAL0812 1. + SH080512 COST 461.91 TRAN0805 1. + SH080512 BAL0805 -1. BAL0812 1. + SH080612 COST 250.85 TRAN0806 1. + SH080612 BAL0852 -1. BAL0812 1. + SH080812 COST 252.58 TRAN0808 1. + SH080812 BAL0883 -1. BAL0812 1. + SH080114 COST 245.66 TRAN0801 1. + SH080114 BAL0801 -1. BAL0814 1. + SH080214 COST 712.76 TRAN0802 1. + SH080214 BAL0802 -1. BAL0814 1. + SH080314 COST 339.08 TRAN0803 1. + SH080314 BAL0803 -1. BAL0814 1. + SH080414 COST 344.27 TRAN0804 1. + SH080414 BAL0804 -1. BAL0814 1. + SH080514 COST 608.96 TRAN0805 1. + SH080514 BAL0805 -1. BAL0814 1. + SH080614 COST 325.24 TRAN0806 1. + SH080614 BAL0852 -1. BAL0814 1. + SH080814 COST 217.98 TRAN0808 1. + SH080814 BAL0883 -1. BAL0814 1. + SH080115 COST 524.19 TRAN0801 1. + SH080115 BAL0801 -1. BAL0815 1. + SH080215 COST 275.07 TRAN0802 1. + SH080215 BAL0802 -1. BAL0815 1. + SH080315 COST 404.82 TRAN0803 1. + SH080315 BAL0803 -1. BAL0815 1. + SH080415 COST 823.48 TRAN0804 1. + SH080415 BAL0804 -1. BAL0815 1. + SH080515 COST 688.54 TRAN0805 1. + SH080515 BAL0805 -1. BAL0815 1. + SH080615 COST 325.24 TRAN0806 1. + SH080615 BAL0852 -1. BAL0815 1. + SH080815 COST 645.29 TRAN0808 1. + SH080815 BAL0883 -1. BAL0815 1. + SH080116 COST 273.34 TRAN0801 1. + SH080116 BAL0801 -1. BAL0816 1. + SH080216 COST 484.4 TRAN0802 1. + SH080216 BAL0802 -1. BAL0816 1. + SH080316 COST 392.71 TRAN0803 1. + SH080316 BAL0803 -1. BAL0816 1. + SH080416 COST 496.51 TRAN0804 1. + SH080416 BAL0804 -1. BAL0816 1. + SH080516 COST 551.87 TRAN0805 1. + SH080516 BAL0805 -1. BAL0816 1. + SH080616 COST 226.63 TRAN0806 1. + SH080616 BAL0852 -1. BAL0816 1. + SH080816 COST 354.65 TRAN0808 1. + SH080816 BAL0883 -1. BAL0816 1. + SH080117 COST 261.23 TRAN0801 1. + SH080117 BAL0801 -1. BAL0817 1. + SH080217 COST 873.65 TRAN0802 1. + SH080217 BAL0802 -1. BAL0817 1. + SH080317 COST 474.02 TRAN0803 1. + SH080317 BAL0803 -1. BAL0817 1. + SH080417 COST 98.61 TRAN0804 1. + SH080417 BAL0804 -1. BAL0817 1. + SH080517 COST 515.54 TRAN0805 1. + SH080517 BAL0805 -1. BAL0817 1. + SH080717 COST 510.35 TRAN0807 1. + SH080717 BAL0864 -1. BAL0817 1. + SH080817 COST 46.71 TRAN0808 1. + SH080817 BAL0883 -1. BAL0817 1. + SH080118 COST 302.75 TRAN0801 1. + SH080118 BAL0801 -1. BAL0818 1. + SH080218 COST 624.53 TRAN0802 1. + SH080218 BAL0802 -1. BAL0818 1. + SH080318 COST 467.1 TRAN0803 1. + SH080318 BAL0803 -1. BAL0818 1. + SH080418 COST 266.42 TRAN0804 1. + SH080418 BAL0804 -1. BAL0818 1. + SH080518 COST 704.11 TRAN0805 1. + SH080518 BAL0805 -1. BAL0818 1. + SH080618 COST 608.96 TRAN0806 1. + SH080618 BAL0852 -1. BAL0818 1. + SH080818 COST 178.19 TRAN0808 1. + SH080818 BAL0883 -1. BAL0818 1. + SH080119 COST 429.04 TRAN0801 1. + SH080119 BAL0801 -1. BAL0819 1. + SH080219 COST 1188.51 TRAN0802 1. + SH080219 BAL0802 -1. BAL0819 1. + SH080319 COST 548.41 TRAN0803 1. + SH080319 BAL0803 -1. BAL0819 1. + SH080419 COST 275.07 TRAN0804 1. + SH080419 BAL0804 -1. BAL0819 1. + SH080519 COST 359.84 TRAN0805 1. + SH080519 BAL0805 -1. BAL0819 1. + SH080619 COST 596.85 TRAN0806 1. + SH080619 BAL0852 -1. BAL0819 1. + SH080819 COST 171.27 TRAN0808 1. + SH080819 BAL0883 -1. BAL0819 1. + SH080120 COST 354.65 TRAN0801 1. + SH080120 BAL0801 -1. BAL0820 1. + SH080220 COST 1181.59 TRAN0802 1. + SH080220 BAL0802 -1. BAL0820 1. + SH080320 COST 513.81 TRAN0803 1. + SH080320 BAL0803 -1. BAL0820 1. + SH080420 COST 195.49 TRAN0804 1. + SH080420 BAL0804 -1. BAL0820 1. + SH080520 COST 503.43 TRAN0805 1. + SH080520 BAL0805 -1. BAL0820 1. + SH080820 COST 217.98 TRAN0808 1. + SH080820 BAL0883 -1. BAL0820 1. + SH080121 COST 697.19 TRAN0801 1. + SH080121 BAL0801 -1. BAL0821 1. + SH080221 COST 636.64 TRAN0802 1. + SH080221 BAL0802 -1. BAL0821 1. + SH080321 COST 771.58 TRAN0803 1. + SH080321 BAL0803 -1. BAL0821 1. + SH080421 COST 553.6 TRAN0804 1. + SH080421 BAL0804 -1. BAL0821 1. + SH080521 COST 951.5 TRAN0805 1. + SH080521 BAL0805 -1. BAL0821 1. + SH080821 COST 553.6 TRAN0808 1. + SH080821 BAL0883 -1. BAL0821 1. + SH080122 COST 429.04 TRAN0801 1. + SH080122 BAL0801 -1. BAL0822 1. + SH080222 COST 999.94 TRAN0802 1. + SH080222 BAL0802 -1. BAL0822 1. + SH080322 COST 517.27 TRAN0803 1. + SH080322 BAL0803 -1. BAL0822 1. + SH080422 COST 387.52 TRAN0804 1. + SH080422 BAL0804 -1. BAL0822 1. + SH080522 COST 309.67 TRAN0805 1. + SH080522 BAL0805 -1. BAL0822 1. + SH080622 COST 536.3 TRAN0806 1. + SH080622 BAL0852 -1. BAL0822 1. + SH080822 COST 240.47 TRAN0808 1. + SH080822 BAL0883 -1. BAL0822 1. + SH080123 COST 404.82 TRAN0801 1. + SH080123 BAL0801 -1. BAL0823 1. + SH080223 COST 935.93 TRAN0802 1. + SH080223 BAL0802 -1. BAL0823 1. + SH080323 COST 496.51 TRAN0803 1. + SH080323 BAL0803 -1. BAL0823 1. + SH080423 COST 288.91 TRAN0804 1. + SH080423 BAL0804 -1. BAL0823 1. + SH080523 COST 287.18 TRAN0805 1. + SH080523 BAL0805 -1. BAL0823 1. + SH080823 COST 240.47 TRAN0808 1. + SH080823 BAL0883 -1. BAL0823 1. + SH080124 COST 2484.28 TRAN0801 1. + SH080124 BAL0801 -1. BAL0824 1. + SH080125 COST 669.51 TRAN0801 1. + SH080125 BAL0801 -1. BAL0825 1. + SH080225 COST 738.71 TRAN0802 1. + SH080225 BAL0802 -1. BAL0825 1. + SH080325 COST 884.03 TRAN0803 1. + SH080325 BAL0803 -1. BAL0825 1. + SH080425 COST 602.04 TRAN0804 1. + SH080425 BAL0804 -1. BAL0825 1. + SH080525 COST 979.18 TRAN0805 1. + SH080525 BAL0805 -1. BAL0825 1. + SH080625 COST 697.19 TRAN0806 1. + SH080625 BAL0852 -1. BAL0825 1. + SH080825 COST 527.65 TRAN0808 1. + SH080825 BAL0883 -1. BAL0825 1. + SH080426 COST 467.1 TRAN0804 1. + SH080426 BAL0804 -1. BAL0826 1. + SH080127 COST 404.82 TRAN0801 1. + SH080127 BAL0801 -1. BAL0827 1. + SH080227 COST 491.32 TRAN0802 1. + SH080227 BAL0802 -1. BAL0827 1. + SH080327 COST 499.97 TRAN0803 1. + SH080327 BAL0803 -1. BAL0827 1. + SH080427 COST 579.55 TRAN0804 1. + SH080427 BAL0804 -1. BAL0827 1. + SH080527 COST 653.94 TRAN0805 1. + SH080527 BAL0805 -1. BAL0827 1. + SH080627 COST 463.64 TRAN0806 1. + SH080627 BAL0852 -1. BAL0827 1. + SH080827 COST 435.96 TRAN0808 1. + SH080827 BAL0883 -1. BAL0827 1. + SH080128 COST 420.39 TRAN0801 1. + SH080128 BAL0801 -1. BAL0828 1. + SH080228 COST 984.37 TRAN0802 1. + SH080228 BAL0802 -1. BAL0828 1. + SH080328 COST 512.08 TRAN0803 1. + SH080328 BAL0803 -1. BAL0828 1. + SH080428 COST 510.35 TRAN0804 1. + SH080428 BAL0804 -1. BAL0828 1. + SH080528 COST 176.46 TRAN0805 1. + SH080528 BAL0805 -1. BAL0828 1. + SH080628 COST 451.53 TRAN0806 1. + SH080628 BAL0852 -1. BAL0828 1. + SH080728 COST 185.11 TRAN0807 1. + SH080728 BAL0864 -1. BAL0828 1. + SH080828 COST 439.42 TRAN0808 1. + SH080828 BAL0883 -1. BAL0828 1. + SH080129 COST 385.79 TRAN0801 1. + SH080129 BAL0801 -1. BAL0829 1. + SH080229 COST 802.72 TRAN0802 1. + SH080229 BAL0802 -1. BAL0829 1. + SH080329 COST 416.93 TRAN0803 1. + SH080329 BAL0803 -1. BAL0829 1. + SH080429 COST 344.27 TRAN0804 1. + SH080429 BAL0804 -1. BAL0829 1. + SH080529 COST 743.9 TRAN0805 1. + SH080529 BAL0805 -1. BAL0829 1. + SH080629 COST 451.53 TRAN0806 1. + SH080629 BAL0852 -1. BAL0829 1. + SH080829 COST 249.12 TRAN0808 1. + SH080829 BAL0883 -1. BAL0829 1. + SH080130 COST 806.18 TRAN0801 1. + SH080130 BAL0801 -1. BAL0830 1. + SH080230 COST 754.28 TRAN0802 1. + SH080230 BAL0802 -1. BAL0830 1. + SH080330 COST 904.79 TRAN0803 1. + SH080330 BAL0803 -1. BAL0830 1. + SH080430 COST 525.92 TRAN0804 1. + SH080430 BAL0804 -1. BAL0830 1. + SH080530 COST 771.58 TRAN0805 1. + SH080530 BAL0805 -1. BAL0830 1. + SH080830 COST 660.86 TRAN0808 1. + SH080830 BAL0883 -1. BAL0830 1. + SH080131 COST 192.03 TRAN0801 1. + SH080131 BAL0801 -1. BAL0831 1. + SH080231 COST 607.23 TRAN0802 1. + SH080231 BAL0802 -1. BAL0831 1. + SH080331 COST 190.3 TRAN0803 1. + SH080331 BAL0803 -1. BAL0831 1. + SH080431 COST 437.69 TRAN0804 1. + SH080431 BAL0804 -1. BAL0831 1. + SH080531 COST 531.11 TRAN0805 1. + SH080531 BAL0805 -1. BAL0831 1. + SH080631 COST 193.76 TRAN0806 1. + SH080631 BAL0852 -1. BAL0831 1. + SH080831 COST 385.79 TRAN0808 1. + SH080831 BAL0883 -1. BAL0831 1. + SH080132 COST 517.27 TRAN0801 1. + SH080132 BAL0801 -1. BAL0832 1. + SH080232 COST 826.94 TRAN0802 1. + SH080232 BAL0802 -1. BAL0832 1. + SH080332 COST 731.79 TRAN0803 1. + SH080332 BAL0803 -1. BAL0832 1. + SH080432 COST 271.61 TRAN0804 1. + SH080432 BAL0804 -1. BAL0832 1. + SH080532 COST 678.16 TRAN0805 1. + SH080532 BAL0805 -1. BAL0832 1. + SH080832 COST 311.4 TRAN0808 1. + SH080832 BAL0883 -1. BAL0832 1. + SH080133 COST 852.89 TRAN0801 1. + SH080133 BAL0801 -1. BAL0833 1. + SH080233 COST 692. TRAN0802 1. + SH080233 BAL0802 -1. BAL0833 1. + SH080333 COST 939.39 TRAN0803 1. + SH080333 BAL0803 -1. BAL0833 1. + SH080433 COST 769.85 TRAN0804 1. + SH080433 BAL0804 -1. BAL0833 1. + SH080533 COST 1091.63 TRAN0805 1. + SH080533 BAL0805 -1. BAL0833 1. + SH080833 COST 659.13 TRAN0808 1. + SH080833 BAL0883 -1. BAL0833 1. + SH080134 COST 667.78 TRAN0801 1. + SH080134 BAL0801 -1. BAL0834 1. + SH080234 COST 1133.15 TRAN0802 1. + SH080234 BAL0802 -1. BAL0834 1. + SH080334 COST 870.19 TRAN0803 1. + SH080334 BAL0803 -1. BAL0834 1. + SH080434 COST 365.03 TRAN0804 1. + SH080434 BAL0804 -1. BAL0834 1. + SH080534 COST 762.93 TRAN0805 1. + SH080534 BAL0805 -1. BAL0834 1. + SH080834 COST 454.99 TRAN0808 1. + SH080834 BAL0883 -1. BAL0834 1. + SH080135 COST 797.53 TRAN0801 1. + SH080135 BAL0801 -1. BAL0835 1. + SH080235 COST 769.85 TRAN0802 1. + SH080235 BAL0802 -1. BAL0835 1. + SH080335 COST 652.21 TRAN0803 1. + SH080335 BAL0803 -1. BAL0835 1. + SH080435 COST 211.06 TRAN0804 1. + SH080435 BAL0804 -1. BAL0835 1. + SH080535 COST 745.63 TRAN0805 1. + SH080535 BAL0805 -1. BAL0835 1. + SH080835 COST 406.55 TRAN0808 1. + SH080835 BAL0883 -1. BAL0835 1. + SH080136 COST 354.65 TRAN0801 1. + SH080136 BAL0801 -1. BAL0836 1. + SH080236 COST 775.04 TRAN0802 1. + SH080236 BAL0802 -1. BAL0836 1. + SH080336 COST 183.38 TRAN0803 1. + SH080336 BAL0803 -1. BAL0836 1. + SH080436 COST 640.1 TRAN0804 1. + SH080436 BAL0804 -1. BAL0836 1. + SH080536 COST 598.58 TRAN0805 1. + SH080536 BAL0805 -1. BAL0836 1. + SH080636 COST 190.3 TRAN0806 1. + SH080636 BAL0852 -1. BAL0836 1. + SH080836 COST 555.33 TRAN0808 1. + SH080836 BAL0883 -1. BAL0836 1. + SH080137 COST 159.16 TRAN0801 1. + SH080137 BAL0801 -1. BAL0837 1. + SH080237 COST 591.66 TRAN0802 1. + SH080237 BAL0802 -1. BAL0837 1. + SH080337 COST 273.34 TRAN0803 1. + SH080337 BAL0803 -1. BAL0837 1. + SH080437 COST 525.92 TRAN0804 1. + SH080437 BAL0804 -1. BAL0837 1. + SH080537 COST 314.86 TRAN0805 1. + SH080537 BAL0805 -1. BAL0837 1. + SH080637 COST 335.62 TRAN0806 1. + SH080637 BAL0852 -1. BAL0837 1. + SH080837 COST 435.96 TRAN0808 1. + SH080837 BAL0883 -1. BAL0837 1. + SH080138 COST 235.28 TRAN0801 1. + SH080138 BAL0801 -1. BAL0838 1. + SH080238 COST 422.12 TRAN0802 1. + SH080238 BAL0802 -1. BAL0838 1. + SH080338 COST 164.35 TRAN0803 1. + SH080338 BAL0803 -1. BAL0838 1. + SH080438 COST 532.84 TRAN0804 1. + SH080438 BAL0804 -1. BAL0838 1. + SH080538 COST 480.94 TRAN0805 1. + SH080538 BAL0805 -1. BAL0838 1. + SH080638 COST 67.47 TRAN0806 1. + SH080638 BAL0852 -1. BAL0838 1. + SH080738 COST 373.68 TRAN0807 1. + SH080738 BAL0864 -1. BAL0838 1. + SH080838 COST 410.01 TRAN0808 1. + SH080838 BAL0883 -1. BAL0838 1. + SH080139 COST 224.9 TRAN0801 1. + SH080139 BAL0801 -1. BAL0839 1. + SH080239 COST 586.47 TRAN0802 1. + SH080239 BAL0802 -1. BAL0839 1. + SH080339 COST 276.8 TRAN0803 1. + SH080339 BAL0803 -1. BAL0839 1. + SH080439 COST 430.77 TRAN0804 1. + SH080439 BAL0804 -1. BAL0839 1. + SH080539 COST 742.17 TRAN0805 1. + SH080539 BAL0805 -1. BAL0839 1. + SH080639 COST 352.92 TRAN0806 1. + SH080639 BAL0852 -1. BAL0839 1. + SH080839 COST 290.64 TRAN0808 1. + SH080839 BAL0883 -1. BAL0839 1. + SH080140 COST 285.45 TRAN0801 1. + SH080140 BAL0801 -1. BAL0840 1. + SH080240 COST 653.94 TRAN0802 1. + SH080240 BAL0802 -1. BAL0840 1. + SH080340 COST 178.19 TRAN0803 1. + SH080340 BAL0803 -1. BAL0840 1. + SH080440 COST 513.81 TRAN0804 1. + SH080440 BAL0804 -1. BAL0840 1. + SH080540 COST 382.33 TRAN0805 1. + SH080540 BAL0805 -1. BAL0840 1. + SH080640 COST 226.63 TRAN0806 1. + SH080640 BAL0852 -1. BAL0840 1. + SH080840 COST 474.02 TRAN0808 1. + SH080840 BAL0883 -1. BAL0840 1. + SH080141 COST 339.08 TRAN0801 1. + SH080141 BAL0801 -1. BAL0841 1. + SH080241 COST 519. TRAN0802 1. + SH080241 BAL0802 -1. BAL0841 1. + SH080341 COST 259.5 TRAN0803 1. + SH080341 BAL0803 -1. BAL0841 1. + SH080441 COST 560.52 TRAN0804 1. + SH080441 BAL0804 -1. BAL0841 1. + SH080541 COST 636.64 TRAN0805 1. + SH080541 BAL0805 -1. BAL0841 1. + SH080641 COST 173. TRAN0806 1. + SH080641 BAL0852 -1. BAL0841 1. + SH080841 COST 517.27 TRAN0808 1. + SH080841 BAL0883 -1. BAL0841 1. + SH080142 COST 155.7 TRAN0801 1. + SH080142 BAL0801 -1. BAL0842 1. + SH080242 COST 716.22 TRAN0802 1. + SH080242 BAL0802 -1. BAL0842 1. + SH080342 COST 276.8 TRAN0803 1. + SH080342 BAL0803 -1. BAL0842 1. + SH080442 COST 337.35 TRAN0804 1. + SH080442 BAL0804 -1. BAL0842 1. + SH080542 COST 624.53 TRAN0805 1. + SH080542 BAL0805 -1. BAL0842 1. + SH080642 COST 278.53 TRAN0806 1. + SH080642 BAL0852 -1. BAL0842 1. + SH080842 COST 262.96 TRAN0808 1. + SH080842 BAL0883 -1. BAL0842 1. + SH080143 COST 275.07 TRAN0801 1. + SH080143 BAL0801 -1. BAL0843 1. + SH080243 COST 683.35 TRAN0802 1. + SH080243 BAL0802 -1. BAL0843 1. + SH080343 COST 43.25 TRAN0803 1. + SH080343 BAL0803 -1. BAL0843 1. + SH080443 COST 512.08 TRAN0804 1. + SH080443 BAL0804 -1. BAL0843 1. + SH080543 COST 446.34 TRAN0805 1. + SH080543 BAL0805 -1. BAL0843 1. + SH080643 COST 173. TRAN0806 1. + SH080643 BAL0852 -1. BAL0843 1. + SH080743 COST 416.93 TRAN0807 1. + SH080743 BAL0864 -1. BAL0843 1. + SH080843 COST 468.83 TRAN0808 1. + SH080843 BAL0883 -1. BAL0843 1. + SH080144 COST 275.07 TRAN0801 1. + SH080144 BAL0801 -1. BAL0844 1. + SH080244 COST 655.67 TRAN0802 1. + SH080244 BAL0802 -1. BAL0844 1. + SH080344 COST 221.44 TRAN0803 1. + SH080344 BAL0803 -1. BAL0844 1. + SH080444 COST 539.76 TRAN0804 1. + SH080444 BAL0804 -1. BAL0844 1. + SH080544 COST 536.3 TRAN0805 1. + SH080544 BAL0805 -1. BAL0844 1. + SH080644 COST 153.97 TRAN0806 1. + SH080644 BAL0852 -1. BAL0844 1. + SH080844 COST 515.54 TRAN0808 1. + SH080844 BAL0883 -1. BAL0844 1. + SH080145 COST 297.56 TRAN0801 1. + SH080145 BAL0801 -1. BAL0845 1. + SH080245 COST 754.28 TRAN0802 1. + SH080245 BAL0802 -1. BAL0845 1. + SH080345 COST 278.53 TRAN0803 1. + SH080345 BAL0803 -1. BAL0845 1. + SH080445 COST 505.16 TRAN0804 1. + SH080445 BAL0804 -1. BAL0845 1. + SH080545 COST 404.82 TRAN0805 1. + SH080545 BAL0805 -1. BAL0845 1. + SH080645 COST 330.43 TRAN0806 1. + SH080645 BAL0852 -1. BAL0845 1. + SH080745 COST 340.81 TRAN0807 1. + SH080745 BAL0864 -1. BAL0845 1. + SH080845 COST 527.65 TRAN0808 1. + SH080845 BAL0883 -1. BAL0845 1. + SH080146 COST 423.85 TRAN0801 1. + SH080146 BAL0801 -1. BAL0846 1. + SH080246 COST 472.29 TRAN0802 1. + SH080246 BAL0802 -1. BAL0846 1. + SH080346 COST 382.33 TRAN0803 1. + SH080346 BAL0803 -1. BAL0846 1. + SH080446 COST 773.31 TRAN0804 1. + SH080446 BAL0804 -1. BAL0846 1. + SH080546 COST 743.9 TRAN0805 1. + SH080546 BAL0805 -1. BAL0846 1. + SH080646 COST 444.61 TRAN0806 1. + SH080646 BAL0852 -1. BAL0846 1. + SH080846 COST 775.04 TRAN0808 1. + SH080846 BAL0883 -1. BAL0846 1. + SH080147 COST 190.3 TRAN0801 1. + SH080147 BAL0801 -1. BAL0847 1. + SH080247 COST 645.29 TRAN0802 1. + SH080247 BAL0802 -1. BAL0847 1. + SH080347 COST 275.07 TRAN0803 1. + SH080347 BAL0803 -1. BAL0847 1. + SH080447 COST 474.02 TRAN0804 1. + SH080447 BAL0804 -1. BAL0847 1. + SH080547 COST 403.09 TRAN0805 1. + SH080547 BAL0805 -1. BAL0847 1. + SH080647 COST 250.85 TRAN0806 1. + SH080647 BAL0852 -1. BAL0847 1. + SH080847 COST 422.12 TRAN0808 1. + SH080847 BAL0883 -1. BAL0847 1. + SH080148 COST 164.35 TRAN0801 1. + SH080148 BAL0801 -1. BAL0848 1. + SH080248 COST 586.47 TRAN0802 1. + SH080248 BAL0802 -1. BAL0848 1. + SH080348 COST 237.01 TRAN0803 1. + SH080348 BAL0803 -1. BAL0848 1. + SH080448 COST 397.9 TRAN0804 1. + SH080448 BAL0804 -1. BAL0848 1. + SH080548 COST 427.31 TRAN0805 1. + SH080548 BAL0805 -1. BAL0848 1. + SH080648 COST 198.95 TRAN0806 1. + SH080648 BAL0852 -1. BAL0848 1. + SH080848 COST 337.35 TRAN0808 1. + SH080848 BAL0883 -1. BAL0848 1. + SH080149 COST 569.17 TRAN0801 1. + SH080149 BAL0801 -1. BAL0849 1. + SH080249 COST 925.55 TRAN0802 1. + SH080249 BAL0802 -1. BAL0849 1. + SH080349 COST 574.36 TRAN0803 1. + SH080349 BAL0803 -1. BAL0849 1. + SH080449 COST 659.13 TRAN0804 1. + SH080449 BAL0804 -1. BAL0849 1. + SH080549 COST 262.96 TRAN0805 1. + SH080549 BAL0805 -1. BAL0849 1. + SH080649 COST 584.74 TRAN0806 1. + SH080649 BAL0852 -1. BAL0849 1. + SH080749 COST 231.82 TRAN0807 1. + SH080749 BAL0864 -1. BAL0849 1. + SH080849 COST 705.84 TRAN0808 1. + SH080849 BAL0883 -1. BAL0849 1. + SH080150 COST 416.93 TRAN0801 1. + SH080150 BAL0801 -1. BAL0850 1. + SH080250 COST 1058.76 TRAN0802 1. + SH080250 BAL0802 -1. BAL0850 1. + SH080350 COST 425.58 TRAN0803 1. + SH080350 BAL0803 -1. BAL0850 1. + SH080450 COST 631.45 TRAN0804 1. + SH080450 BAL0804 -1. BAL0850 1. + SH080550 COST 406.55 TRAN0805 1. + SH080550 BAL0805 -1. BAL0850 1. + SH080750 COST 237.01 TRAN0807 1. + SH080750 BAL0864 -1. BAL0850 1. + SH080850 COST 702.38 TRAN0808 1. + SH080850 BAL0883 -1. BAL0850 1. + SH080151 COST 574.36 TRAN0801 1. + SH080151 BAL0801 -1. BAL0851 1. + SH080251 COST 951.5 TRAN0802 1. + SH080251 BAL0802 -1. BAL0851 1. + SH080351 COST 589.93 TRAN0803 1. + SH080351 BAL0803 -1. BAL0851 1. + SH080451 COST 584.74 TRAN0804 1. + SH080451 BAL0804 -1. BAL0851 1. + SH080551 COST 212.79 TRAN0805 1. + SH080551 BAL0805 -1. BAL0851 1. + SH080751 COST 171.27 TRAN0807 1. + SH080751 BAL0864 -1. BAL0851 1. + SH080851 COST 740.44 TRAN0808 1. + SH080851 BAL0883 -1. BAL0851 1. + SH080152 COST 193.76 TRAN0801 1. + SH080152 BAL0801 -1. BAL0852 1. + SH080252 COST 519. TRAN0802 1. + SH080252 BAL0802 -1. BAL0852 1. + SH080352 COST 141.86 TRAN0803 1. + SH080352 BAL0803 -1. BAL0852 1. + SH080452 COST 557.06 TRAN0804 1. + SH080452 BAL0804 -1. BAL0852 1. + SH080552 COST 510.35 TRAN0805 1. + SH080552 BAL0805 -1. BAL0852 1. + SH080852 COST 437.69 TRAN0808 1. + SH080852 BAL0883 -1. BAL0852 1. + SH080153 COST 621.07 TRAN0801 1. + SH080153 BAL0801 -1. BAL0853 1. + SH080253 COST 1100.28 TRAN0802 1. + SH080253 BAL0802 -1. BAL0853 1. + SH080353 COST 562.25 TRAN0803 1. + SH080353 BAL0803 -1. BAL0853 1. + SH080453 COST 712.76 TRAN0804 1. + SH080453 BAL0804 -1. BAL0853 1. + SH080553 COST 318.32 TRAN0805 1. + SH080553 BAL0805 -1. BAL0853 1. + SH080653 COST 621.07 TRAN0806 1. + SH080653 BAL0852 -1. BAL0853 1. + SH080753 COST 252.58 TRAN0807 1. + SH080753 BAL0864 -1. BAL0853 1. + SH080853 COST 697.19 TRAN0808 1. + SH080853 BAL0883 -1. BAL0853 1. + SH080154 COST 320.05 TRAN0801 1. + SH080154 BAL0801 -1. BAL0854 1. + SH080254 COST 769.85 TRAN0802 1. + SH080254 BAL0802 -1. BAL0854 1. + SH080354 COST 375.41 TRAN0803 1. + SH080354 BAL0803 -1. BAL0854 1. + SH080454 COST 593.39 TRAN0804 1. + SH080454 BAL0804 -1. BAL0854 1. + SH080554 COST 368.49 TRAN0805 1. + SH080554 BAL0805 -1. BAL0854 1. + SH080654 COST 351.19 TRAN0806 1. + SH080654 BAL0852 -1. BAL0854 1. + SH080854 COST 695.46 TRAN0808 1. + SH080854 BAL0883 -1. BAL0854 1. + SH080155 COST 480.94 TRAN0801 1. + SH080155 BAL0801 -1. BAL0855 1. + SH080255 COST 828.67 TRAN0802 1. + SH080255 BAL0802 -1. BAL0855 1. + SH080355 COST 486.13 TRAN0803 1. + SH080355 BAL0803 -1. BAL0855 1. + SH080455 COST 508.62 TRAN0804 1. + SH080455 BAL0804 -1. BAL0855 1. + SH080555 COST 266.42 TRAN0805 1. + SH080555 BAL0805 -1. BAL0855 1. + SH080655 COST 501.7 TRAN0806 1. + SH080655 BAL0852 -1. BAL0855 1. + SH080755 COST 185.11 TRAN0807 1. + SH080755 BAL0864 -1. BAL0855 1. + SH080855 COST 508.62 TRAN0808 1. + SH080855 BAL0883 -1. BAL0855 1. + SH080156 COST 674.7 TRAN0801 1. + SH080156 BAL0801 -1. BAL0856 1. + SH080256 COST 1001.67 TRAN0802 1. + SH080256 BAL0802 -1. BAL0856 1. + SH080356 COST 527.65 TRAN0803 1. + SH080356 BAL0803 -1. BAL0856 1. + SH080456 COST 631.45 TRAN0804 1. + SH080456 BAL0804 -1. BAL0856 1. + SH080556 COST 235.28 TRAN0805 1. + SH080556 BAL0805 -1. BAL0856 1. + SH080656 COST 586.47 TRAN0806 1. + SH080656 BAL0852 -1. BAL0856 1. + SH080756 COST 211.06 TRAN0807 1. + SH080756 BAL0864 -1. BAL0856 1. + SH080856 COST 617.61 TRAN0808 1. + SH080856 BAL0883 -1. BAL0856 1. + SH080157 COST 451.53 TRAN0801 1. + SH080157 BAL0801 -1. BAL0857 1. + SH080257 COST 899.6 TRAN0802 1. + SH080257 BAL0802 -1. BAL0857 1. + SH080357 COST 501.7 TRAN0803 1. + SH080357 BAL0803 -1. BAL0857 1. + SH080457 COST 404.82 TRAN0804 1. + SH080457 BAL0804 -1. BAL0857 1. + SH080557 COST 290.64 TRAN0805 1. + SH080557 BAL0805 -1. BAL0857 1. + SH080657 COST 551.87 TRAN0806 1. + SH080657 BAL0852 -1. BAL0857 1. + SH080757 COST 256.04 TRAN0807 1. + SH080757 BAL0864 -1. BAL0857 1. + SH080857 COST 399.63 TRAN0808 1. + SH080857 BAL0883 -1. BAL0857 1. + SH080158 COST 508.62 TRAN0801 1. + SH080158 BAL0801 -1. BAL0858 1. + SH080258 COST 901.33 TRAN0802 1. + SH080258 BAL0802 -1. BAL0858 1. + SH080358 COST 480.94 TRAN0803 1. + SH080358 BAL0803 -1. BAL0858 1. + SH080458 COST 593.39 TRAN0804 1. + SH080458 BAL0804 -1. BAL0858 1. + SH080558 COST 36.33 TRAN0805 1. + SH080558 BAL0805 -1. BAL0858 1. + SH080658 COST 563.98 TRAN0806 1. + SH080658 BAL0852 -1. BAL0858 1. + SH080758 COST 117.64 TRAN0807 1. + SH080758 BAL0864 -1. BAL0858 1. + SH080858 COST 439.42 TRAN0808 1. + SH080858 BAL0883 -1. BAL0858 1. + SH080159 COST 356.38 TRAN0801 1. + SH080159 BAL0801 -1. BAL0859 1. + SH080259 COST 861.54 TRAN0802 1. + SH080259 BAL0802 -1. BAL0859 1. + SH080359 COST 411.74 TRAN0803 1. + SH080359 BAL0803 -1. BAL0859 1. + SH080459 COST 422.12 TRAN0804 1. + SH080459 BAL0804 -1. BAL0859 1. + SH080559 COST 275.07 TRAN0805 1. + SH080559 BAL0805 -1. BAL0859 1. + SH080659 COST 513.81 TRAN0806 1. + SH080659 BAL0852 -1. BAL0859 1. + SH080759 COST 181.65 TRAN0807 1. + SH080759 BAL0864 -1. BAL0859 1. + SH080859 COST 441.15 TRAN0808 1. + SH080859 BAL0883 -1. BAL0859 1. + SH080160 COST 451.53 TRAN0801 1. + SH080160 BAL0801 -1. BAL0860 1. + SH080260 COST 951.5 TRAN0802 1. + SH080260 BAL0802 -1. BAL0860 1. + SH080360 COST 489.59 TRAN0803 1. + SH080360 BAL0803 -1. BAL0860 1. + SH080460 COST 539.76 TRAN0804 1. + SH080460 BAL0804 -1. BAL0860 1. + SH080560 COST 233.55 TRAN0805 1. + SH080560 BAL0805 -1. BAL0860 1. + SH080660 COST 558.79 TRAN0806 1. + SH080660 BAL0852 -1. BAL0860 1. + SH080760 COST 152.24 TRAN0807 1. + SH080760 BAL0864 -1. BAL0860 1. + SH080860 COST 517.27 TRAN0808 1. + SH080860 BAL0883 -1. BAL0860 1. + SH080163 COST 460.18 TRAN0801 1. + SH080163 BAL0801 -1. BAL0863 1. + SH080263 COST 854.62 TRAN0802 1. + SH080263 BAL0802 -1. BAL0863 1. + SH080363 COST 496.51 TRAN0803 1. + SH080363 BAL0803 -1. BAL0863 1. + SH080463 COST 638.37 TRAN0804 1. + SH080463 BAL0804 -1. BAL0863 1. + SH080563 COST 262.96 TRAN0805 1. + SH080563 BAL0805 -1. BAL0863 1. + SH080663 COST 544.95 TRAN0806 1. + SH080663 BAL0852 -1. BAL0863 1. + SH080763 COST 214.52 TRAN0807 1. + SH080763 BAL0864 -1. BAL0863 1. + SH080863 COST 692. TRAN0808 1. + SH080863 BAL0883 -1. BAL0863 1. + SH080164 COST 344.27 TRAN0801 1. + SH080164 BAL0801 -1. BAL0864 1. + SH080264 COST 909.98 TRAN0802 1. + SH080264 BAL0802 -1. BAL0864 1. + SH080364 COST 385.79 TRAN0803 1. + SH080364 BAL0803 -1. BAL0864 1. + SH080464 COST 581.28 TRAN0804 1. + SH080464 BAL0804 -1. BAL0864 1. + SH080564 COST 100.34 TRAN0805 1. + SH080564 BAL0805 -1. BAL0864 1. + SH080664 COST 548.41 TRAN0806 1. + SH080664 BAL0852 -1. BAL0864 1. + SH080864 COST 432.5 TRAN0808 1. + SH080864 BAL0883 -1. BAL0864 1. + SH080165 COST 747.36 TRAN0801 1. + SH080165 BAL0801 -1. BAL0865 1. + SH080265 COST 531.11 TRAN0802 1. + SH080265 BAL0802 -1. BAL0865 1. + SH080365 COST 873.65 TRAN0803 1. + SH080365 BAL0803 -1. BAL0865 1. + SH080465 COST 671.24 TRAN0804 1. + SH080465 BAL0804 -1. BAL0865 1. + SH080565 COST 1044.92 TRAN0805 1. + SH080565 BAL0805 -1. BAL0865 1. + SH080865 COST 717.95 TRAN0808 1. + SH080865 BAL0883 -1. BAL0865 1. + SH080166 COST 968.8 TRAN0801 1. + SH080166 BAL0801 -1. BAL0866 1. + SH080266 COST 448.07 TRAN0802 1. + SH080266 BAL0802 -1. BAL0866 1. + SH080366 COST 999.94 TRAN0803 1. + SH080366 BAL0803 -1. BAL0866 1. + SH080466 COST 961.88 TRAN0804 1. + SH080466 BAL0804 -1. BAL0866 1. + SH080566 COST 1228.3 TRAN0805 1. + SH080566 BAL0805 -1. BAL0866 1. + SH080866 COST 968.8 TRAN0808 1. + SH080866 BAL0883 -1. BAL0866 1. + SH080167 COST 735.25 TRAN0801 1. + SH080167 BAL0801 -1. BAL0867 1. + SH080267 COST 401.36 TRAN0802 1. + SH080267 BAL0802 -1. BAL0867 1. + SH080367 COST 852.89 TRAN0803 1. + SH080367 BAL0803 -1. BAL0867 1. + SH080467 COST 790.61 TRAN0804 1. + SH080467 BAL0804 -1. BAL0867 1. + SH080567 COST 1044.92 TRAN0805 1. + SH080567 BAL0805 -1. BAL0867 1. + SH080867 COST 792.34 TRAN0808 1. + SH080867 BAL0883 -1. BAL0867 1. + SH080168 COST 1027.62 TRAN0801 1. + SH080168 BAL0801 -1. BAL0868 1. + SH080268 COST 692. TRAN0802 1. + SH080268 BAL0802 -1. BAL0868 1. + SH080368 COST 968.8 TRAN0803 1. + SH080368 BAL0803 -1. BAL0868 1. + SH080468 COST 1214.46 TRAN0804 1. + SH080468 BAL0804 -1. BAL0868 1. + SH080568 COST 1636.58 TRAN0805 1. + SH080568 BAL0805 -1. BAL0868 1. + SH080868 COST 1299.23 TRAN0808 1. + SH080868 BAL0883 -1. BAL0868 1. + SH080169 COST 932.47 TRAN0801 1. + SH080169 BAL0801 -1. BAL0869 1. + SH080269 COST 382.33 TRAN0802 1. + SH080269 BAL0802 -1. BAL0869 1. + SH080369 COST 882.3 TRAN0803 1. + SH080369 BAL0803 -1. BAL0869 1. + SH080469 COST 1076.06 TRAN0804 1. + SH080469 BAL0804 -1. BAL0869 1. + SH080569 COST 1117.58 TRAN0805 1. + SH080569 BAL0805 -1. BAL0869 1. + SH080869 COST 1138.34 TRAN0808 1. + SH080869 BAL0883 -1. BAL0869 1. + SH080171 COST 761.2 TRAN0801 1. + SH080171 BAL0801 -1. BAL0871 1. + SH080371 COST 906.52 TRAN0803 1. + SH080371 BAL0803 -1. BAL0871 1. + SH080471 COST 901.33 TRAN0804 1. + SH080471 BAL0804 -1. BAL0871 1. + SH080571 COST 1005.13 TRAN0805 1. + SH080571 BAL0805 -1. BAL0871 1. + SH080671 COST 676.43 TRAN0806 1. + SH080671 BAL0852 -1. BAL0871 1. + SH080771 COST 1217.92 TRAN0807 1. + SH080771 BAL0864 -1. BAL0871 1. + SH080871 COST 922.09 TRAN0808 1. + SH080871 BAL0883 -1. BAL0871 1. + SH080172 COST 1015.51 TRAN0801 1. + SH080172 BAL0801 -1. BAL0872 1. + SH080272 COST 939.39 TRAN0802 1. + SH080272 BAL0802 -1. BAL0872 1. + SH080372 COST 1067.41 TRAN0803 1. + SH080372 BAL0803 -1. BAL0872 1. + SH080472 COST 986.1 TRAN0804 1. + SH080472 BAL0804 -1. BAL0872 1. + SH080572 COST 1319.99 TRAN0805 1. + SH080572 BAL0805 -1. BAL0872 1. + SH080872 COST 986.1 TRAN0808 1. + SH080872 BAL0883 -1. BAL0872 1. + SH080173 COST 674.7 TRAN0801 1. + SH080173 BAL0801 -1. BAL0873 1. + SH080273 COST 631.45 TRAN0802 1. + SH080273 BAL0802 -1. BAL0873 1. + SH080373 COST 584.74 TRAN0803 1. + SH080373 BAL0803 -1. BAL0873 1. + SH080473 COST 790.61 TRAN0804 1. + SH080473 BAL0804 -1. BAL0873 1. + SH080573 COST 975.72 TRAN0805 1. + SH080573 BAL0805 -1. BAL0873 1. + SH080673 COST 527.65 TRAN0806 1. + SH080673 BAL0852 -1. BAL0873 1. + SH080873 COST 871.92 TRAN0808 1. + SH080873 BAL0883 -1. BAL0873 1. + SH080174 COST 948.04 TRAN0801 1. + SH080174 BAL0801 -1. BAL0874 1. + SH080274 COST 363.3 TRAN0802 1. + SH080274 BAL0802 -1. BAL0874 1. + SH080374 COST 986.1 TRAN0803 1. + SH080374 BAL0803 -1. BAL0874 1. + SH080474 COST 1102.01 TRAN0804 1. + SH080474 BAL0804 -1. BAL0874 1. + SH080574 COST 1268.09 TRAN0805 1. + SH080574 BAL0805 -1. BAL0874 1. + SH080874 COST 1070.87 TRAN0808 1. + SH080874 BAL0883 -1. BAL0874 1. + SH080275 COST 958.42 TRAN0802 1. + SH080275 BAL0802 -1. BAL0875 1. + SH080176 COST 799.26 TRAN0801 1. + SH080176 BAL0801 -1. BAL0876 1. + SH080276 COST 693.73 TRAN0802 1. + SH080276 BAL0802 -1. BAL0876 1. + SH080376 COST 697.19 TRAN0803 1. + SH080376 BAL0803 -1. BAL0876 1. + SH080476 COST 1089.9 TRAN0804 1. + SH080476 BAL0804 -1. BAL0876 1. + SH080576 COST 1089.9 TRAN0805 1. + SH080576 BAL0805 -1. BAL0876 1. + SH080676 COST 659.13 TRAN0806 1. + SH080676 BAL0852 -1. BAL0876 1. + SH080876 COST 1344.21 TRAN0808 1. + SH080876 BAL0883 -1. BAL0876 1. + SH080177 COST 752.55 TRAN0801 1. + SH080177 BAL0801 -1. BAL0877 1. + SH080277 COST 470.56 TRAN0802 1. + SH080277 BAL0802 -1. BAL0877 1. + SH080377 COST 797.53 TRAN0803 1. + SH080377 BAL0803 -1. BAL0877 1. + SH080477 COST 693.73 TRAN0804 1. + SH080477 BAL0804 -1. BAL0877 1. + SH080577 COST 968.8 TRAN0805 1. + SH080577 BAL0805 -1. BAL0877 1. + SH080877 COST 553.6 TRAN0808 1. + SH080877 BAL0883 -1. BAL0877 1. + SH080178 COST 1316.53 TRAN0801 1. + SH080178 BAL0801 -1. BAL0878 1. + SH080278 COST 764.66 TRAN0802 1. + SH080278 BAL0802 -1. BAL0878 1. + SH080378 COST 1354.59 TRAN0803 1. + SH080378 BAL0803 -1. BAL0878 1. + SH080478 COST 1185.05 TRAN0804 1. + SH080478 BAL0804 -1. BAL0878 1. + SH080578 COST 1520.67 TRAN0805 1. + SH080578 BAL0805 -1. BAL0878 1. + SH080878 COST 1325.18 TRAN0808 1. + SH080878 BAL0883 -1. BAL0878 1. + SH080179 COST 1236.95 TRAN0801 1. + SH080179 BAL0801 -1. BAL0879 1. + SH080279 COST 465.37 TRAN0802 1. + SH080279 BAL0802 -1. BAL0879 1. + SH080379 COST 1195.43 TRAN0803 1. + SH080379 BAL0803 -1. BAL0879 1. + SH080479 COST 1245.6 TRAN0804 1. + SH080479 BAL0804 -1. BAL0879 1. + SH080879 COST 1221.38 TRAN0808 1. + SH080879 BAL0883 -1. BAL0879 1. + SH080180 COST 548.41 TRAN0801 1. + SH080180 BAL0801 -1. BAL0880 1. + SH080280 COST 683.35 TRAN0802 1. + SH080280 BAL0802 -1. BAL0880 1. + SH080380 COST 756.01 TRAN0803 1. + SH080380 BAL0803 -1. BAL0880 1. + SH080480 COST 647.02 TRAN0804 1. + SH080480 BAL0804 -1. BAL0880 1. + SH080580 COST 873.65 TRAN0805 1. + SH080580 BAL0805 -1. BAL0880 1. + SH080880 COST 415.2 TRAN0808 1. + SH080880 BAL0883 -1. BAL0880 1. + SH080182 COST 1006.86 TRAN0801 1. + SH080182 BAL0801 -1. BAL0882 1. + SH080282 COST 569.17 TRAN0802 1. + SH080282 BAL0802 -1. BAL0882 1. + SH080382 COST 1133.15 TRAN0803 1. + SH080382 BAL0803 -1. BAL0882 1. + SH080482 COST 1221.38 TRAN0804 1. + SH080482 BAL0804 -1. BAL0882 1. + SH080582 COST 1984.31 TRAN0805 1. + SH080582 BAL0805 -1. BAL0882 1. + SH080882 COST 1354.59 TRAN0808 1. + SH080882 BAL0883 -1. BAL0882 1. + SH080183 COST 306.21 TRAN0801 1. + SH080183 BAL0801 -1. BAL0883 1. + SH080283 COST 899.6 TRAN0802 1. + SH080283 BAL0802 -1. BAL0883 1. + SH080383 COST 470.56 TRAN0803 1. + SH080383 BAL0803 -1. BAL0883 1. + SH080483 COST 102.07 TRAN0804 1. + SH080483 BAL0804 -1. BAL0883 1. + SH080583 COST 600.31 TRAN0805 1. + SH080583 BAL0805 -1. BAL0883 1. + SH080683 COST 429.04 TRAN0806 1. + SH080683 BAL0852 -1. BAL0883 1. + SH080184 COST 525.92 TRAN0801 1. + SH080184 BAL0801 -1. BAL0884 1. + SH080284 COST 332.16 TRAN0802 1. + SH080284 BAL0802 -1. BAL0884 1. + SH080384 COST 629.72 TRAN0803 1. + SH080384 BAL0803 -1. BAL0884 1. + SH080484 COST 640.1 TRAN0804 1. + SH080484 BAL0804 -1. BAL0884 1. + SH080584 COST 847.7 TRAN0805 1. + SH080584 BAL0805 -1. BAL0884 1. + SH080684 COST 527.65 TRAN0806 1. + SH080684 BAL0852 -1. BAL0884 1. + SH080884 COST 671.24 TRAN0808 1. + SH080884 BAL0883 -1. BAL0884 1. + TRSH0101 COST 78. TRAN0101 -1. + TRSH0102 COST 78. TRAN0201 -1. + TRSH0103 COST 78. TRAN0301 -1. + TRSH0104 COST 101.5 TRAN0401 -1. + TRSH0105 COST 78. TRAN0501 -1. + TRSH0106 COST 78. TRAN0601 -1. + TRSH0107 COST 78. TRAN0701 -1. + TRSH0108 COST 101.5 TRAN0801 -1. + TRSH0201 COST 78. TRAN0102 -1. + TRSH0202 COST 78. TRAN0202 -1. + TRSH0203 COST 78. TRAN0302 -1. + TRSH0204 COST 101.5 TRAN0402 -1. + TRSH0205 COST 78. TRAN0502 -1. + TRSH0206 COST 78. TRAN0602 -1. + TRSH0207 COST 78. TRAN0702 -1. + TRSH0208 COST 101.5 TRAN0802 -1. + TRSH0301 COST 78. TRAN0103 -1. + TRSH0302 COST 78. TRAN0203 -1. + TRSH0303 COST 78. TRAN0303 -1. + TRSH0304 COST 101.5 TRAN0403 -1. + TRSH0305 COST 78. TRAN0503 -1. + TRSH0306 COST 78. TRAN0603 -1. + TRSH0307 COST 78. TRAN0703 -1. + TRSH0308 COST 101.5 TRAN0803 -1. + TRSH0401 COST 78. TRAN0104 -1. + TRSH0402 COST 78. TRAN0204 -1. + TRSH0403 COST 78. TRAN0304 -1. + TRSH0404 COST 101.5 TRAN0404 -1. + TRSH0405 COST 78. TRAN0504 -1. + TRSH0406 COST 78. TRAN0604 -1. + TRSH0407 COST 78. TRAN0704 -1. + TRSH0408 COST 101.5 TRAN0804 -1. + TRSH0501 COST 78. TRAN0105 -1. + TRSH0502 COST 78. TRAN0205 -1. + TRSH0503 COST 78. TRAN0305 -1. + TRSH0504 COST 101.5 TRAN0405 -1. + TRSH0505 COST 78. TRAN0505 -1. + TRSH0506 COST 78. TRAN0605 -1. + TRSH0507 COST 78. TRAN0705 -1. + TRSH0508 COST 101.5 TRAN0805 -1. + TRSH0601 COST 78. TRAN0106 -1. + TRSH0602 COST 78. TRAN0206 -1. + TRSH0603 COST 78. TRAN0306 -1. + TRSH0604 COST 101.5 TRAN0406 -1. + TRSH0605 COST 78. TRAN0506 -1. + TRSH0606 COST 78. TRAN0606 -1. + TRSH0607 COST 78. TRAN0706 -1. + TRSH0608 COST 101.5 TRAN0806 -1. + TRSH0701 COST 78. TRAN0107 -1. + TRSH0702 COST 78. TRAN0207 -1. + TRSH0703 COST 78. TRAN0307 -1. + TRSH0704 COST 101.5 TRAN0407 -1. + TRSH0705 COST 78. TRAN0507 -1. + TRSH0706 COST 78. TRAN0607 -1. + TRSH0707 COST 78. TRAN0707 -1. + TRSH0708 COST 101.5 TRAN0807 -1. + TRSH0801 COST 78. TRAN0108 -1. + TRSH0802 COST 78. TRAN0208 -1. + TRSH0803 COST 78. TRAN0308 -1. + TRSH0804 COST 101.5 TRAN0408 -1. + TRSH0805 COST 78. TRAN0508 -1. + TRSH0806 COST 78. TRAN0608 -1. + TRSH0807 COST 78. TRAN0708 -1. + TRSH0808 COST 101.5 TRAN0808 -1. +RHS + RHS REGMAX 7. OVRMAX 126. + RHS REGMAX01 3. REGMAX02 3. + RHS REGMAX04 3. OVRMAX01 48. + RHS OVRMAX02 48. OVRMAX04 30. + RHS BAL0102 .105342 BAL0104 .316026 + RHS BAL0106 .263355 BAL0107 1.15876 + RHS BAL0108 .948077 BAL0109 .421368 + RHS BAL0110 .57938 BAL0111 .632051 + RHS BAL0112 .526709 BAL0114 .421368 + RHS BAL0115 1.21143 BAL0116 .948077 + RHS BAL0117 1.05342 BAL0118 .421368 + RHS BAL0119 .684722 BAL0120 1.15876 + RHS BAL0121 1.10609 BAL0122 .684722 + RHS BAL0123 .57938 BAL0124 .0526709 + RHS BAL0125 .684722 BAL0126 .210684 + RHS BAL0127 .316026 BAL0128 .895406 + RHS BAL0129 .474038 BAL0130 .842735 + RHS BAL0131 .57938 BAL0132 1.00075 + RHS BAL0133 1.15876 BAL0134 1.05342 + RHS BAL0135 .632051 BAL0136 .368697 + RHS BAL0137 1.94882 BAL0138 1.79081 + RHS BAL0139 .368697 BAL0140 1.10609 + RHS BAL0141 .737393 BAL0142 .263355 + RHS BAL0143 1.52746 BAL0144 .895406 + RHS BAL0145 1.36944 BAL0146 .895406 + RHS BAL0147 .632051 BAL0148 .526709 + RHS BAL0149 .368697 BAL0150 .526709 + RHS BAL0151 .421368 BAL0153 1.00075 + RHS BAL0154 .421368 BAL0155 1.10609 + RHS BAL0156 .790064 BAL0157 .684722 + RHS BAL0158 2.0015 BAL0159 1.21143 + RHS BAL0160 1.21143 BAL0163 .526709 + RHS BAL0165 .210684 BAL0166 .263355 + RHS BAL0167 .210684 BAL0168 .105342 + RHS BAL0169 .158013 BAL0171 .948077 + RHS BAL0172 .210684 BAL0173 .158013 + RHS BAL0174 .105342 BAL0175 .210684 + RHS BAL0176 .0526709 BAL0177 1.00075 + RHS BAL0178 .842735 BAL0179 .105342 + RHS BAL0180 .263355 BAL0182 .316026 + RHS BAL0184 .316026 BAL0201 .130917 + RHS BAL0202 .261834 BAL0204 .785501 + RHS BAL0206 1.17825 BAL0207 3.79659 + RHS BAL0208 2.74925 BAL0209 1.571 + RHS BAL0210 2.09467 BAL0211 1.96375 + RHS BAL0212 1.83284 BAL0214 1.70192 + RHS BAL0215 6.15309 BAL0216 2.09467 + RHS BAL0217 2.09467 BAL0218 1.571 + RHS BAL0219 3.01109 BAL0220 3.01109 + RHS BAL0221 3.142 BAL0222 2.22559 + RHS BAL0223 2.22559 BAL0224 .130917 + RHS BAL0225 1.30917 BAL0226 .523667 + RHS BAL0227 1.17825 BAL0228 1.571 + RHS BAL0229 1.30917 BAL0230 1.571 + RHS BAL0231 1.571 BAL0232 1.96375 + RHS BAL0233 2.74925 BAL0234 2.09467 + RHS BAL0235 1.30917 BAL0236 .654584 + RHS BAL0237 3.66567 BAL0238 3.142 + RHS BAL0239 1.571 BAL0240 1.70192 + RHS BAL0241 1.17825 BAL0242 1.30917 + RHS BAL0243 4.18934 BAL0244 1.17825 + RHS BAL0245 2.22559 BAL0246 2.09467 + RHS BAL0247 1.44009 BAL0248 1.04733 + RHS BAL0249 .654584 BAL0250 .785501 + RHS BAL0251 .523667 BAL0253 2.22559 + RHS BAL0254 .654584 BAL0255 1.83284 + RHS BAL0256 1.571 BAL0257 1.30917 + RHS BAL0258 3.27292 BAL0259 2.3565 + RHS BAL0260 1.83284 BAL0263 .785501 + RHS BAL0265 .916418 BAL0266 .916418 + RHS BAL0267 .785501 BAL0268 .261834 + RHS BAL0269 .654584 BAL0271 3.27292 + RHS BAL0272 .392751 BAL0273 1.04733 + RHS BAL0274 .523667 BAL0275 .523667 + RHS BAL0276 .392751 BAL0277 3.53475 + RHS BAL0278 2.09467 BAL0279 .392751 + RHS BAL0280 .654584 BAL0282 1.04733 + RHS BAL0284 1.30917 BAL0302 .067364 + RHS BAL0307 .471548 BAL0308 .404184 + RHS BAL0309 .134728 BAL0310 1.48201 + RHS BAL0311 .067364 BAL0312 .067364 + RHS BAL0315 7.94895 BAL0316 .202092 + RHS BAL0321 .134728 BAL0327 .875732 + RHS BAL0329 .134728 BAL0331 .269456 + RHS BAL0333 .269456 BAL0336 .875732 + RHS BAL0337 .875732 BAL0338 .134728 + RHS BAL0339 .134728 BAL0340 .33682 + RHS BAL0341 .538912 BAL0342 .067364 + RHS BAL0343 3.70502 BAL0344 1.54937 + RHS BAL0345 .404184 BAL0346 3.03138 + RHS BAL0347 .404184 BAL0348 .067364 + RHS BAL0354 .067364 BAL0355 .134728 + RHS BAL0358 .067364 BAL0365 .134728 + RHS BAL0366 1.34728 BAL0367 .404184 + RHS BAL0368 1.75146 BAL0369 1.88619 + RHS BAL0371 5.72594 BAL0372 .67364 + RHS BAL0373 3.70502 BAL0374 1.95356 + RHS BAL0375 .269456 BAL0376 1.61674 + RHS BAL0377 1.41464 BAL0378 2.22301 + RHS BAL0379 3.16611 BAL0382 11.8561 + RHS BAL0384 1.34728 BAL0502 .135821 + RHS BAL0504 .543284 BAL0506 .543284 + RHS BAL0507 2.5806 BAL0508 2.03731 + RHS BAL0509 .814925 BAL0510 2.85224 + RHS BAL0511 1.08657 BAL0512 1.22239 + RHS BAL0514 1.35821 BAL0515 5.70448 + RHS BAL0516 3.12388 BAL0517 1.49403 + RHS BAL0518 1.35821 BAL0519 1.22239 + RHS BAL0520 1.35821 BAL0521 6.24776 + RHS BAL0522 .950746 BAL0523 1.08657 + RHS BAL0525 2.71642 BAL0526 .407463 + RHS BAL0527 1.90149 BAL0528 2.17313 + RHS BAL0529 1.76567 BAL0530 1.22239 + RHS BAL0531 1.49403 BAL0532 1.62985 + RHS BAL0533 3.39552 BAL0534 2.03731 + RHS BAL0535 .814925 BAL0536 .407463 + RHS BAL0537 3.39552 BAL0538 2.5806 + RHS BAL0539 1.08657 BAL0540 2.98806 + RHS BAL0541 1.49403 BAL0542 .679104 + RHS BAL0543 4.07463 BAL0544 .814925 + RHS BAL0545 3.2597 BAL0546 4.34627 + RHS BAL0547 2.03731 BAL0548 1.90149 + RHS BAL0549 .543284 BAL0550 1.90149 + RHS BAL0551 .407463 BAL0552 .135821 + RHS BAL0553 1.22239 BAL0554 .950746 + RHS BAL0555 3.2597 BAL0556 .950746 + RHS BAL0557 1.49403 BAL0558 3.66716 + RHS BAL0559 2.5806 BAL0560 2.17313 + RHS BAL0563 1.62985 BAL0565 1.35821 + RHS BAL0566 .679104 BAL0567 1.35821 + RHS BAL0568 .407463 BAL0569 .679104 + RHS BAL0571 4.21045 BAL0572 .679104 + RHS BAL0573 .950746 BAL0574 .679104 + RHS BAL0575 .271642 BAL0576 .407463 + RHS BAL0577 4.61791 BAL0578 2.03731 + RHS BAL0579 .407463 BAL0580 .543284 + RHS BAL0582 1.22239 BAL0584 1.62985 + RHS BAL0604 .0460795 BAL0606 .153598 + RHS BAL0607 .122879 BAL0608 .291837 + RHS BAL0609 .184318 BAL0610 .307197 + RHS BAL0611 .291837 BAL0612 .0614393 + RHS BAL0614 .445435 BAL0615 .368636 + RHS BAL0616 .0614393 BAL0617 .138238 + RHS BAL0618 .122879 BAL0619 .307197 + RHS BAL0620 .215038 BAL0621 .522234 + RHS BAL0622 .153598 BAL0623 .383996 + RHS BAL0625 .383996 BAL0626 .0460795 + RHS BAL0627 .0614393 BAL0628 .368636 + RHS BAL0629 .122879 BAL0630 .0614393 + RHS BAL0631 .0767991 BAL0632 .153598 + RHS BAL0633 .353276 BAL0634 .245757 + RHS BAL0635 .0460795 BAL0636 .0307197 + RHS BAL0637 .583673 BAL0638 .368636 + RHS BAL0639 .0767991 BAL0640 .122879 + RHS BAL0641 .0767991 BAL0642 .0767991 + RHS BAL0643 .215038 BAL0644 .0460795 + RHS BAL0645 .491514 BAL0646 .261117 + RHS BAL0647 .184318 BAL0648 .184318 + RHS BAL0649 .138238 BAL0650 .107519 + RHS BAL0651 .184318 BAL0653 .568314 + RHS BAL0654 .0614393 BAL0655 .552954 + RHS BAL0656 .276477 BAL0657 .153598 + RHS BAL0658 .552954 BAL0659 .460795 + RHS BAL0660 .460795 BAL0663 .138238 + RHS BAL0665 .107519 BAL0666 .0767991 + RHS BAL0667 .0614393 BAL0668 .0614393 + RHS BAL0669 .0614393 BAL0671 .414715 + RHS BAL0672 .107519 BAL0673 .0767991 + RHS BAL0674 .0307197 BAL0676 .0767991 + RHS BAL0677 .138238 BAL0678 .291837 + RHS BAL0679 .0460795 BAL0680 .0460795 + RHS BAL0682 .0614393 BAL0684 .168958 + RHS BAL0706 .125786 BAL0707 .330189 + RHS BAL0708 .188679 BAL0709 .125786 + RHS BAL0710 .235849 BAL0711 .235849 + RHS BAL0712 .141509 BAL0714 .204403 + RHS BAL0715 .471698 BAL0716 .172956 + RHS BAL0717 .204403 BAL0718 .235849 + RHS BAL0719 .393082 BAL0720 .408805 + RHS BAL0721 .361635 BAL0722 .188679 + RHS BAL0723 .220126 BAL0725 .0786164 + RHS BAL0726 .0786164 BAL0727 .0943396 + RHS BAL0728 .267296 BAL0729 .157233 + RHS BAL0730 .393082 BAL0731 .220126 + RHS BAL0732 .188679 BAL0733 .204403 + RHS BAL0734 .172956 BAL0735 .157233 + RHS BAL0736 .0943396 BAL0737 .408805 + RHS BAL0738 .707547 BAL0739 .141509 + RHS BAL0740 .110063 BAL0741 .157233 + RHS BAL0742 .125786 BAL0743 .283019 + RHS BAL0744 .235849 BAL0745 .471698 + RHS BAL0746 .220126 BAL0747 .125786 + RHS BAL0748 .141509 BAL0749 .188679 + RHS BAL0750 .235849 BAL0751 .251572 + RHS BAL0753 .707547 BAL0754 .172956 + RHS BAL0755 .314465 BAL0756 .424528 + RHS BAL0757 .204403 BAL0758 .896226 + RHS BAL0759 .220126 BAL0760 .550314 + RHS BAL0763 .220126 BAL0765 .0786164 + RHS BAL0766 .0628931 BAL0767 .0628931 + RHS BAL0768 .0471698 BAL0769 .0314465 + RHS BAL0771 .0943396 BAL0772 .0628931 + RHS BAL0773 .0943396 BAL0774 .0157233 + RHS BAL0776 .0471698 BAL0777 .0786164 + RHS BAL0778 .141509 BAL0779 .0314465 + RHS BAL0780 .0471698 BAL0782 .0786164 + RHS BAL0784 .157233 +ENDATA diff --git a/demos/ppl_lpsol/examples/unboundedmin.mps b/demos/ppl_lpsol/examples/unboundedmin.mps new file mode 100644 index 000000000..9f3549d19 --- /dev/null +++ b/demos/ppl_lpsol/examples/unboundedmin.mps @@ -0,0 +1,21 @@ +NAME from_lp_file +ROWS + N r_000000 + L C1 + L r_000002 +COLUMNS + MARK0000 'MARKER' 'INTORG' + x1 r_000000 1 + x1 C1 2 + x1 r_000002 -4 + x2 r_000000 -2 + x2 C1 -1 + x2 r_000002 -4 + MARK0001 'MARKER' 'INTEND' +RHS + RHS C1 0 + RHS r_000002 0 +BOUNDS + PL FOO x1 + PL FOO x2 +ENDATA diff --git a/demos/ppl_lpsol/expected_int16 b/demos/ppl_lpsol/expected_int16 new file mode 100644 index 000000000..7076bbb89 --- /dev/null +++ b/demos/ppl_lpsol/expected_int16 @@ -0,0 +1,973 @@ +*** ./ppl_lpsol -s -p1 -c -oobtained -n egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n ex1.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n markshare1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n markshare2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n noswot.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n opt1217.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n pk1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n rout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n unboundedmin.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -m ex1.mps +Optimum value: -3 +Optimum location: +x1 = 1 +x2 = 2 +*** ./ppl_lpsol -s -p1 -c -oobtained -M ex1.mps +Optimum value: 2 +Optimum location: +x1 = 2 +x2 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -m mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -M mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -m p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -M p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m adlittle.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M adlittle.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m afiro.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M afiro.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m bgprtr.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M bgprtr.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m blend.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M blend.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m boeing1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M boeing1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m boeing2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M boeing2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m ex1.mps +Optimum value: -3.75 +Optimum location: +x1 = 1.25 +x2 = 2.5 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m kb2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M kb2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m markshare1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M markshare1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m markshare2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M markshare2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m noswot.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M noswot.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m opt1217.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M opt1217.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +x4 = 0 +x5 = 0 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 0 +x13 = 0 +x14 = 0 +x15 = 0 +x16 = 0 +x17 = 0 +x18 = 1 +x19 = 0 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 0 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 0 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 0 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 0 +x48 = 0 +x49 = 0 +x50 = 0 +x51 = 0 +x52 = 0 +x53 = 0 +x54 = 0 +x55 = 0 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 0 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 0 +x65 = 0 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 0 +x70 = 0 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 0 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 0 +x81 = 0 +x82 = 0 +x83 = 0 +x84 = 0 +x85 = 0 +x86 = 0 +x87 = 0 +x88 = 0 +x89 = 0 +x90 = 0 +x91 = 0 +x92 = 0 +x93 = 0 +x94 = 0 +x95 = 0 +x96 = 0 +x97 = 0 +x98 = 0 +x99 = 0 +x100 = 0 +x101 = 0 +x102 = 0 +x103 = 0 +x104 = 0 +x105 = 0 +x106 = 0 +x107 = 0 +x108 = 0 +x109 = 0 +x110 = 0 +x111 = 0 +x112 = 0 +x113 = 0 +x114 = 0 +x115 = 0 +x116 = 0 +x117 = 0 +x118 = 1 +x119 = 1 +x120 = 0 +x121 = 0 +x122 = 0 +x123 = 0 +x124 = 0 +x125 = 0 +x126 = 0 +x127 = 0 +x128 = 0 +x129 = 0 +x130 = 0 +x131 = 0 +x132 = 0 +x133 = 0 +x134 = 0 +x135 = 0 +x136 = 0 +x137 = 0 +x138 = 0 +x139 = 1 +x140 = 0 +x141 = 0 +x142 = 0 +x143 = 0 +x144 = 0 +x145 = 0 +x146 = 0 +x147 = 0 +x148 = 0 +x149 = 0 +x150 = 0 +x151 = 0 +x152 = 0 +x153 = 0 +x154 = 0 +x155 = 0 +x156 = 0 +x157 = 0 +x158 = 0 +x159 = 0 +x160 = 0 +x161 = 0 +x162 = 0 +x163 = 0 +x164 = 0 +x165 = 0 +x166 = 0 +x167 = 0 +x168 = 0 +x169 = 0 +x170 = 0 +x171 = 0 +x172 = 0 +x173 = 0 +x174 = 0 +x175 = 0 +x176 = 0 +x177 = 0 +x178 = 0 +x179 = 0 +x180 = 0 +x181 = 0 +x182 = 0 +x183 = 0 +x184 = 0 +x185 = 0 +x186 = 0 +x187 = 0 +x188 = 0 +x189 = 0 +x190 = 0 +x191 = 0 +x192 = 0 +x193 = 0 +x194 = 0 +x195 = 0 +x196 = 0 +x197 = 0 +x198 = 0 +x199 = 0 +x200 = 0 +x201 = 0 +x202 = 0 +x203 = 0 +x204 = 0 +x205 = 0 +x206 = 0 +x207 = 0 +x208 = 0 +x209 = 0 +x210 = 0 +x211 = 0 +x212 = 0 +x213 = 0 +x214 = 0 +x215 = 0 +x216 = 0 +x217 = 0 +x218 = 0 +x219 = 0 +x220 = 0 +x221 = 1 +x222 = 0 +x223 = 0 +x224 = 0 +x225 = 0 +x226 = 1 +x227 = 0 +x228 = 1 +x229 = 1 +x230 = 0 +x231 = 0 +x232 = 0 +x233 = 0 +x234 = 0 +x235 = 0 +x236 = 1 +x237 = 0 +x238 = 0 +x239 = 0 +x240 = 0 +x241 = 0 +x242 = 0 +x243 = 1 +x244 = 0 +x245 = 0 +x246 = 1 +x247 = 1 +x248 = 1 +x249 = 1 +x250 = 1 +x251 = 1 +x252 = 0 +x253 = 0 +x254 = 0 +x255 = 0 +x256 = 0 +x257 = 0 +x258 = 0 +x259 = 0 +x260 = 0 +x261 = 0 +x262 = 0 +x263 = 0 +x264 = 0 +x265 = 0 +x266 = 0 +x267 = 0 +x268 = 0 +x269 = 0 +x270 = 0 +x271 = 0 +x272 = 0 +x273 = 0 +x274 = 0 +x275 = 0 +x276 = 0 +x277 = 0 +x278 = 0 +x279 = 0 +x280 = 0 +x281 = 0 +x282 = 0 +x283 = 0 +x284 = 0 +x285 = 0 +x286 = 0 +x287 = 0 +x288 = 0 +x289 = 1 +x290 = 0 +x291 = 0 +x292 = 0 +x293 = 0 +x294 = 0 +x295 = 0 +x296 = 0 +x297 = 0 +x298 = 0 +x299 = 0 +x300 = 0 +x301 = 0 +x302 = 0 +x303 = 0 +x304 = 0 +x305 = 0 +x306 = 0 +x307 = 0 +x308 = 0 +x309 = 0 +x310 = 0 +x311 = 0 +x312 = 0 +x313 = 0 +x314 = 0 +x315 = 0 +x316 = 0 +x317 = 0 +x318 = 0 +x319 = 0 +x320 = 0 +x321 = 0 +x322 = 0 +x323 = 0 +x324 = 0 +x325 = 0 +x326 = 0 +x327 = 0 +x328 = 0 +x329 = 0 +x330 = 0 +x331 = 0 +x332 = 0 +x333 = 0 +x334 = 0 +x335 = 0 +x336 = 1 +x337 = 0 +x338 = 0 +x339 = 0 +x340 = 0 +x341 = 0 +x342 = 0 +x343 = 0 +x344 = 0 +x345 = 0 +x346 = 0 +x347 = 0 +x348 = 0 +x349 = 0 +x350 = 0 +x351 = 0 +x352 = 0 +x353 = 0 +x354 = 0 +x355 = 0 +x356 = 0 +x357 = 0 +x358 = 0 +x359 = 0 +x360 = 0 +x361 = 0 +x362 = 0 +x363 = 0 +x364 = 0 +x365 = 0 +x366 = 0 +x367 = 0 +x368 = 0 +x369 = 0 +x370 = 0 +x371 = 0 +x372 = 0 +x373 = 0 +x374 = 0 +x375 = 0 +x376 = 0 +x377 = 1 +x378 = 1 +x379 = 1 +x380 = 0 +x381 = 0 +x382 = 0 +x383 = 0 +x384 = 0 +x385 = 0 +x386 = 0 +x387 = 0 +x388 = 0 +x389 = 0 +x390 = 0 +x391 = 0 +x392 = 0 +x393 = 0 +x394 = 0 +x395 = 0 +x396 = 0 +x397 = 0 +x398 = 0 +x399 = 0 +x400 = 0 +x401 = 0 +x402 = 0 +x403 = 0 +x404 = 0 +x405 = 0 +x406 = 0 +x407 = 0 +x408 = 0 +x409 = 0 +x410 = 0 +x411 = 0 +x412 = 0 +x413 = 0 +x414 = 0 +x415 = 0 +x416 = 0 +x417 = 0 +x418 = 0 +x419 = 0 +x420 = 0 +x421 = 0 +x422 = 0 +x423 = 0 +x424 = 0 +x425 = 0 +x426 = 0 +x427 = 0 +x428 = 0 +x429 = 1 +x430 = 1 +x431 = 0 +x432 = 0 +x433 = 0 +x434 = 0 +x435 = 0 +x436 = 0 +x437 = 0 +x438 = 0 +x439 = 0 +x440 = 0 +x441 = 0 +x442 = 0 +x443 = 0 +x444 = 0 +x445 = 0 +x446 = 0 +x447 = 0 +x448 = 0 +x449 = 0 +x450 = 0 +x451 = 0 +x452 = 0 +x453 = 0 +x454 = 1 +x455 = 1 +x456 = 0 +x457 = 0 +x458 = 0 +x459 = 0 +x460 = 0 +x461 = 0 +x462 = 0 +x463 = 0 +x464 = 0 +x465 = 0 +x466 = 0 +x467 = 0 +x468 = 0 +x469 = 0 +x470 = 0 +x471 = 0 +x472 = 0 +x473 = 0 +x474 = 0 +x475 = 0 +x476 = 0 +x477 = 0 +x478 = 0 +x479 = 0 +x480 = 0 +x481 = 0 +x482 = 0 +x483 = 0 +x484 = 0 +x485 = 0 +x486 = 0 +x487 = 0 +x488 = 0 +x489 = 0 +x490 = 0 +x491 = 0 +x492 = 0 +x493 = 0 +x494 = 1 +x495 = 0 +x496 = 0 +x497 = 0 +x498 = 0 +x499 = 0 +x500 = 0 +x501 = 0 +x502 = 0 +x503 = 0 +x504 = 1 +x505 = 1 +x506 = 0 +x507 = 0 +x508 = 0 +x509 = 0 +x510 = 0 +x511 = 0 +x512 = 0 +x513 = 0 +x514 = 0 +x515 = 0 +x516 = 0 +x517 = 0 +x518 = 0 +x519 = 0 +x520 = 0 +x521 = 0 +x522 = 0 +x523 = 0 +x524 = 0 +x525 = 0 +x526 = 0 +x527 = 0 +x528 = 0 +x529 = 0 +x530 = 0 +x531 = 0 +x532 = 0 +x533 = 0 +x534 = 0 +x535 = 0 +x536 = 0 +x537 = 0 +x538 = 0 +x539 = 0 +x540 = 1 +x541 = 0 +x542 = 0 +x543 = 0 +x544 = 0 +x545 = 0 +x546 = 0 +x547 = 0 +x548 = 0 +x549 = 0 +x550 = 0 +x551 = 0 +x552 = 0 +x553 = 0 +x554 = 0 +x555 = 0 +x556 = 0 +x557 = 0 +x558 = 0 +x559 = 0 +x560 = 0 +x561 = 0 +x562 = 0 +x563 = 0 +x564 = 0 +x565 = 0 +x566 = 0 +x567 = 0 +x568 = 0 +x569 = 0 +x570 = 0 +x571 = 0 +x572 = 0 +x573 = 0 +x574 = 0 +x575 = 0 +x576 = 0 +x577 = 0 +x578 = 0 +x579 = 0 +x580 = 0 +x581 = 0 +x582 = 0 +x583 = 0 +x584 = 0 +x585 = 0 +x586 = 0 +x587 = 0 +x588 = 0 +x589 = 1 +x590 = 0 +x591 = 0 +x592 = 0 +x593 = 0 +x594 = 1 +x595 = 1 +x596 = 0 +x597 = 0 +x598 = 0 +x599 = 0 +x600 = 0 +x601 = 0 +x602 = 0 +x603 = 0 +x604 = 0 +x605 = 0 +x606 = 0 +x607 = 0 +x608 = 0 +x609 = 0 +x610 = 0 +x611 = 0 +x612 = 0 +x613 = 0 +x614 = 0 +x615 = 0 +x616 = 0 +x617 = 0 +x618 = 0 +x619 = 0 +x620 = 0 +x621 = 0 +x622 = 0 +x623 = 0 +x624 = 0 +x625 = 0 +x626 = 0 +x627 = 0 +x628 = 0 +x629 = 0 +x630 = 0 +x631 = 0 +x632 = 0 +x633 = 0 +x634 = 0 +x635 = 0 +x636 = 0 +x637 = 0 +x638 = 0 +x639 = 0 +x640 = 0 +x641 = 0 +x642 = 0 +x643 = 0 +x644 = 0 +x645 = 0 +x646 = 0 +x647 = 0 +x648 = 0 +x649 = 0 +x650 = 0 +x651 = 0 +x652 = 1 +x653 = 0 +x654 = 0 +x655 = 0 +x656 = 1 +x657 = 0 +x658 = 0 +x659 = 0 +x660 = 0 +x661 = 0 +x662 = 0 +x663 = 0 +x664 = 0 +x665 = 0 +x666 = 0 +x667 = 0 +x668 = 0 +x669 = 0 +x670 = 0 +x671 = 0 +x672 = 0 +x673 = 0 +x674 = 0 +x675 = 0 +x676 = 0 +x677 = 0 +x678 = 0 +x679 = 0 +x680 = 0 +x681 = 0 +x682 = 0 +x683 = 0 +x684 = 0 +x685 = 0 +x686 = 0 +x687 = 0 +x688 = 0 +x689 = 0 +x690 = 0 +x691 = 0 +x692 = 0 +x693 = 0 +x694 = 0 +x695 = 0 +x696 = 1 +x697 = 1 +x698 = 0 +x699 = 0 +x700 = 0 +x701 = 0 +x702 = 0 +x703 = 0 +x704 = 0 +x705 = 1 +x706 = 1 +x707 = 0 +x708 = 0 +x709 = 0 +x710 = 0 +x711 = 0 +x712 = 0 +x713 = 0 +x714 = 0 +x715 = 0 +x716 = 0 +x717 = 0 +x718 = 0 +x719 = 0 +x720 = 0 +x721 = 0 +x722 = 0 +x723 = 0 +x724 = 0 +x725 = 0 +x726 = 0 +x727 = 0 +x728 = 0 +x729 = 0 +x730 = 0 +x731 = 0 +x732 = 0 +x733 = 0 +x734 = 0 +x735 = 0 +x736 = 0 +x737 = 0 +x738 = 0 +x739 = 0 +x740 = 0 +x741 = 0 +x742 = 0 +x743 = 0 +x744 = 0 +x745 = 0 +x746 = 0 +x747 = 0 +x748 = 0 +x749 = 0 +x750 = 1 +x751 = 0 +x752 = 0 +x753 = 0 +x754 = 0 +x755 = 0 +x756 = 0 +x757 = 0 +x758 = 0 +x759 = 0 +x760 = 1 +x761 = 1 +x762 = 1 +x763 = 1 +x764 = 1 +x765 = 1 +x766 = 0 +x767 = 1 +x768 = 1 +x769 = 1 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m pk1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M pk1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m rout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M rout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sample.mps +Optimum value: -733.3333333 +Optimum location: +x1 = 33.33333333 +x2 = 66.66666667 +x3 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sample.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sc105.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sc105.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sc50a.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sc50a.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sc50b.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sc50b.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ppl_lpsol -e -r -oobtained afiro.mps +PPL error code -6: Negative overflow. +*** ppl_lpsol -e -r -oobtained bgprtr.mps +PPL error code -6: Negative overflow. +*** ppl_lpsol -e -r -oobtained ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ppl_lpsol -e -r -oobtained mip.mps +Optimum value: 46.42857143 +Optimum location: +X1 = 4 +X2 = 4.571428571 +X3 = 0.5714285714 +X4 = 3 +*** ppl_lpsol -e -r -oobtained sample.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +*** ppl_lpsol -e -r -oobtained unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M -c0.000123 mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000002 modglob.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000003 modglob.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n modglob.mps +PPL error code -6: Positive overflow. diff --git a/demos/ppl_lpsol/expected_int16_a b/demos/ppl_lpsol/expected_int16_a new file mode 100644 index 000000000..cca3c2395 --- /dev/null +++ b/demos/ppl_lpsol/expected_int16_a @@ -0,0 +1,181 @@ +*** ./ppl_lpsol -s -p1 -oobtained -n egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n ex1.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -n lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n markshare1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n markshare2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n unboundedmin.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -m ex1.mps +Optimum value: -3 +Optimum location: +x1 = 1 +x2 = 2 +*** ./ppl_lpsol -s -p1 -oobtained -M ex1.mps +Optimum value: 2 +Optimum location: +x1 = 2 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -m mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -M mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -m p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -M p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -oobtained -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m adlittle.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M adlittle.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m afiro.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M afiro.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m bgprtr.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M bgprtr.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m blend.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M blend.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m boeing1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M boeing1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m boeing2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M boeing2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m ex1.mps +Optimum value: -3.75 +Optimum location: +x1 = 1.25 +x2 = 2.5 +*** ./ppl_lpsol -s -p1 -oobtained -r -M ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m kb2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M kb2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m markshare1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M markshare1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m markshare2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M markshare2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m noswot.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M noswot.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m pk1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M pk1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m sample.mps +Optimum value: -733.3333333 +Optimum location: +x1 = 33.33333333 +x2 = 66.66666667 +x3 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -M sample.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m sc105.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M sc105.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m sc50a.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M sc50a.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m sc50b.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M sc50b.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -oobtained -r -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ppl_lpsol -e -r -oobtained bgprtr.mps +PPL error code -6: Negative overflow. +*** ppl_lpsol -e -r -oobtained ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ppl_lpsol -e -r -oobtained mip.mps +Optimum value: 46.42857143 +Optimum location: +X1 = 4 +X2 = 4.571428571 +X3 = 0.5714285714 +X4 = 3 +*** ppl_lpsol -e -r -oobtained sample.mps +PPL error code -6: Negative overflow. +*** ppl_lpsol -e -r -oobtained unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000002 modglob.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000003 modglob.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n modglob.mps +PPL error code -6: Positive overflow. diff --git a/demos/ppl_lpsol/expected_int32 b/demos/ppl_lpsol/expected_int32 new file mode 100644 index 000000000..3a2a5af83 --- /dev/null +++ b/demos/ppl_lpsol/expected_int32 @@ -0,0 +1,993 @@ +*** ./ppl_lpsol -s -p1 -c -oobtained -n egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n ex1.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n markshare1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n markshare2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n mip.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n noswot.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n opt1217.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n pk1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n rout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n unboundedmin.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -m ex1.mps +Optimum value: -3 +Optimum location: +x1 = 1 +x2 = 2 +*** ./ppl_lpsol -s -p1 -c -oobtained -M ex1.mps +Optimum value: 2 +Optimum location: +x1 = 2 +x2 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -m mip.mps +Optimum value: 24.33333333 +Optimum location: +X1 = 2.666666667 +X2 = 2 +X3 = 1 +X4 = 3.333333333 +*** ./ppl_lpsol -s -p1 -c -oobtained -M mip.mps +Optimum value: 43 +Optimum location: +X1 = 4 +X2 = 4 +X3 = 0 +X4 = 3 +*** ./ppl_lpsol -s -p1 -c -oobtained -m p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -M p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m adlittle.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M adlittle.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m afiro.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M afiro.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m bgprtr.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M bgprtr.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m blend.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M blend.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m boeing1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M boeing1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m boeing2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M boeing2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m ex1.mps +Optimum value: -3.75 +Optimum location: +x1 = 1.25 +x2 = 2.5 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m kb2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M kb2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m markshare1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M markshare1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m markshare2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M markshare2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mip.mps +Optimum value: 24.07692308 +Optimum location: +X1 = 2.615384615 +X2 = 2 +X3 = 0.7692307692 +X4 = 3 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M mip.mps +Optimum value: 46.42857143 +Optimum location: +X1 = 4 +X2 = 4.571428571 +X3 = 0.5714285714 +X4 = 3 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m noswot.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M noswot.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m opt1217.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M opt1217.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +x4 = 0 +x5 = 0 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 0 +x13 = 0 +x14 = 0 +x15 = 0 +x16 = 0 +x17 = 0 +x18 = 1 +x19 = 0 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 0 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 0 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 0 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 0 +x48 = 0 +x49 = 0 +x50 = 0 +x51 = 0 +x52 = 0 +x53 = 0 +x54 = 0 +x55 = 0 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 0 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 0 +x65 = 0 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 0 +x70 = 0 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 0 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 0 +x81 = 0 +x82 = 0 +x83 = 0 +x84 = 0 +x85 = 0 +x86 = 0 +x87 = 0 +x88 = 0 +x89 = 0 +x90 = 0 +x91 = 0 +x92 = 0 +x93 = 0 +x94 = 0 +x95 = 0 +x96 = 0 +x97 = 0 +x98 = 0 +x99 = 0 +x100 = 0 +x101 = 0 +x102 = 0 +x103 = 0 +x104 = 0 +x105 = 0 +x106 = 0 +x107 = 0 +x108 = 0 +x109 = 0 +x110 = 0 +x111 = 0 +x112 = 0 +x113 = 0 +x114 = 0 +x115 = 0 +x116 = 0 +x117 = 0 +x118 = 1 +x119 = 1 +x120 = 0 +x121 = 0 +x122 = 0 +x123 = 0 +x124 = 0 +x125 = 0 +x126 = 0 +x127 = 0 +x128 = 0 +x129 = 0 +x130 = 0 +x131 = 0 +x132 = 0 +x133 = 0 +x134 = 0 +x135 = 0 +x136 = 0 +x137 = 0 +x138 = 0 +x139 = 1 +x140 = 0 +x141 = 0 +x142 = 0 +x143 = 0 +x144 = 0 +x145 = 0 +x146 = 0 +x147 = 0 +x148 = 0 +x149 = 0 +x150 = 0 +x151 = 0 +x152 = 0 +x153 = 0 +x154 = 0 +x155 = 0 +x156 = 0 +x157 = 0 +x158 = 0 +x159 = 0 +x160 = 0 +x161 = 0 +x162 = 0 +x163 = 0 +x164 = 0 +x165 = 0 +x166 = 0 +x167 = 0 +x168 = 0 +x169 = 0 +x170 = 0 +x171 = 0 +x172 = 0 +x173 = 0 +x174 = 0 +x175 = 0 +x176 = 0 +x177 = 0 +x178 = 0 +x179 = 0 +x180 = 0 +x181 = 0 +x182 = 0 +x183 = 0 +x184 = 0 +x185 = 0 +x186 = 0 +x187 = 0 +x188 = 0 +x189 = 0 +x190 = 0 +x191 = 0 +x192 = 0 +x193 = 0 +x194 = 0 +x195 = 0 +x196 = 0 +x197 = 0 +x198 = 0 +x199 = 0 +x200 = 0 +x201 = 0 +x202 = 0 +x203 = 0 +x204 = 0 +x205 = 0 +x206 = 0 +x207 = 0 +x208 = 0 +x209 = 0 +x210 = 0 +x211 = 0 +x212 = 0 +x213 = 0 +x214 = 0 +x215 = 0 +x216 = 0 +x217 = 0 +x218 = 0 +x219 = 0 +x220 = 0 +x221 = 1 +x222 = 0 +x223 = 0 +x224 = 0 +x225 = 0 +x226 = 1 +x227 = 0 +x228 = 1 +x229 = 1 +x230 = 0 +x231 = 0 +x232 = 0 +x233 = 0 +x234 = 0 +x235 = 0 +x236 = 1 +x237 = 0 +x238 = 0 +x239 = 0 +x240 = 0 +x241 = 0 +x242 = 0 +x243 = 1 +x244 = 0 +x245 = 0 +x246 = 1 +x247 = 1 +x248 = 1 +x249 = 1 +x250 = 1 +x251 = 1 +x252 = 0 +x253 = 0 +x254 = 0 +x255 = 0 +x256 = 0 +x257 = 0 +x258 = 0 +x259 = 0 +x260 = 0 +x261 = 0 +x262 = 0 +x263 = 0 +x264 = 0 +x265 = 0 +x266 = 0 +x267 = 0 +x268 = 0 +x269 = 0 +x270 = 0 +x271 = 0 +x272 = 0 +x273 = 0 +x274 = 0 +x275 = 0 +x276 = 0 +x277 = 0 +x278 = 0 +x279 = 0 +x280 = 0 +x281 = 0 +x282 = 0 +x283 = 0 +x284 = 0 +x285 = 0 +x286 = 0 +x287 = 0 +x288 = 0 +x289 = 1 +x290 = 0 +x291 = 0 +x292 = 0 +x293 = 0 +x294 = 0 +x295 = 0 +x296 = 0 +x297 = 0 +x298 = 0 +x299 = 0 +x300 = 0 +x301 = 0 +x302 = 0 +x303 = 0 +x304 = 0 +x305 = 0 +x306 = 0 +x307 = 0 +x308 = 0 +x309 = 0 +x310 = 0 +x311 = 0 +x312 = 0 +x313 = 0 +x314 = 0 +x315 = 0 +x316 = 0 +x317 = 0 +x318 = 0 +x319 = 0 +x320 = 0 +x321 = 0 +x322 = 0 +x323 = 0 +x324 = 0 +x325 = 0 +x326 = 0 +x327 = 0 +x328 = 0 +x329 = 0 +x330 = 0 +x331 = 0 +x332 = 0 +x333 = 0 +x334 = 0 +x335 = 0 +x336 = 1 +x337 = 0 +x338 = 0 +x339 = 0 +x340 = 0 +x341 = 0 +x342 = 0 +x343 = 0 +x344 = 0 +x345 = 0 +x346 = 0 +x347 = 0 +x348 = 0 +x349 = 0 +x350 = 0 +x351 = 0 +x352 = 0 +x353 = 0 +x354 = 0 +x355 = 0 +x356 = 0 +x357 = 0 +x358 = 0 +x359 = 0 +x360 = 0 +x361 = 0 +x362 = 0 +x363 = 0 +x364 = 0 +x365 = 0 +x366 = 0 +x367 = 0 +x368 = 0 +x369 = 0 +x370 = 0 +x371 = 0 +x372 = 0 +x373 = 0 +x374 = 0 +x375 = 0 +x376 = 0 +x377 = 1 +x378 = 1 +x379 = 1 +x380 = 0 +x381 = 0 +x382 = 0 +x383 = 0 +x384 = 0 +x385 = 0 +x386 = 0 +x387 = 0 +x388 = 0 +x389 = 0 +x390 = 0 +x391 = 0 +x392 = 0 +x393 = 0 +x394 = 0 +x395 = 0 +x396 = 0 +x397 = 0 +x398 = 0 +x399 = 0 +x400 = 0 +x401 = 0 +x402 = 0 +x403 = 0 +x404 = 0 +x405 = 0 +x406 = 0 +x407 = 0 +x408 = 0 +x409 = 0 +x410 = 0 +x411 = 0 +x412 = 0 +x413 = 0 +x414 = 0 +x415 = 0 +x416 = 0 +x417 = 0 +x418 = 0 +x419 = 0 +x420 = 0 +x421 = 0 +x422 = 0 +x423 = 0 +x424 = 0 +x425 = 0 +x426 = 0 +x427 = 0 +x428 = 0 +x429 = 1 +x430 = 1 +x431 = 0 +x432 = 0 +x433 = 0 +x434 = 0 +x435 = 0 +x436 = 0 +x437 = 0 +x438 = 0 +x439 = 0 +x440 = 0 +x441 = 0 +x442 = 0 +x443 = 0 +x444 = 0 +x445 = 0 +x446 = 0 +x447 = 0 +x448 = 0 +x449 = 0 +x450 = 0 +x451 = 0 +x452 = 0 +x453 = 0 +x454 = 1 +x455 = 1 +x456 = 0 +x457 = 0 +x458 = 0 +x459 = 0 +x460 = 0 +x461 = 0 +x462 = 0 +x463 = 0 +x464 = 0 +x465 = 0 +x466 = 0 +x467 = 0 +x468 = 0 +x469 = 0 +x470 = 0 +x471 = 0 +x472 = 0 +x473 = 0 +x474 = 0 +x475 = 0 +x476 = 0 +x477 = 0 +x478 = 0 +x479 = 0 +x480 = 0 +x481 = 0 +x482 = 0 +x483 = 0 +x484 = 0 +x485 = 0 +x486 = 0 +x487 = 0 +x488 = 0 +x489 = 0 +x490 = 0 +x491 = 0 +x492 = 0 +x493 = 0 +x494 = 1 +x495 = 0 +x496 = 0 +x497 = 0 +x498 = 0 +x499 = 0 +x500 = 0 +x501 = 0 +x502 = 0 +x503 = 0 +x504 = 1 +x505 = 1 +x506 = 0 +x507 = 0 +x508 = 0 +x509 = 0 +x510 = 0 +x511 = 0 +x512 = 0 +x513 = 0 +x514 = 0 +x515 = 0 +x516 = 0 +x517 = 0 +x518 = 0 +x519 = 0 +x520 = 0 +x521 = 0 +x522 = 0 +x523 = 0 +x524 = 0 +x525 = 0 +x526 = 0 +x527 = 0 +x528 = 0 +x529 = 0 +x530 = 0 +x531 = 0 +x532 = 0 +x533 = 0 +x534 = 0 +x535 = 0 +x536 = 0 +x537 = 0 +x538 = 0 +x539 = 0 +x540 = 1 +x541 = 0 +x542 = 0 +x543 = 0 +x544 = 0 +x545 = 0 +x546 = 0 +x547 = 0 +x548 = 0 +x549 = 0 +x550 = 0 +x551 = 0 +x552 = 0 +x553 = 0 +x554 = 0 +x555 = 0 +x556 = 0 +x557 = 0 +x558 = 0 +x559 = 0 +x560 = 0 +x561 = 0 +x562 = 0 +x563 = 0 +x564 = 0 +x565 = 0 +x566 = 0 +x567 = 0 +x568 = 0 +x569 = 0 +x570 = 0 +x571 = 0 +x572 = 0 +x573 = 0 +x574 = 0 +x575 = 0 +x576 = 0 +x577 = 0 +x578 = 0 +x579 = 0 +x580 = 0 +x581 = 0 +x582 = 0 +x583 = 0 +x584 = 0 +x585 = 0 +x586 = 0 +x587 = 0 +x588 = 0 +x589 = 1 +x590 = 0 +x591 = 0 +x592 = 0 +x593 = 0 +x594 = 1 +x595 = 1 +x596 = 0 +x597 = 0 +x598 = 0 +x599 = 0 +x600 = 0 +x601 = 0 +x602 = 0 +x603 = 0 +x604 = 0 +x605 = 0 +x606 = 0 +x607 = 0 +x608 = 0 +x609 = 0 +x610 = 0 +x611 = 0 +x612 = 0 +x613 = 0 +x614 = 0 +x615 = 0 +x616 = 0 +x617 = 0 +x618 = 0 +x619 = 0 +x620 = 0 +x621 = 0 +x622 = 0 +x623 = 0 +x624 = 0 +x625 = 0 +x626 = 0 +x627 = 0 +x628 = 0 +x629 = 0 +x630 = 0 +x631 = 0 +x632 = 0 +x633 = 0 +x634 = 0 +x635 = 0 +x636 = 0 +x637 = 0 +x638 = 0 +x639 = 0 +x640 = 0 +x641 = 0 +x642 = 0 +x643 = 0 +x644 = 0 +x645 = 0 +x646 = 0 +x647 = 0 +x648 = 0 +x649 = 0 +x650 = 0 +x651 = 0 +x652 = 1 +x653 = 0 +x654 = 0 +x655 = 0 +x656 = 1 +x657 = 0 +x658 = 0 +x659 = 0 +x660 = 0 +x661 = 0 +x662 = 0 +x663 = 0 +x664 = 0 +x665 = 0 +x666 = 0 +x667 = 0 +x668 = 0 +x669 = 0 +x670 = 0 +x671 = 0 +x672 = 0 +x673 = 0 +x674 = 0 +x675 = 0 +x676 = 0 +x677 = 0 +x678 = 0 +x679 = 0 +x680 = 0 +x681 = 0 +x682 = 0 +x683 = 0 +x684 = 0 +x685 = 0 +x686 = 0 +x687 = 0 +x688 = 0 +x689 = 0 +x690 = 0 +x691 = 0 +x692 = 0 +x693 = 0 +x694 = 0 +x695 = 0 +x696 = 1 +x697 = 1 +x698 = 0 +x699 = 0 +x700 = 0 +x701 = 0 +x702 = 0 +x703 = 0 +x704 = 0 +x705 = 1 +x706 = 1 +x707 = 0 +x708 = 0 +x709 = 0 +x710 = 0 +x711 = 0 +x712 = 0 +x713 = 0 +x714 = 0 +x715 = 0 +x716 = 0 +x717 = 0 +x718 = 0 +x719 = 0 +x720 = 0 +x721 = 0 +x722 = 0 +x723 = 0 +x724 = 0 +x725 = 0 +x726 = 0 +x727 = 0 +x728 = 0 +x729 = 0 +x730 = 0 +x731 = 0 +x732 = 0 +x733 = 0 +x734 = 0 +x735 = 0 +x736 = 0 +x737 = 0 +x738 = 0 +x739 = 0 +x740 = 0 +x741 = 0 +x742 = 0 +x743 = 0 +x744 = 0 +x745 = 0 +x746 = 0 +x747 = 0 +x748 = 0 +x749 = 0 +x750 = 1 +x751 = 0 +x752 = 0 +x753 = 0 +x754 = 0 +x755 = 0 +x756 = 0 +x757 = 0 +x758 = 0 +x759 = 0 +x760 = 1 +x761 = 1 +x762 = 1 +x763 = 1 +x764 = 1 +x765 = 1 +x766 = 0 +x767 = 1 +x768 = 1 +x769 = 1 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m pk1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M pk1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m rout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M rout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sample.mps +Optimum value: -733.3333333 +Optimum location: +x1 = 33.33333333 +x2 = 66.66666667 +x3 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sample.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sc105.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sc105.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sc50a.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sc50a.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sc50b.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sc50b.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ppl_lpsol -e -r -oobtained afiro.mps +PPL error code -6: Negative overflow. +*** ppl_lpsol -e -r -oobtained bgprtr.mps +Unfeasible problem. +*** ppl_lpsol -e -r -oobtained ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ppl_lpsol -e -r -oobtained mip.mps +Optimum value: 46.42857143 +Optimum location: +X1 = 4 +X2 = 4.571428571 +X3 = 0.5714285714 +X4 = 3 +*** ppl_lpsol -e -r -oobtained sample.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +*** ppl_lpsol -e -r -oobtained unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M -c0.000123 mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000002 modglob.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000003 modglob.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n modglob.mps +PPL error code -6: Positive overflow. diff --git a/demos/ppl_lpsol/expected_int32_a b/demos/ppl_lpsol/expected_int32_a new file mode 100644 index 000000000..c3e054bab --- /dev/null +++ b/demos/ppl_lpsol/expected_int32_a @@ -0,0 +1,205 @@ +*** ./ppl_lpsol -s -p1 -oobtained -n egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n ex1.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -n lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n markshare1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n markshare2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n mip.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -n p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n unboundedmin.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -m ex1.mps +Optimum value: -3 +Optimum location: +x1 = 1 +x2 = 2 +*** ./ppl_lpsol -s -p1 -oobtained -M ex1.mps +Optimum value: 2 +Optimum location: +x1 = 2 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -m mip.mps +Optimum value: 24.33333333 +Optimum location: +X1 = 2.666666667 +X2 = 2 +X3 = 1 +X4 = 3.333333333 +*** ./ppl_lpsol -s -p1 -oobtained -M mip.mps +Optimum value: 43 +Optimum location: +X1 = 4 +X2 = 4 +X3 = 0 +X4 = 3 +*** ./ppl_lpsol -s -p1 -oobtained -m p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -M p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -oobtained -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m adlittle.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M adlittle.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m afiro.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M afiro.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m bgprtr.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M bgprtr.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m blend.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M blend.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m boeing1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M boeing1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m boeing2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M boeing2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m ex1.mps +Optimum value: -3.75 +Optimum location: +x1 = 1.25 +x2 = 2.5 +*** ./ppl_lpsol -s -p1 -oobtained -r -M ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m kb2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M kb2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m markshare1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M markshare1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m markshare2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M markshare2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m mip.mps +Optimum value: 24.07692308 +Optimum location: +X1 = 2.615384615 +X2 = 2 +X3 = 0.7692307692 +X4 = 3 +*** ./ppl_lpsol -s -p1 -oobtained -r -M mip.mps +Optimum value: 46.42857143 +Optimum location: +X1 = 4 +X2 = 4.571428571 +X3 = 0.5714285714 +X4 = 3 +*** ./ppl_lpsol -s -p1 -oobtained -r -m noswot.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M noswot.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m pk1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M pk1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m sample.mps +Optimum value: -733.3333333 +Optimum location: +x1 = 33.33333333 +x2 = 66.66666667 +x3 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -M sample.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m sc105.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M sc105.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m sc50a.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M sc50a.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m sc50b.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M sc50b.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -oobtained -r -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ppl_lpsol -e -r -oobtained bgprtr.mps +Unfeasible problem. +*** ppl_lpsol -e -r -oobtained ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ppl_lpsol -e -r -oobtained mip.mps +Optimum value: 46.42857143 +Optimum location: +X1 = 4 +X2 = 4.571428571 +X3 = 0.5714285714 +X4 = 3 +*** ppl_lpsol -e -r -oobtained sample.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +*** ppl_lpsol -e -r -oobtained unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000002 modglob.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000003 modglob.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n modglob.mps +PPL error code -6: Positive overflow. diff --git a/demos/ppl_lpsol/expected_int64 b/demos/ppl_lpsol/expected_int64 new file mode 100644 index 000000000..8b65b5d0c --- /dev/null +++ b/demos/ppl_lpsol/expected_int64 @@ -0,0 +1,993 @@ +*** ./ppl_lpsol -s -p1 -c -oobtained -n egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n ex1.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n markshare1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n markshare2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n mip.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n noswot.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n opt1217.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n pk1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n rout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n unboundedmin.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -m ex1.mps +Optimum value: -3 +Optimum location: +x1 = 1 +x2 = 2 +*** ./ppl_lpsol -s -p1 -c -oobtained -M ex1.mps +Optimum value: 2 +Optimum location: +x1 = 2 +x2 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -m mip.mps +Optimum value: 24.33333333 +Optimum location: +X1 = 2.666666667 +X2 = 2 +X3 = 1 +X4 = 3.333333333 +*** ./ppl_lpsol -s -p1 -c -oobtained -M mip.mps +Optimum value: 43 +Optimum location: +X1 = 4 +X2 = 4 +X3 = 0 +X4 = 3 +*** ./ppl_lpsol -s -p1 -c -oobtained -m p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -M p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m adlittle.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M adlittle.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m afiro.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M afiro.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m bgprtr.mps +Unfeasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M bgprtr.mps +Unfeasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m blend.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M blend.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m boeing1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M boeing1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m boeing2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M boeing2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m ex1.mps +Optimum value: -3.75 +Optimum location: +x1 = 1.25 +x2 = 2.5 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m kb2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M kb2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m markshare1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M markshare1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m markshare2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M markshare2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mip.mps +Optimum value: 24.07692308 +Optimum location: +X1 = 2.615384615 +X2 = 2 +X3 = 0.7692307692 +X4 = 3 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M mip.mps +Optimum value: 46.42857143 +Optimum location: +X1 = 4 +X2 = 4.571428571 +X3 = 0.5714285714 +X4 = 3 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m noswot.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M noswot.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m opt1217.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M opt1217.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +x4 = 0 +x5 = 0 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 0 +x13 = 0 +x14 = 0 +x15 = 0 +x16 = 0 +x17 = 0 +x18 = 1 +x19 = 0 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 0 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 0 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 0 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 0 +x48 = 0 +x49 = 0 +x50 = 0 +x51 = 0 +x52 = 0 +x53 = 0 +x54 = 0 +x55 = 0 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 0 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 0 +x65 = 0 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 0 +x70 = 0 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 0 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 0 +x81 = 0 +x82 = 0 +x83 = 0 +x84 = 0 +x85 = 0 +x86 = 0 +x87 = 0 +x88 = 0 +x89 = 0 +x90 = 0 +x91 = 0 +x92 = 0 +x93 = 0 +x94 = 0 +x95 = 0 +x96 = 0 +x97 = 0 +x98 = 0 +x99 = 0 +x100 = 0 +x101 = 0 +x102 = 0 +x103 = 0 +x104 = 0 +x105 = 0 +x106 = 0 +x107 = 0 +x108 = 0 +x109 = 0 +x110 = 0 +x111 = 0 +x112 = 0 +x113 = 0 +x114 = 0 +x115 = 0 +x116 = 0 +x117 = 0 +x118 = 1 +x119 = 1 +x120 = 0 +x121 = 0 +x122 = 0 +x123 = 0 +x124 = 0 +x125 = 0 +x126 = 0 +x127 = 0 +x128 = 0 +x129 = 0 +x130 = 0 +x131 = 0 +x132 = 0 +x133 = 0 +x134 = 0 +x135 = 0 +x136 = 0 +x137 = 0 +x138 = 0 +x139 = 1 +x140 = 0 +x141 = 0 +x142 = 0 +x143 = 0 +x144 = 0 +x145 = 0 +x146 = 0 +x147 = 0 +x148 = 0 +x149 = 0 +x150 = 0 +x151 = 0 +x152 = 0 +x153 = 0 +x154 = 0 +x155 = 0 +x156 = 0 +x157 = 0 +x158 = 0 +x159 = 0 +x160 = 0 +x161 = 0 +x162 = 0 +x163 = 0 +x164 = 0 +x165 = 0 +x166 = 0 +x167 = 0 +x168 = 0 +x169 = 0 +x170 = 0 +x171 = 0 +x172 = 0 +x173 = 0 +x174 = 0 +x175 = 0 +x176 = 0 +x177 = 0 +x178 = 0 +x179 = 0 +x180 = 0 +x181 = 0 +x182 = 0 +x183 = 0 +x184 = 0 +x185 = 0 +x186 = 0 +x187 = 0 +x188 = 0 +x189 = 0 +x190 = 0 +x191 = 0 +x192 = 0 +x193 = 0 +x194 = 0 +x195 = 0 +x196 = 0 +x197 = 0 +x198 = 0 +x199 = 0 +x200 = 0 +x201 = 0 +x202 = 0 +x203 = 0 +x204 = 0 +x205 = 0 +x206 = 0 +x207 = 0 +x208 = 0 +x209 = 0 +x210 = 0 +x211 = 0 +x212 = 0 +x213 = 0 +x214 = 0 +x215 = 0 +x216 = 0 +x217 = 0 +x218 = 0 +x219 = 0 +x220 = 0 +x221 = 1 +x222 = 0 +x223 = 0 +x224 = 0 +x225 = 0 +x226 = 1 +x227 = 0 +x228 = 1 +x229 = 1 +x230 = 0 +x231 = 0 +x232 = 0 +x233 = 0 +x234 = 0 +x235 = 0 +x236 = 1 +x237 = 0 +x238 = 0 +x239 = 0 +x240 = 0 +x241 = 0 +x242 = 0 +x243 = 1 +x244 = 0 +x245 = 0 +x246 = 1 +x247 = 1 +x248 = 1 +x249 = 1 +x250 = 1 +x251 = 1 +x252 = 0 +x253 = 0 +x254 = 0 +x255 = 0 +x256 = 0 +x257 = 0 +x258 = 0 +x259 = 0 +x260 = 0 +x261 = 0 +x262 = 0 +x263 = 0 +x264 = 0 +x265 = 0 +x266 = 0 +x267 = 0 +x268 = 0 +x269 = 0 +x270 = 0 +x271 = 0 +x272 = 0 +x273 = 0 +x274 = 0 +x275 = 0 +x276 = 0 +x277 = 0 +x278 = 0 +x279 = 0 +x280 = 0 +x281 = 0 +x282 = 0 +x283 = 0 +x284 = 0 +x285 = 0 +x286 = 0 +x287 = 0 +x288 = 0 +x289 = 1 +x290 = 0 +x291 = 0 +x292 = 0 +x293 = 0 +x294 = 0 +x295 = 0 +x296 = 0 +x297 = 0 +x298 = 0 +x299 = 0 +x300 = 0 +x301 = 0 +x302 = 0 +x303 = 0 +x304 = 0 +x305 = 0 +x306 = 0 +x307 = 0 +x308 = 0 +x309 = 0 +x310 = 0 +x311 = 0 +x312 = 0 +x313 = 0 +x314 = 0 +x315 = 0 +x316 = 0 +x317 = 0 +x318 = 0 +x319 = 0 +x320 = 0 +x321 = 0 +x322 = 0 +x323 = 0 +x324 = 0 +x325 = 0 +x326 = 0 +x327 = 0 +x328 = 0 +x329 = 0 +x330 = 0 +x331 = 0 +x332 = 0 +x333 = 0 +x334 = 0 +x335 = 0 +x336 = 1 +x337 = 0 +x338 = 0 +x339 = 0 +x340 = 0 +x341 = 0 +x342 = 0 +x343 = 0 +x344 = 0 +x345 = 0 +x346 = 0 +x347 = 0 +x348 = 0 +x349 = 0 +x350 = 0 +x351 = 0 +x352 = 0 +x353 = 0 +x354 = 0 +x355 = 0 +x356 = 0 +x357 = 0 +x358 = 0 +x359 = 0 +x360 = 0 +x361 = 0 +x362 = 0 +x363 = 0 +x364 = 0 +x365 = 0 +x366 = 0 +x367 = 0 +x368 = 0 +x369 = 0 +x370 = 0 +x371 = 0 +x372 = 0 +x373 = 0 +x374 = 0 +x375 = 0 +x376 = 0 +x377 = 1 +x378 = 1 +x379 = 1 +x380 = 0 +x381 = 0 +x382 = 0 +x383 = 0 +x384 = 0 +x385 = 0 +x386 = 0 +x387 = 0 +x388 = 0 +x389 = 0 +x390 = 0 +x391 = 0 +x392 = 0 +x393 = 0 +x394 = 0 +x395 = 0 +x396 = 0 +x397 = 0 +x398 = 0 +x399 = 0 +x400 = 0 +x401 = 0 +x402 = 0 +x403 = 0 +x404 = 0 +x405 = 0 +x406 = 0 +x407 = 0 +x408 = 0 +x409 = 0 +x410 = 0 +x411 = 0 +x412 = 0 +x413 = 0 +x414 = 0 +x415 = 0 +x416 = 0 +x417 = 0 +x418 = 0 +x419 = 0 +x420 = 0 +x421 = 0 +x422 = 0 +x423 = 0 +x424 = 0 +x425 = 0 +x426 = 0 +x427 = 0 +x428 = 0 +x429 = 1 +x430 = 1 +x431 = 0 +x432 = 0 +x433 = 0 +x434 = 0 +x435 = 0 +x436 = 0 +x437 = 0 +x438 = 0 +x439 = 0 +x440 = 0 +x441 = 0 +x442 = 0 +x443 = 0 +x444 = 0 +x445 = 0 +x446 = 0 +x447 = 0 +x448 = 0 +x449 = 0 +x450 = 0 +x451 = 0 +x452 = 0 +x453 = 0 +x454 = 1 +x455 = 1 +x456 = 0 +x457 = 0 +x458 = 0 +x459 = 0 +x460 = 0 +x461 = 0 +x462 = 0 +x463 = 0 +x464 = 0 +x465 = 0 +x466 = 0 +x467 = 0 +x468 = 0 +x469 = 0 +x470 = 0 +x471 = 0 +x472 = 0 +x473 = 0 +x474 = 0 +x475 = 0 +x476 = 0 +x477 = 0 +x478 = 0 +x479 = 0 +x480 = 0 +x481 = 0 +x482 = 0 +x483 = 0 +x484 = 0 +x485 = 0 +x486 = 0 +x487 = 0 +x488 = 0 +x489 = 0 +x490 = 0 +x491 = 0 +x492 = 0 +x493 = 0 +x494 = 1 +x495 = 0 +x496 = 0 +x497 = 0 +x498 = 0 +x499 = 0 +x500 = 0 +x501 = 0 +x502 = 0 +x503 = 0 +x504 = 1 +x505 = 1 +x506 = 0 +x507 = 0 +x508 = 0 +x509 = 0 +x510 = 0 +x511 = 0 +x512 = 0 +x513 = 0 +x514 = 0 +x515 = 0 +x516 = 0 +x517 = 0 +x518 = 0 +x519 = 0 +x520 = 0 +x521 = 0 +x522 = 0 +x523 = 0 +x524 = 0 +x525 = 0 +x526 = 0 +x527 = 0 +x528 = 0 +x529 = 0 +x530 = 0 +x531 = 0 +x532 = 0 +x533 = 0 +x534 = 0 +x535 = 0 +x536 = 0 +x537 = 0 +x538 = 0 +x539 = 0 +x540 = 1 +x541 = 0 +x542 = 0 +x543 = 0 +x544 = 0 +x545 = 0 +x546 = 0 +x547 = 0 +x548 = 0 +x549 = 0 +x550 = 0 +x551 = 0 +x552 = 0 +x553 = 0 +x554 = 0 +x555 = 0 +x556 = 0 +x557 = 0 +x558 = 0 +x559 = 0 +x560 = 0 +x561 = 0 +x562 = 0 +x563 = 0 +x564 = 0 +x565 = 0 +x566 = 0 +x567 = 0 +x568 = 0 +x569 = 0 +x570 = 0 +x571 = 0 +x572 = 0 +x573 = 0 +x574 = 0 +x575 = 0 +x576 = 0 +x577 = 0 +x578 = 0 +x579 = 0 +x580 = 0 +x581 = 0 +x582 = 0 +x583 = 0 +x584 = 0 +x585 = 0 +x586 = 0 +x587 = 0 +x588 = 0 +x589 = 1 +x590 = 0 +x591 = 0 +x592 = 0 +x593 = 0 +x594 = 1 +x595 = 1 +x596 = 0 +x597 = 0 +x598 = 0 +x599 = 0 +x600 = 0 +x601 = 0 +x602 = 0 +x603 = 0 +x604 = 0 +x605 = 0 +x606 = 0 +x607 = 0 +x608 = 0 +x609 = 0 +x610 = 0 +x611 = 0 +x612 = 0 +x613 = 0 +x614 = 0 +x615 = 0 +x616 = 0 +x617 = 0 +x618 = 0 +x619 = 0 +x620 = 0 +x621 = 0 +x622 = 0 +x623 = 0 +x624 = 0 +x625 = 0 +x626 = 0 +x627 = 0 +x628 = 0 +x629 = 0 +x630 = 0 +x631 = 0 +x632 = 0 +x633 = 0 +x634 = 0 +x635 = 0 +x636 = 0 +x637 = 0 +x638 = 0 +x639 = 0 +x640 = 0 +x641 = 0 +x642 = 0 +x643 = 0 +x644 = 0 +x645 = 0 +x646 = 0 +x647 = 0 +x648 = 0 +x649 = 0 +x650 = 0 +x651 = 0 +x652 = 1 +x653 = 0 +x654 = 0 +x655 = 0 +x656 = 1 +x657 = 0 +x658 = 0 +x659 = 0 +x660 = 0 +x661 = 0 +x662 = 0 +x663 = 0 +x664 = 0 +x665 = 0 +x666 = 0 +x667 = 0 +x668 = 0 +x669 = 0 +x670 = 0 +x671 = 0 +x672 = 0 +x673 = 0 +x674 = 0 +x675 = 0 +x676 = 0 +x677 = 0 +x678 = 0 +x679 = 0 +x680 = 0 +x681 = 0 +x682 = 0 +x683 = 0 +x684 = 0 +x685 = 0 +x686 = 0 +x687 = 0 +x688 = 0 +x689 = 0 +x690 = 0 +x691 = 0 +x692 = 0 +x693 = 0 +x694 = 0 +x695 = 0 +x696 = 1 +x697 = 1 +x698 = 0 +x699 = 0 +x700 = 0 +x701 = 0 +x702 = 0 +x703 = 0 +x704 = 0 +x705 = 1 +x706 = 1 +x707 = 0 +x708 = 0 +x709 = 0 +x710 = 0 +x711 = 0 +x712 = 0 +x713 = 0 +x714 = 0 +x715 = 0 +x716 = 0 +x717 = 0 +x718 = 0 +x719 = 0 +x720 = 0 +x721 = 0 +x722 = 0 +x723 = 0 +x724 = 0 +x725 = 0 +x726 = 0 +x727 = 0 +x728 = 0 +x729 = 0 +x730 = 0 +x731 = 0 +x732 = 0 +x733 = 0 +x734 = 0 +x735 = 0 +x736 = 0 +x737 = 0 +x738 = 0 +x739 = 0 +x740 = 0 +x741 = 0 +x742 = 0 +x743 = 0 +x744 = 0 +x745 = 0 +x746 = 0 +x747 = 0 +x748 = 0 +x749 = 0 +x750 = 1 +x751 = 0 +x752 = 0 +x753 = 0 +x754 = 0 +x755 = 0 +x756 = 0 +x757 = 0 +x758 = 0 +x759 = 0 +x760 = 1 +x761 = 1 +x762 = 1 +x763 = 1 +x764 = 1 +x765 = 1 +x766 = 0 +x767 = 1 +x768 = 1 +x769 = 1 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m pk1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M pk1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m rout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M rout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sample.mps +Optimum value: -733.3333333 +Optimum location: +x1 = 33.33333333 +x2 = 66.66666667 +x3 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sample.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sc105.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sc105.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sc50a.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sc50a.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sc50b.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sc50b.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ppl_lpsol -e -r -oobtained afiro.mps +PPL error code -6: Negative overflow. +*** ppl_lpsol -e -r -oobtained bgprtr.mps +Unfeasible problem. +*** ppl_lpsol -e -r -oobtained ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ppl_lpsol -e -r -oobtained mip.mps +Optimum value: 46.42857143 +Optimum location: +X1 = 4 +X2 = 4.571428571 +X3 = 0.5714285714 +X4 = 3 +*** ppl_lpsol -e -r -oobtained sample.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +*** ppl_lpsol -e -r -oobtained unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M -c0.000123 mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000002 modglob.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000003 modglob.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n modglob.mps +PPL error code -6: Positive overflow. diff --git a/demos/ppl_lpsol/expected_int64_a b/demos/ppl_lpsol/expected_int64_a new file mode 100644 index 000000000..37567e683 --- /dev/null +++ b/demos/ppl_lpsol/expected_int64_a @@ -0,0 +1,205 @@ +*** ./ppl_lpsol -s -p1 -oobtained -n egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n ex1.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -n lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n markshare1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n markshare2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n mip.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -n p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n unboundedmin.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -m ex1.mps +Optimum value: -3 +Optimum location: +x1 = 1 +x2 = 2 +*** ./ppl_lpsol -s -p1 -oobtained -M ex1.mps +Optimum value: 2 +Optimum location: +x1 = 2 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -m mip.mps +Optimum value: 24.33333333 +Optimum location: +X1 = 2.666666667 +X2 = 2 +X3 = 1 +X4 = 3.333333333 +*** ./ppl_lpsol -s -p1 -oobtained -M mip.mps +Optimum value: 43 +Optimum location: +X1 = 4 +X2 = 4 +X3 = 0 +X4 = 3 +*** ./ppl_lpsol -s -p1 -oobtained -m p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -M p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -oobtained -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m adlittle.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M adlittle.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m afiro.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M afiro.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m bgprtr.mps +Unfeasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -r -M bgprtr.mps +Unfeasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -r -m blend.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M blend.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m boeing1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M boeing1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m boeing2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M boeing2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m ex1.mps +Optimum value: -3.75 +Optimum location: +x1 = 1.25 +x2 = 2.5 +*** ./ppl_lpsol -s -p1 -oobtained -r -M ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m kb2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M kb2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m markshare1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M markshare1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m markshare2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M markshare2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m mip.mps +Optimum value: 24.07692308 +Optimum location: +X1 = 2.615384615 +X2 = 2 +X3 = 0.7692307692 +X4 = 3 +*** ./ppl_lpsol -s -p1 -oobtained -r -M mip.mps +Optimum value: 46.42857143 +Optimum location: +X1 = 4 +X2 = 4.571428571 +X3 = 0.5714285714 +X4 = 3 +*** ./ppl_lpsol -s -p1 -oobtained -r -m noswot.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M noswot.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m pk1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M pk1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m sample.mps +Optimum value: -733.3333333 +Optimum location: +x1 = 33.33333333 +x2 = 66.66666667 +x3 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -M sample.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m sc105.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M sc105.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m sc50a.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M sc50a.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m sc50b.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M sc50b.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -oobtained -r -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ppl_lpsol -e -r -oobtained bgprtr.mps +Unfeasible problem. +*** ppl_lpsol -e -r -oobtained ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ppl_lpsol -e -r -oobtained mip.mps +Optimum value: 46.42857143 +Optimum location: +X1 = 4 +X2 = 4.571428571 +X3 = 0.5714285714 +X4 = 3 +*** ppl_lpsol -e -r -oobtained sample.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +*** ppl_lpsol -e -r -oobtained unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000002 modglob.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000003 modglob.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n modglob.mps +PPL error code -6: Positive overflow. diff --git a/demos/ppl_lpsol/expected_int8 b/demos/ppl_lpsol/expected_int8 new file mode 100644 index 000000000..a88577cbc --- /dev/null +++ b/demos/ppl_lpsol/expected_int8 @@ -0,0 +1,177 @@ +*** ./ppl_lpsol -s -p1 -c -oobtained -n egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n ex1.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n markshare1.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n markshare2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n noswot.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n opt1217.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n pk1.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n rout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n unboundedmin.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -m ex1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -M ex1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -m mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -M mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -m p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -M p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m adlittle.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M adlittle.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m afiro.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M afiro.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m bgprtr.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M bgprtr.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m blend.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M blend.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m boeing1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M boeing1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m boeing2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M boeing2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m ex1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m kb2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M kb2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m markshare1.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M markshare1.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m markshare2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M markshare2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m noswot.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M noswot.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m opt1217.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M opt1217.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m pk1.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M pk1.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m rout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M rout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sample.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sample.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sc105.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sc105.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sc50a.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sc50a.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sc50b.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sc50b.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ppl_lpsol -e -r -oobtained afiro.mps +PPL error code -6: Negative overflow. +*** ppl_lpsol -e -r -oobtained bgprtr.mps +PPL error code -6: Positive overflow. +*** ppl_lpsol -e -r -oobtained ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ppl_lpsol -e -r -oobtained mip.mps +PPL error code -6: Positive overflow. +*** ppl_lpsol -e -r -oobtained sample.mps +PPL error code -6: Negative overflow. +*** ppl_lpsol -e -r -oobtained unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M -c0.000123 mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000002 modglob.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000003 modglob.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -c -oobtained -n modglob.mps +PPL error code -6: Positive overflow. diff --git a/demos/ppl_lpsol/expected_int8_a b/demos/ppl_lpsol/expected_int8_a new file mode 100644 index 000000000..170281a4a --- /dev/null +++ b/demos/ppl_lpsol/expected_int8_a @@ -0,0 +1,159 @@ +*** ./ppl_lpsol -s -p1 -oobtained -n egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n ex1.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -n lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n markshare1.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n markshare2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n unboundedmin.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -m ex1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -M ex1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -m mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -M mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -m p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -M p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -oobtained -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m adlittle.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M adlittle.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m afiro.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M afiro.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m bgprtr.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M bgprtr.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m blend.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M blend.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m boeing1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M boeing1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m boeing2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M boeing2.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M egout.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m ex1.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m kb2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M kb2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M lseu.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m markshare1.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M markshare1.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m markshare2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M markshare2.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M mip.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m noswot.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M noswot.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M p0033.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m pk1.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M pk1.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m sample.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M sample.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m sc105.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M sc105.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m sc50a.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M sc50a.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m sc50b.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M sc50b.mps +PPL error code -6: Negative overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -oobtained -r -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ppl_lpsol -e -r -oobtained bgprtr.mps +PPL error code -6: Positive overflow. +*** ppl_lpsol -e -r -oobtained ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ppl_lpsol -e -r -oobtained mip.mps +PPL error code -6: Positive overflow. +*** ppl_lpsol -e -r -oobtained sample.mps +PPL error code -6: Negative overflow. +*** ppl_lpsol -e -r -oobtained unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n mas74.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n mas76.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000002 modglob.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000003 modglob.mps +PPL error code -6: Positive overflow. +*** ./ppl_lpsol -s -p1 -oobtained -n modglob.mps +PPL error code -6: Positive overflow. diff --git a/demos/ppl_lpsol/expected_mpz b/demos/ppl_lpsol/expected_mpz new file mode 100644 index 000000000..2bb4f1658 --- /dev/null +++ b/demos/ppl_lpsol/expected_mpz @@ -0,0 +1,6171 @@ +*** ./ppl_lpsol -s -p1 -c -oobtained -n egout.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n ex1.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n lseu.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n markshare1.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n markshare2.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n mas76.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n mip.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n noswot.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n opt1217.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n p0033.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n pk1.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n rout.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -n unboundedmin.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -m ex1.mps +Optimum value: -3 +Optimum location: +x1 = 1 +x2 = 2 +*** ./ppl_lpsol -s -p1 -c -oobtained -M ex1.mps +Optimum value: 2 +Optimum location: +x1 = 2 +x2 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -m mip.mps +Optimum value: 24.33333333 +Optimum location: +X1 = 2.666666667 +X2 = 2 +X3 = 1 +X4 = 3.333333333 +*** ./ppl_lpsol -s -p1 -c -oobtained -M mip.mps +Optimum value: 43 +Optimum location: +X1 = 4 +X2 = 4 +X3 = 0 +X4 = 3 +*** ./ppl_lpsol -s -p1 -c -oobtained -m p0033.mps +Optimum value: 3089 +Optimum location: +C157 = 1 +C158 = 0 +C159 = 0 +C160 = 0 +C161 = 0 +C162 = 0 +C163 = 1 +C164 = 1 +C165 = 0 +C166 = 1 +C167 = 0 +C168 = 0 +C169 = 0 +C170 = 1 +C171 = 0 +C172 = 0 +C173 = 0 +C174 = 1 +C175 = 0 +C176 = 0 +C177 = 1 +C178 = 0 +C179 = 1 +C180 = 0 +C181 = 1 +C182 = 1 +C183 = 1 +C184 = 1 +C185 = 1 +C186 = 1 +C187 = 0 +C188 = 0 +C189 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -M p0033.mps +Optimum value: 5201 +Optimum location: +C157 = 1 +C158 = 0 +C159 = 0 +C160 = 0 +C161 = 0 +C162 = 0 +C163 = 1 +C164 = 0 +C165 = 1 +C166 = 0 +C167 = 1 +C168 = 0 +C169 = 0 +C170 = 0 +C171 = 0 +C172 = 1 +C173 = 1 +C174 = 1 +C175 = 1 +C176 = 1 +C177 = 1 +C178 = 1 +C179 = 1 +C180 = 0 +C181 = 1 +C182 = 1 +C183 = 1 +C184 = 1 +C185 = 1 +C186 = 1 +C187 = 0 +C188 = 1 +C189 = 1 +*** ./ppl_lpsol -s -p1 -c -oobtained -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m adlittle.mps +Optimum value: 225494.9632 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M adlittle.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m afiro.mps +Optimum value: -464.7531429 +Optimum location: +X01 = 80 +X02 = 25.5 +X03 = 54.5 +X04 = 84.8 +X06 = 58.1560164 +X07 = 0 +X08 = 0 +X09 = 0 +X10 = 0 +X11 = 0 +X12 = 0 +X13 = 0 +X14 = 18.21428571 +X15 = 39.94173069 +X16 = 61.64537738 +X22 = 500 +X23 = 475.92 +X24 = 24.08 +X25 = 0 +X26 = 215 +X28 = 366.4378962 +X29 = 0 +X30 = 0 +X31 = 0 +X32 = 0 +X33 = 0 +X34 = 0 +X35 = 0 +X36 = 339.9428571 +X37 = 17.50496094 +X38 = 157.5682954 +X39 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M afiro.mps +Optimum value: 3438.2921 +Optimum location: +X01 = 54.5 +X02 = 0 +X03 = 54.5 +X04 = 57.77 +X06 = 0 +X07 = 0 +X08 = 0 +X09 = 0 +X10 = 0 +X11 = 0 +X12 = 0 +X13 = 0 +X14 = 0 +X15 = 0 +X16 = 0 +X22 = 500 +X23 = 483.5955 +X24 = 16.4045 +X25 = 0 +X26 = 215 +X28 = 0 +X29 = 0 +X30 = 0 +X31 = 0 +X32 = 0 +X33 = 0 +X34 = 0 +X35 = 0 +X36 = 345.4253571 +X37 = 0 +X38 = 0 +X39 = 389.4253571 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m bgprtr.mps +Unfeasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M bgprtr.mps +Unfeasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m blend.mps +Optimum value: -30.81214985 +Optimum location: +1 = 20.94480195 +2 = 10.17092161 +3 = 11.24735865 +4 = 2.981097124 +5 = 0.6597035933 +6 = 0.4759263446 +7 = 0 +8 = 10.10117614 +9 = 0 +10 = 1.679178924 +11 = 0 +12 = 10.10117614 +13 = 0 +14 = 11.78035507 +15 = 0 +16 = 0.4067430357 +17 = 0 +18 = 2.173256964 +19 = 2.018559906 +20 = 4.843256964 +21 = 0 +22 = 3.13818313 +23 = 1.149909949 +24 = 1.396291081 +25 = 0 +26 = 0 +27 = 0 +28 = 0 +29 = 0.3835003722 +30 = 0 +31 = 4.424431137 +32 = 0 +33 = 1.149909949 +34 = 1.396291081 +35 = 0.7485700927 +36 = 21.63838697 +37 = 8.102702633 +38 = 0.7107761404 +39 = 0.4817893472 +40 = 0 +41 = 4.892936372 +42 = 0 +43 = 0.4416752608 +44 = 14.28573702 +45 = 6.527177121 +46 = 2.005816841 +47 = 0 +48 = 0 +49 = 0.7713285688 +50 = 4.87625743 +51 = 0.2242247192 +52 = 1.811155615 +53 = 7.877627559 +54 = 0.3201545422 +55 = 0.9892470535 +56 = 0.4439079385 +57 = 1.433154992 +58 = 0 +59 = 0 +60 = 0 +61 = 3.079217438 +62 = 0.795583754 +63 = 3.874801192 +64 = 0.7749576722 +65 = 1.83076589 +66 = 0 +67 = 0 +68 = 0.06587344195 +69 = 0.7889117798 +70 = 3.460508784 +71 = 2.750888679 +72 = 0 +73 = 0 +74 = 0 +75 = 0 +76 = 0 +77 = 0.1693961964 +78 = 0 +79 = 1.154801147 +80 = 0 +81 = 0.8033012352 +82 = 26.03036862 +83 = 87.09497412 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M blend.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m egout.mps +Optimum value: 149.5887662 +Optimum location: +I.001... = 0.02093301435 +I.001003 = 0 +I.002003 = 0 +I.002... = 0.00521189337 +I.003005 = 0 +I.004005 = 0 +I.004... = 0.06758373206 +I.005007 = 0 +I.006007 = 0.03879015721 +I.007008 = 0.04853041695 +I.008... = 0.04853041695 +I.008009 = 0 +I.010012 = 0.009654818865 +I.011012 = 0.1833561176 +I.012... = 0.1930109364 +I.012013 = 0 +I.013016 = 0.03964456596 +I.014015 = 0.002648667122 +I.015016 = 0.01324333561 +I.016... = 0.05288790157 +I.016017 = 0 +I.017018 = 0.0005980861244 +I.009018 = 0.002392344498 +I.018019 = 0.002990430622 +I.019024 = 0.02358168148 +I.024... = 0.0241797676 +I.023024 = 0.0005980861244 +I.022023 = 0 +I.020022 = 0.003332194122 +I.021022 = 0.06331168831 +I.022... = 0.06664388243 +I.024026 = 0 +I.025026 = 0 +I.025... = 0.1642173616 +I.026027 = 0.08962747779 +I.027... = 0.08962747779 +I.027032 = 0 +I.030031 = 0.002392344498 +I.031032 = 0.0534859877 +I.029031 = 0.0487012987 +I.028029 = 0 +I.028... = 0.007518796992 +I.032033 = 0.0534859877 +I.033037 = 0.05510936432 +I.036037 = 0.008885850991 +I.034036 = 0.001623376623 +I.035036 = 0.002392344498 +I.037038 = 0.06399521531 +I.038040 = 0.109278879 +I.039040 = 0.04545454545 +I.040... = 0.161226931 +I.041... = 0.04340396446 +I.040041 = 0 +I.041042 = 0 +I.042... = 0.05502392344 +F....001 = 2.45 +F....002 = 0.61 +F....004 = 7.91 +F....006 = 4.54 +F....007 = 1.14 +F....009 = 0.28 +F....010 = 1.13 +F....011 = 21.46 +F....013 = 4.64 +F....014 = 0.31 +F....015 = 1.24 +F....017 = 0.07 +F....019 = 2.41 +F....020 = 0.39 +F....021 = 7.41 +F....023 = 0.07 +F....025 = 19.22 +F....026 = 10.49 +F....028 = 0.88 +F....029 = 5.7 +F....030 = 0.28 +F....031 = 0.28 +F....033 = 0.19 +F....034 = 0.19 +F....035 = 0.28 +F....036 = 0.57 +F....038 = 5.3 +F....039 = 5.32 +F....040 = 0.76 +F....041 = 5.08 +F....042 = 6.44 +F.001... = 2.45 +F.001003 = 0 +F.002003 = 0 +F.002... = 0.61 +F.003005 = 0 +F.004005 = 0 +F.004... = 7.91 +F.005007 = 0 +F.006007 = 4.54 +F.007008 = 5.68 +F.008... = 5.68 +F.008009 = 0 +F.010012 = 1.13 +F.011012 = 21.46 +F.012... = 22.59 +F.012013 = 0 +F.013016 = 4.64 +F.014015 = 0.31 +F.015016 = 1.55 +F.016... = 6.19 +F.016017 = 0 +F.017018 = 0.07 +F.009018 = 0.28 +F.018019 = 0.35 +F.019024 = 2.76 +F.024... = 2.83 +F.023024 = 0.07 +F.022023 = 0 +F.020022 = 0.39 +F.021022 = 7.41 +F.022... = 7.8 +F.024026 = 0 +F.025026 = 0 +F.025... = 19.22 +F.026027 = 10.49 +F.027... = 10.49 +F.027032 = 0 +F.030031 = 0.28 +F.031032 = 6.26 +F.029031 = 5.7 +F.028029 = 0 +F.028... = 0.88 +F.032033 = 6.26 +F.033037 = 6.45 +F.036037 = 1.04 +F.034036 = 0.19 +F.035036 = 0.28 +F.037038 = 7.49 +F.038040 = 12.79 +F.039040 = 5.32 +F.040... = 18.87 +F.041... = 5.08 +F.040041 = 0 +F.041042 = 0 +F.042... = 6.44 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M egout.mps +Optimum value: 964.30053 +Optimum location: +I.001... = 1 +I.001003 = 1 +I.002003 = 1 +I.002... = 1 +I.003005 = 1 +I.004005 = 1 +I.004... = 1 +I.005007 = 1 +I.006007 = 1 +I.007008 = 1 +I.008... = 1 +I.008009 = 1 +I.010012 = 1 +I.011012 = 1 +I.012... = 1 +I.012013 = 1 +I.013016 = 1 +I.014015 = 1 +I.015016 = 1 +I.016... = 1 +I.016017 = 1 +I.017018 = 1 +I.009018 = 1 +I.018019 = 1 +I.019024 = 1 +I.024... = 1 +I.023024 = 1 +I.022023 = 1 +I.020022 = 1 +I.021022 = 1 +I.022... = 1 +I.024026 = 1 +I.025026 = 1 +I.025... = 1 +I.026027 = 1 +I.027... = 1 +I.027032 = 1 +I.030031 = 1 +I.031032 = 1 +I.029031 = 1 +I.028029 = 1 +I.028... = 1 +I.032033 = 1 +I.033037 = 1 +I.036037 = 1 +I.034036 = 1 +I.035036 = 1 +I.037038 = 1 +I.038040 = 1 +I.039040 = 1 +I.040... = 1 +I.041... = 1 +I.040041 = 1 +I.041042 = 1 +I.042... = 1 +F....001 = 2.45 +F....002 = 0.61 +F....004 = 7.91 +F....006 = 4.54 +F....007 = 1.14 +F....009 = 0.28 +F....010 = 1.13 +F....011 = 21.46 +F....013 = 4.64 +F....014 = 0.31 +F....015 = 1.24 +F....017 = 0.07 +F....019 = 2.41 +F....020 = 0.39 +F....021 = 7.41 +F....023 = 0.07 +F....025 = 19.22 +F....026 = 10.49 +F....028 = 0.88 +F....029 = 5.7 +F....030 = 0.28 +F....031 = 0.28 +F....033 = 0.19 +F....034 = 0.19 +F....035 = 0.28 +F....036 = 0.57 +F....038 = 5.3 +F....039 = 5.32 +F....040 = 0.76 +F....041 = 5.08 +F....042 = 6.44 +F.001... = 0 +F.001003 = 2.45 +F.002003 = 0.61 +F.002... = 0 +F.003005 = 3.06 +F.004005 = 7.91 +F.004... = 0 +F.005007 = 10.97 +F.006007 = 4.54 +F.007008 = 16.65 +F.008... = 0 +F.008009 = 16.65 +F.010012 = 1.13 +F.011012 = 21.46 +F.012... = 0 +F.012013 = 22.59 +F.013016 = 27.23 +F.014015 = 0.31 +F.015016 = 1.55 +F.016... = 0 +F.016017 = 28.78 +F.017018 = 28.85 +F.009018 = 16.93 +F.018019 = 45.78 +F.019024 = 48.19 +F.024... = 0 +F.023024 = 7.87 +F.022023 = 7.8 +F.020022 = 0.39 +F.021022 = 7.41 +F.022... = 0 +F.024026 = 56.06 +F.025026 = 19.22 +F.025... = 0 +F.026027 = 85.77 +F.027... = 0 +F.027032 = 85.77 +F.030031 = 0.28 +F.031032 = 7.14 +F.029031 = 6.58 +F.028029 = 0.88 +F.028... = 0 +F.032033 = 92.91 +F.033037 = 93.1 +F.036037 = 1.04 +F.034036 = 0.19 +F.035036 = 0.28 +F.037038 = 94.14 +F.038040 = 99.44 +F.039040 = 5.32 +F.040... = 0 +F.041... = 0 +F.040041 = 105.52 +F.041042 = 110.6 +F.042... = 117.04 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m ex1.mps +Optimum value: -3.75 +Optimum location: +x1 = 1.25 +x2 = 2.5 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m kb2.mps +Optimum value: -1749.90013 +Optimum location: +BAL.3EBW = 0.811823571 +BHC.3EBW = 0 +BLC.3EBW = 0 +BLV.3EBW = 0 +BN4.3EBW = 4.672552268 +BP8.3EBW = 25.06112416 +BTO.3EBW = 5 +BAL.3PBW = 0 +BHC.3PBW = 0 +BLC.3PBW = 9.550968062 +BLV.3PBW = 0 +BN4.3PBW = 2.506552313 +BP8.3PBW = 8.779496866 +BTO.3PBW = 0 +BAL.3RBW = 9.188176429 +BHC.3RBW = 20 +BLC.3RBW = 15.44903194 +BLV.3RBW = 12 +BN4.3RBW = 8.391585075 +BP8.3RBW = 1.159378972 +BTO.3RBW = 0 +D3T...BW = 122.5706897 +EAL...BW = 10 +EHC...BW = 20 +ELC...BW = 25 +ELV...BW = 12 +EN4...BW = 15.57068966 +EP8...BW = 35 +ETO...BW = 5 +M3..3TBW = 122.5706897 +QPB73EBW = 15.05088815 +QVO73EBW = 35.5455 +QVO73PBW = 20.83701724 +QPB73RBW = 49.6741723 +QVO73RBW = 66.18817241 +WMO73EBW = 3214.889184 +WRO73EBW = 3597.519648 +WMO73PBW = 1770.361014 +WRO73PBW = 2009.742955 +WMO73RBW = 5651.99315 +WRO73RBW = 6262.646875 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M kb2.mps +Optimum value: 0 +Optimum location: +BAL.3EBW = 0 +BHC.3EBW = 0 +BLC.3EBW = 0 +BLV.3EBW = 0 +BN4.3EBW = 0 +BP8.3EBW = 0 +BTO.3EBW = 0 +BAL.3PBW = 0 +BHC.3PBW = 0 +BLC.3PBW = 0 +BLV.3PBW = 0 +BN4.3PBW = 0 +BP8.3PBW = 0 +BTO.3PBW = 0 +BAL.3RBW = 0 +BHC.3RBW = 0 +BLC.3RBW = 0 +BLV.3RBW = 0 +BN4.3RBW = 0 +BP8.3RBW = 0 +BTO.3RBW = 0 +D3T...BW = 0 +EAL...BW = 0 +EHC...BW = 0 +ELC...BW = 0 +ELV...BW = 0 +EN4...BW = 0 +EP8...BW = 0 +ETO...BW = 0 +M3..3TBW = 0 +QPB73EBW = 0 +QVO73EBW = 0 +QVO73PBW = 0 +QPB73RBW = 0 +QVO73RBW = 0 +WMO73EBW = 0 +WRO73EBW = 0 +WMO73PBW = 0 +WRO73PBW = 0 +WMO73RBW = 0 +WRO73RBW = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m lseu.mps +Optimum value: 834.6823529 +Optimum location: +C101 = 1 +C102 = 1 +C103 = 0 +C104 = 0 +C105 = 0 +C106 = 0 +C107 = 1 +C108 = 0 +C109 = 0 +C110 = 0 +C111 = 0.4367816092 +C112 = 0.3367816092 +C113 = 0 +C114 = 0.2264367816 +C115 = 0 +C116 = 0 +C117 = 0 +C118 = 0 +C119 = 0 +C120 = 0 +C121 = 0 +C122 = 0 +C123 = 0 +C124 = 0 +C125 = 0 +C126 = 0 +C127 = 0 +C128 = 0 +C129 = 0.6117647059 +C130 = 0.155 +C131 = 0 +C132 = 0 +C133 = 0 +C134 = 0 +C135 = 1 +C136 = 0 +C137 = 0 +C138 = 0 +C139 = 1 +C140 = 0 +C141 = 0 +C142 = 0 +C143 = 0 +C144 = 0.38 +C145 = 0 +C146 = 0 +C147 = 0.62 +C148 = 0 +C149 = 0 +C150 = 0.1 +C151 = 0.9 +C152 = 0 +C153 = 0 +C154 = 0 +C155 = 0 +C156 = 1 +C157 = 0 +C158 = 0 +C159 = 0 +C160 = 0 +C161 = 0 +C162 = 0 +C163 = 0 +C164 = 0.9043285239 +C165 = 0.09567147614 +C166 = 0 +C167 = 0 +C168 = 0 +C169 = 0 +C170 = 1 +C171 = 0 +C172 = 0 +C173 = 0 +C174 = 0 +C175 = 0 +C176 = 0 +C177 = 0 +C178 = 0 +C179 = 0 +C180 = 0 +C181 = 0 +C182 = 0 +C183 = 0 +C184 = 0 +C185 = 0 +C186 = 0 +C187 = 0 +C188 = 0 +C189 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M lseu.mps +Optimum value: 7167.482759 +Optimum location: +C101 = 0 +C102 = 0 +C103 = 0 +C104 = 0 +C105 = 0 +C106 = 0 +C107 = 0 +C108 = 1 +C109 = 0 +C110 = 0 +C111 = 1 +C112 = 0 +C113 = 0 +C114 = 0 +C115 = 1 +C116 = 0 +C117 = 0 +C118 = 0.6896551724 +C119 = 0 +C120 = 0 +C121 = 0 +C122 = 1 +C123 = 0 +C124 = 0 +C125 = 1 +C126 = 0 +C127 = 0 +C128 = 0 +C129 = 0 +C130 = 0 +C131 = 0 +C132 = 0 +C133 = 1 +C134 = 0 +C135 = 1 +C136 = 0 +C137 = 0 +C138 = 0 +C139 = 0 +C140 = 1 +C141 = 0 +C142 = 0 +C143 = 0 +C144 = 1 +C145 = 0 +C146 = 0 +C147 = 0 +C148 = 0 +C149 = 0 +C150 = 0 +C151 = 1 +C152 = 0 +C153 = 1 +C154 = 0 +C155 = 0 +C156 = 0 +C157 = 0 +C158 = 1 +C159 = 0 +C160 = 0 +C161 = 0 +C162 = 0 +C163 = 1 +C164 = 0 +C165 = 0 +C166 = 0 +C167 = 0 +C168 = 0 +C169 = 0 +C170 = 0 +C171 = 1 +C172 = 1 +C173 = 1 +C174 = 1 +C175 = 1 +C176 = 1 +C177 = 1 +C178 = 1 +C179 = 1 +C180 = 1 +C181 = 1 +C182 = 1 +C183 = 1 +C184 = 1 +C185 = 1 +C186 = 0 +C187 = 0 +C188 = 1 +C189 = 1 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m markshare1.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +x4 = 0 +x5 = 0 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 0 +x13 = 0.4643273602 +x14 = 0 +x15 = 1 +x16 = 0.9623071054 +x17 = 0 +x18 = 1 +x19 = 1 +x20 = 1 +x21 = 0 +x22 = 1 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 1 +x27 = 1 +x28 = 1 +x29 = 1 +x30 = 1 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 1 +x35 = 0 +x36 = 1 +x37 = 0.839896525 +x38 = 0 +x39 = 0 +x40 = 1 +x41 = 1 +x42 = 0 +x43 = 1 +x44 = 0.09199314836 +x45 = 1 +x46 = 1 +x47 = 1 +x48 = 1 +x49 = 0 +x50 = 1 +x51 = 1 +x52 = 0 +x53 = 1 +x54 = 1 +x55 = 0 +x56 = 0.3536953199 +x57 = 1 +x58 = 0 +x59 = 0 +x60 = 1 +x61 = 0 +x62 = 0.2898890259 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M markshare1.mps +Optimum value: 7286 +Optimum location: +x1 = 1116 +x2 = 0 +x3 = 1325 +x4 = 0 +x5 = 1353 +x6 = 0 +x7 = 1169 +x8 = 0 +x9 = 1160 +x10 = 0 +x11 = 1163 +x12 = 0 +x13 = 0 +x14 = 0 +x15 = 0 +x16 = 0 +x17 = 0 +x18 = 0 +x19 = 0 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 0 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 0 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 0 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 0 +x48 = 0 +x49 = 0 +x50 = 0 +x51 = 0 +x52 = 0 +x53 = 0 +x54 = 0 +x55 = 0 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 0 +x60 = 0 +x61 = 0 +x62 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m markshare2.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +x4 = 0 +x5 = 0 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 0 +x13 = 0 +x14 = 0 +x15 = 0 +x16 = 1 +x17 = 0 +x18 = 1 +x19 = 1 +x20 = 1 +x21 = 0.3717008822 +x22 = 0.1692962317 +x23 = 1 +x24 = 0 +x25 = 0 +x26 = 1 +x27 = 1 +x28 = 0 +x29 = 0 +x30 = 1 +x31 = 1 +x32 = 0 +x33 = 1 +x34 = 0 +x35 = 1 +x36 = 1 +x37 = 1 +x38 = 1 +x39 = 1 +x40 = 0 +x41 = 0 +x42 = 1 +x43 = 0 +x44 = 0 +x45 = 0 +x46 = 1 +x47 = 0 +x48 = 0 +x49 = 0.01751673708 +x50 = 0.1466102207 +x51 = 0.3205265241 +x52 = 1 +x53 = 0 +x54 = 0 +x55 = 0 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 1 +x60 = 1 +x61 = 1 +x62 = 1 +x63 = 1 +x64 = 1 +x65 = 0.4427598921 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 1 +x70 = 0 +x71 = 0 +x72 = 1 +x73 = 0.6098932051 +x74 = 1 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M markshare2.mps +Optimum value: 10512 +Optimum location: +x1 = 1324 +x2 = 0 +x3 = 1554 +x4 = 0 +x5 = 1429 +x6 = 0 +x7 = 1686 +x8 = 0 +x9 = 1482 +x10 = 0 +x11 = 1613 +x12 = 0 +x13 = 1424 +x14 = 0 +x15 = 0 +x16 = 0 +x17 = 0 +x18 = 0 +x19 = 0 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 0 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 0 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 0 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 0 +x48 = 0 +x49 = 0 +x50 = 0 +x51 = 0 +x52 = 0 +x53 = 0 +x54 = 0 +x55 = 0 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 0 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 0 +x65 = 0 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 0 +x70 = 0 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas76.mps +Optimum value: 38893.90364 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +x4 = 0 +x5 = 1 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 1 +x13 = 0 +x14 = 1 +x15 = 0 +x16 = 0 +x17 = 0 +x18 = 0 +x19 = 1 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 0 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 0 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 0.6025695431 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 1 +x48 = 0 +x49 = 0.6033373468 +x50 = 0 +x51 = 0 +x52 = 0 +x53 = 1 +x54 = 0 +x55 = 0 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 0 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 0 +x65 = 0 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 0 +x70 = 0 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 0 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 0.09549689808 +x81 = 0 +x82 = 0 +x83 = 0 +x84 = 0.9782647972 +x85 = 0 +x86 = 0.1119635576 +x87 = 0 +x88 = 1 +x89 = 0 +x90 = 0 +x91 = 0 +x92 = 0 +x93 = 0 +x94 = 1 +x95 = 0 +x96 = 0 +x97 = 0 +x98 = 0 +x99 = 0 +x100 = 0 +x101 = 0 +x102 = 0 +x103 = 0 +x104 = 0 +x105 = 0 +x106 = 0 +x107 = 0 +x108 = 0 +x109 = 0 +x110 = 0 +x111 = 0 +x112 = 0 +x113 = 0 +x114 = 0 +x115 = 0.3920130219 +x116 = 0 +x117 = 0 +x118 = 0 +x119 = 0 +x120 = 1 +x121 = 0 +x122 = 0.1417811414 +x123 = 0 +x124 = 0.5090665566 +x125 = 0 +x126 = 0 +x127 = 0 +x128 = 0 +x129 = 1 +x130 = 0 +x131 = 0 +x132 = 0 +x133 = 0 +x134 = 0 +x135 = 0 +x136 = 0 +x137 = 0 +x138 = 0 +x139 = 0 +x140 = 0 +x141 = 0 +x142 = 0.6649413383 +x143 = 0 +x144 = 0 +x145 = 0 +x146 = 0 +x147 = 0 +x148 = 0.8642716976 +x149 = 0 +x150 = 0.03629410141 +x151 = 38893.90349 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M mas76.mps +Optimum value: 1e+12 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +x4 = 0 +x5 = 0 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 1 +x13 = 0 +x14 = 0 +x15 = 1 +x16 = 1 +x17 = 0 +x18 = 0 +x19 = 0 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 0 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 1 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 0 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 1 +x48 = 0 +x49 = 0 +x50 = 0 +x51 = 0 +x52 = 0 +x53 = 0 +x54 = 0 +x55 = 0 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 1 +x60 = 1 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 0 +x65 = 1 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 0 +x70 = 0 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 0 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 0 +x81 = 0 +x82 = 1 +x83 = 0 +x84 = 0 +x85 = 0 +x86 = 1 +x87 = 0 +x88 = 0 +x89 = 0 +x90 = 0 +x91 = 0 +x92 = 0 +x93 = 0 +x94 = 0 +x95 = 0 +x96 = 0 +x97 = 0 +x98 = 0 +x99 = 0 +x100 = 0 +x101 = 0 +x102 = 0 +x103 = 0 +x104 = 0 +x105 = 0 +x106 = 0 +x107 = 0 +x108 = 0 +x109 = 0 +x110 = 0 +x111 = 1 +x112 = 0 +x113 = 0 +x114 = 0 +x115 = 0 +x116 = 0 +x117 = 0 +x118 = 0 +x119 = 0 +x120 = 1 +x121 = 0 +x122 = 1 +x123 = 0 +x124 = 0 +x125 = 0 +x126 = 0 +x127 = 0 +x128 = 0 +x129 = 0 +x130 = 0 +x131 = 0 +x132 = 0 +x133 = 0 +x134 = 0 +x135 = 0 +x136 = 0 +x137 = 0 +x138 = 0 +x139 = 0 +x140 = 0 +x141 = 0 +x142 = 1 +x143 = 0 +x144 = 0 +x145 = 0 +x146 = 0 +x147 = 1 +x148 = 0 +x149 = 0 +x150 = 0 +x151 = 1e+12 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mip.mps +Optimum value: 24.07692308 +Optimum location: +X1 = 2.615384615 +X2 = 2 +X3 = 0.7692307692 +X4 = 3 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M mip.mps +Optimum value: 46.42857143 +Optimum location: +X1 = 4 +X2 = 4.571428571 +X3 = 0.5714285714 +X4 = 3 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m noswot.mps +Optimum value: -43 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +x4 = 0 +x5 = 0.7381463423 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 0 +x13 = 0 +x14 = 0 +x15 = 0 +x16 = 0 +x17 = 0 +x18 = 0 +x19 = 0 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 0 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 0 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 0 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 0 +x48 = 0 +x49 = 0 +x50 = 0 +x51 = 0.9583331684 +x52 = 9.1999988 +x53 = 1 +x54 = 9.6000004 +x55 = 1 +x56 = 9.6000004 +x57 = 1 +x58 = 9.6000004 +x59 = 0 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 0 +x65 = 0 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 0.9300625312 +x70 = 5 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 0 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 0 +x81 = 0 +x82 = 0 +x83 = 0 +x84 = 0 +x85 = 0 +x86 = 0 +x87 = 0 +x88 = 0 +x89 = 0 +x90 = 0 +x91 = 0 +x92 = 0 +x93 = 0 +x94 = 0 +x95 = 0 +x96 = 0 +x97 = 0 +x98 = 0 +x99 = 0 +x100 = 0 +x101 = 0 +x102 = 0 +x103 = 0 +x104 = 0 +x105 = 0 +x106 = 0 +x107 = 0 +x108 = 0 +x109 = 0 +x110 = 0 +x111 = 0 +x112 = 0 +x113 = 0 +x114 = 0 +x115 = 0 +x116 = 0 +x117 = 0 +x118 = 0 +x119 = 0 +x120 = 0 +x121 = 0 +x122 = 0 +x123 = 0 +x124 = 0 +x125 = 0 +x126 = 0 +x127 = 0 +x128 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M noswot.mps +Optimum value: -5 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +x4 = 0 +x5 = 0.7381463423 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 0 +x13 = 0 +x14 = 0 +x15 = 0 +x16 = 0 +x17 = 0 +x18 = 0 +x19 = 0 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 0 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 0 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 0 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 0 +x48 = 0 +x49 = 0 +x50 = 0 +x51 = 0 +x52 = 0 +x53 = 0 +x54 = 0 +x55 = 0 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 0 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 0 +x65 = 0 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 0.9300625312 +x70 = 5 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 0 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 0 +x81 = 0 +x82 = 0 +x83 = 0 +x84 = 0 +x85 = 0 +x86 = 0 +x87 = 0 +x88 = 0 +x89 = 0 +x90 = 0 +x91 = 0 +x92 = 0 +x93 = 0 +x94 = 0 +x95 = 0 +x96 = 0 +x97 = 0 +x98 = 0 +x99 = 0 +x100 = 0 +x101 = 0 +x102 = 0 +x103 = 0 +x104 = 0 +x105 = 0 +x106 = 0 +x107 = 0 +x108 = 0 +x109 = 0 +x110 = 0 +x111 = 0 +x112 = 0 +x113 = 0 +x114 = 0 +x115 = 0 +x116 = 0 +x117 = 0 +x118 = 0 +x119 = 0 +x120 = 0 +x121 = 0 +x122 = 0 +x123 = 0 +x124 = 0 +x125 = 0 +x126 = 0 +x127 = 0 +x128 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m opt1217.mps +Optimum value: -20.02139037 +Optimum location: +x1 = 20.02139037 +x2 = 0 +x3 = 0 +x4 = 0 +x5 = 0 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 0 +x13 = 0 +x14 = 0 +x15 = 0 +x16 = 0 +x17 = 0 +x18 = 0 +x19 = 0 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 0 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 0 +x35 = 0.003565062389 +x36 = 0 +x37 = 0 +x38 = 1 +x39 = 1 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 1 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 0 +x48 = 0 +x49 = 0 +x50 = 0 +x51 = 0 +x52 = 0 +x53 = 0 +x54 = 0 +x55 = 0 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 1 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 1 +x65 = 1 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 0 +x70 = 0 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 1 +x75 = 0 +x76 = 0 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 0 +x81 = 0 +x82 = 0 +x83 = 0.005347593583 +x84 = 0 +x85 = 0 +x86 = 0 +x87 = 0 +x88 = 0 +x89 = 0 +x90 = 0 +x91 = 0 +x92 = 0 +x93 = 0 +x94 = 0 +x95 = 0 +x96 = 0 +x97 = 0 +x98 = 0 +x99 = 0 +x100 = 0 +x101 = 0 +x102 = 0 +x103 = 0 +x104 = 1 +x105 = 0 +x106 = 0 +x107 = 0 +x108 = 0 +x109 = 0 +x110 = 0 +x111 = 0 +x112 = 0 +x113 = 0 +x114 = 0 +x115 = 0 +x116 = 0 +x117 = 0 +x118 = 0 +x119 = 0 +x120 = 0 +x121 = 0 +x122 = 0 +x123 = 1 +x124 = 1 +x125 = 0.3368983957 +x126 = 0 +x127 = 0 +x128 = 0 +x129 = 0 +x130 = 0 +x131 = 0 +x132 = 0 +x133 = 0 +x134 = 0 +x135 = 0 +x136 = 0 +x137 = 0 +x138 = 0 +x139 = 0 +x140 = 0 +x141 = 0 +x142 = 0 +x143 = 0 +x144 = 0 +x145 = 0 +x146 = 0 +x147 = 0 +x148 = 0 +x149 = 0 +x150 = 0 +x151 = 0 +x152 = 0 +x153 = 0 +x154 = 0 +x155 = 0 +x156 = 0 +x157 = 0 +x158 = 0 +x159 = 0 +x160 = 0 +x161 = 0.6631016043 +x162 = 0 +x163 = 0 +x164 = 0.6737967914 +x165 = 1 +x166 = 0 +x167 = 0 +x168 = 0 +x169 = 0 +x170 = 0 +x171 = 0 +x172 = 0 +x173 = 0 +x174 = 0 +x175 = 0 +x176 = 0 +x177 = 0 +x178 = 0 +x179 = 0 +x180 = 0 +x181 = 0 +x182 = 0 +x183 = 0 +x184 = 1 +x185 = 0 +x186 = 0 +x187 = 0 +x188 = 0 +x189 = 0 +x190 = 0 +x191 = 0 +x192 = 0 +x193 = 1 +x194 = 1 +x195 = 0 +x196 = 0 +x197 = 0 +x198 = 0 +x199 = 0 +x200 = 0 +x201 = 0 +x202 = 0 +x203 = 0 +x204 = 0 +x205 = 0 +x206 = 0 +x207 = 0 +x208 = 0 +x209 = 0.3368983957 +x210 = 1 +x211 = 0 +x212 = 0 +x213 = 0 +x214 = 0 +x215 = 0 +x216 = 0 +x217 = 0 +x218 = 0 +x219 = 0 +x220 = 0 +x221 = 0 +x222 = 0 +x223 = 0 +x224 = 0 +x225 = 0 +x226 = 0 +x227 = 0 +x228 = 0 +x229 = 0 +x230 = 0 +x231 = 0 +x232 = 0 +x233 = 0 +x234 = 0 +x235 = 0 +x236 = 0 +x237 = 0 +x238 = 0 +x239 = 0 +x240 = 0 +x241 = 0 +x242 = 0 +x243 = 0 +x244 = 0 +x245 = 0 +x246 = 0 +x247 = 0 +x248 = 0 +x249 = 0 +x250 = 0 +x251 = 0 +x252 = 0 +x253 = 0 +x254 = 0 +x255 = 0 +x256 = 0 +x257 = 0 +x258 = 0 +x259 = 0 +x260 = 0 +x261 = 0 +x262 = 0 +x263 = 0 +x264 = 0 +x265 = 0 +x266 = 0 +x267 = 0 +x268 = 0 +x269 = 0 +x270 = 0 +x271 = 0 +x272 = 0 +x273 = 0 +x274 = 0 +x275 = 0 +x276 = 0 +x277 = 0 +x278 = 0 +x279 = 0 +x280 = 1 +x281 = 1 +x282 = 1 +x283 = 0.3368983957 +x284 = 0 +x285 = 0 +x286 = 0 +x287 = 0 +x288 = 0 +x289 = 0 +x290 = 0 +x291 = 0 +x292 = 0 +x293 = 1 +x294 = 0 +x295 = 0 +x296 = 0 +x297 = 0 +x298 = 0 +x299 = 0 +x300 = 0 +x301 = 0 +x302 = 0 +x303 = 1 +x304 = 0.3262032086 +x305 = 0 +x306 = 0 +x307 = 0 +x308 = 0 +x309 = 0 +x310 = 0 +x311 = 0 +x312 = 0 +x313 = 0 +x314 = 0.3565062389 +x315 = 0 +x316 = 0 +x317 = 0 +x318 = 0 +x319 = 0.6541889483 +x320 = 0 +x321 = 0 +x322 = 0 +x323 = 0 +x324 = 0 +x325 = 0 +x326 = 0 +x327 = 0 +x328 = 0 +x329 = 0 +x330 = 0 +x331 = 0 +x332 = 0 +x333 = 0 +x334 = 0 +x335 = 0 +x336 = 0 +x337 = 0 +x338 = 0 +x339 = 0 +x340 = 0 +x341 = 0 +x342 = 0 +x343 = 1 +x344 = 1 +x345 = 0.5026737968 +x346 = 0 +x347 = 0 +x348 = 0 +x349 = 0 +x350 = 0 +x351 = 0 +x352 = 0 +x353 = 0 +x354 = 0 +x355 = 0 +x356 = 0 +x357 = 0 +x358 = 0 +x359 = 0 +x360 = 0 +x361 = 0 +x362 = 0 +x363 = 0 +x364 = 0 +x365 = 0 +x366 = 0 +x367 = 0 +x368 = 0 +x369 = 0 +x370 = 0 +x371 = 0 +x372 = 0 +x373 = 0 +x374 = 0 +x375 = 0 +x376 = 0 +x377 = 0 +x378 = 0 +x379 = 0 +x380 = 0 +x381 = 0 +x382 = 0 +x383 = 0.3368983957 +x384 = 0 +x385 = 0 +x386 = 0 +x387 = 0 +x388 = 0 +x389 = 0 +x390 = 0 +x391 = 0 +x392 = 0 +x393 = 0 +x394 = 0 +x395 = 0 +x396 = 0 +x397 = 0 +x398 = 0 +x399 = 0 +x400 = 0 +x401 = 0 +x402 = 1 +x403 = 1 +x404 = 1 +x405 = 0 +x406 = 0 +x407 = 0 +x408 = 0 +x409 = 0 +x410 = 0 +x411 = 0 +x412 = 0 +x413 = 0 +x414 = 0 +x415 = 0 +x416 = 0 +x417 = 0 +x418 = 0 +x419 = 0 +x420 = 0 +x421 = 0 +x422 = 0 +x423 = 0 +x424 = 0 +x425 = 0 +x426 = 0 +x427 = 0 +x428 = 0 +x429 = 0 +x430 = 0 +x431 = 0 +x432 = 0 +x433 = 0 +x434 = 0 +x435 = 0 +x436 = 0 +x437 = 0 +x438 = 0 +x439 = 0 +x440 = 0 +x441 = 0 +x442 = 0 +x443 = 0 +x444 = 0 +x445 = 0 +x446 = 0 +x447 = 0 +x448 = 0 +x449 = 0 +x450 = 0 +x451 = 0 +x452 = 0 +x453 = 0 +x454 = 0 +x455 = 0 +x456 = 0 +x457 = 0 +x458 = 0 +x459 = 0 +x460 = 0 +x461 = 0 +x462 = 0 +x463 = 1 +x464 = 0 +x465 = 0 +x466 = 1 +x467 = 0 +x468 = 0.5026737968 +x469 = 0 +x470 = 0 +x471 = 0 +x472 = 0 +x473 = 0 +x474 = 0 +x475 = 0 +x476 = 0 +x477 = 0.6631016043 +x478 = 0 +x479 = 0 +x480 = 0 +x481 = 0 +x482 = 0 +x483 = 0 +x484 = 0 +x485 = 0 +x486 = 0 +x487 = 0 +x488 = 0 +x489 = 0 +x490 = 0 +x491 = 0 +x492 = 0 +x493 = 0 +x494 = 0 +x495 = 0 +x496 = 0 +x497 = 0 +x498 = 0 +x499 = 0 +x500 = 0 +x501 = 0 +x502 = 0 +x503 = 0 +x504 = 0 +x505 = 0 +x506 = 0 +x507 = 1 +x508 = 0 +x509 = 0 +x510 = 0 +x511 = 0 +x512 = 0 +x513 = 0 +x514 = 0 +x515 = 0 +x516 = 0 +x517 = 0.7896613191 +x518 = 0 +x519 = 0 +x520 = 0 +x521 = 0.6631016043 +x522 = 0 +x523 = 0 +x524 = 0 +x525 = 0 +x526 = 0 +x527 = 1 +x528 = 0 +x529 = 0 +x530 = 0 +x531 = 0 +x532 = 0 +x533 = 0 +x534 = 0 +x535 = 0 +x536 = 0 +x537 = 0 +x538 = 0 +x539 = 0 +x540 = 0 +x541 = 0 +x542 = 0 +x543 = 0 +x544 = 0 +x545 = 0 +x546 = 0 +x547 = 0 +x548 = 0 +x549 = 0 +x550 = 0 +x551 = 0 +x552 = 0 +x553 = 1 +x554 = 0.5026737968 +x555 = 0 +x556 = 0 +x557 = 0 +x558 = 0 +x559 = 0 +x560 = 0 +x561 = 0 +x562 = 0 +x563 = 0 +x564 = 0 +x565 = 0 +x566 = 0 +x567 = 0 +x568 = 0 +x569 = 0 +x570 = 0 +x571 = 0 +x572 = 0 +x573 = 0 +x574 = 0.4973262032 +x575 = 0 +x576 = 0 +x577 = 0 +x578 = 0 +x579 = 0 +x580 = 0 +x581 = 0 +x582 = 0 +x583 = 0.4973262032 +x584 = 1 +x585 = 0 +x586 = 0 +x587 = 0 +x588 = 0 +x589 = 0 +x590 = 0 +x591 = 0 +x592 = 0 +x593 = 0 +x594 = 0 +x595 = 0 +x596 = 0 +x597 = 0 +x598 = 0 +x599 = 0 +x600 = 0 +x601 = 0 +x602 = 0.4973262032 +x603 = 0 +x604 = 0 +x605 = 0.3458110517 +x606 = 0 +x607 = 0 +x608 = 0 +x609 = 0 +x610 = 0 +x611 = 0 +x612 = 0 +x613 = 0 +x614 = 0 +x615 = 0 +x616 = 0 +x617 = 1 +x618 = 0 +x619 = 0 +x620 = 0 +x621 = 0 +x622 = 0 +x623 = 0 +x624 = 0 +x625 = 0 +x626 = 0 +x627 = 0 +x628 = 0 +x629 = 0 +x630 = 0 +x631 = 0 +x632 = 0 +x633 = 0 +x634 = 0 +x635 = 0 +x636 = 0 +x637 = 0 +x638 = 0 +x639 = 0 +x640 = 0 +x641 = 0 +x642 = 0 +x643 = 1 +x644 = 0 +x645 = 0 +x646 = 0 +x647 = 0.5026737968 +x648 = 0 +x649 = 0 +x650 = 0 +x651 = 0 +x652 = 0 +x653 = 0 +x654 = 0 +x655 = 0 +x656 = 0 +x657 = 0 +x658 = 0 +x659 = 0 +x660 = 0 +x661 = 0 +x662 = 0 +x663 = 0 +x664 = 0 +x665 = 0 +x666 = 0 +x667 = 0 +x668 = 0 +x669 = 0.5026737968 +x670 = 0 +x671 = 1 +x672 = 0 +x673 = 1 +x674 = 0 +x675 = 0 +x676 = 0 +x677 = 0 +x678 = 0 +x679 = 0 +x680 = 0 +x681 = 0 +x682 = 0 +x683 = 0 +x684 = 0 +x685 = 0 +x686 = 0 +x687 = 0 +x688 = 0 +x689 = 0 +x690 = 0 +x691 = 0 +x692 = 0 +x693 = 0 +x694 = 0 +x695 = 0 +x696 = 0 +x697 = 0 +x698 = 0 +x699 = 0 +x700 = 0 +x701 = 0 +x702 = 0 +x703 = 0 +x704 = 0 +x705 = 0 +x706 = 0 +x707 = 0 +x708 = 0 +x709 = 0 +x710 = 0 +x711 = 0 +x712 = 0 +x713 = 0 +x714 = 0 +x715 = 0 +x716 = 0 +x717 = 0 +x718 = 0 +x719 = 0 +x720 = 0 +x721 = 0 +x722 = 0 +x723 = 0 +x724 = 0 +x725 = 0 +x726 = 0 +x727 = 0 +x728 = 0 +x729 = 0 +x730 = 0 +x731 = 0 +x732 = 0 +x733 = 0 +x734 = 0 +x735 = 0 +x736 = 0 +x737 = 0 +x738 = 0 +x739 = 0 +x740 = 0 +x741 = 0.6631016043 +x742 = 0.1408199643 +x743 = 0 +x744 = 0 +x745 = 0 +x746 = 0.991087344 +x747 = 0 +x748 = 0 +x749 = 0 +x750 = 0 +x751 = 0 +x752 = 0 +x753 = 0.4973262032 +x754 = 0 +x755 = 0.2103386809 +x756 = 0 +x757 = 0 +x758 = 0 +x759 = 0 +x760 = 0 +x761 = 0 +x762 = 0 +x763 = 0 +x764 = 0 +x765 = 0 +x766 = 0 +x767 = 0 +x768 = 0 +x769 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M opt1217.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +x4 = 0 +x5 = 0 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 0 +x13 = 0 +x14 = 0 +x15 = 0 +x16 = 0 +x17 = 0 +x18 = 1 +x19 = 0 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 0 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 0 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 0 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 0 +x48 = 0 +x49 = 0 +x50 = 0 +x51 = 0 +x52 = 0 +x53 = 0 +x54 = 0 +x55 = 0 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 0 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 0 +x65 = 0 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 0 +x70 = 0 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 0 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 0 +x81 = 0 +x82 = 0 +x83 = 0 +x84 = 0 +x85 = 0 +x86 = 0 +x87 = 0 +x88 = 0 +x89 = 0 +x90 = 0 +x91 = 0 +x92 = 0 +x93 = 0 +x94 = 0 +x95 = 0 +x96 = 0 +x97 = 0 +x98 = 0 +x99 = 0 +x100 = 0 +x101 = 0 +x102 = 0 +x103 = 0 +x104 = 0 +x105 = 0 +x106 = 0 +x107 = 0 +x108 = 0 +x109 = 0 +x110 = 0 +x111 = 0 +x112 = 0 +x113 = 0 +x114 = 0 +x115 = 0 +x116 = 0 +x117 = 0 +x118 = 1 +x119 = 1 +x120 = 0 +x121 = 0 +x122 = 0 +x123 = 0 +x124 = 0 +x125 = 0 +x126 = 0 +x127 = 0 +x128 = 0 +x129 = 0 +x130 = 0 +x131 = 0 +x132 = 0 +x133 = 0 +x134 = 0 +x135 = 0 +x136 = 0 +x137 = 0 +x138 = 0 +x139 = 1 +x140 = 0 +x141 = 0 +x142 = 0 +x143 = 0 +x144 = 0 +x145 = 0 +x146 = 0 +x147 = 0 +x148 = 0 +x149 = 0 +x150 = 0 +x151 = 0 +x152 = 0 +x153 = 0 +x154 = 0 +x155 = 0 +x156 = 0 +x157 = 0 +x158 = 0 +x159 = 0 +x160 = 0 +x161 = 0 +x162 = 0 +x163 = 0 +x164 = 0 +x165 = 0 +x166 = 0 +x167 = 0 +x168 = 0 +x169 = 0 +x170 = 0 +x171 = 0 +x172 = 0 +x173 = 0 +x174 = 0 +x175 = 0 +x176 = 0 +x177 = 0 +x178 = 0 +x179 = 0 +x180 = 0 +x181 = 0 +x182 = 0 +x183 = 0 +x184 = 0 +x185 = 0 +x186 = 0 +x187 = 0 +x188 = 0 +x189 = 0 +x190 = 0 +x191 = 0 +x192 = 0 +x193 = 0 +x194 = 0 +x195 = 0 +x196 = 0 +x197 = 0 +x198 = 0 +x199 = 0 +x200 = 0 +x201 = 0 +x202 = 0 +x203 = 0 +x204 = 0 +x205 = 0 +x206 = 0 +x207 = 0 +x208 = 0 +x209 = 0 +x210 = 0 +x211 = 0 +x212 = 0 +x213 = 0 +x214 = 0 +x215 = 0 +x216 = 0 +x217 = 0 +x218 = 0 +x219 = 0 +x220 = 0 +x221 = 1 +x222 = 0 +x223 = 0 +x224 = 0 +x225 = 0 +x226 = 1 +x227 = 0 +x228 = 1 +x229 = 1 +x230 = 0 +x231 = 0 +x232 = 0 +x233 = 0 +x234 = 0 +x235 = 0 +x236 = 1 +x237 = 0 +x238 = 0 +x239 = 0 +x240 = 0 +x241 = 0 +x242 = 0 +x243 = 1 +x244 = 0 +x245 = 0 +x246 = 1 +x247 = 1 +x248 = 1 +x249 = 1 +x250 = 1 +x251 = 1 +x252 = 0 +x253 = 0 +x254 = 0 +x255 = 0 +x256 = 0 +x257 = 0 +x258 = 0 +x259 = 0 +x260 = 0 +x261 = 0 +x262 = 0 +x263 = 0 +x264 = 0 +x265 = 0 +x266 = 0 +x267 = 0 +x268 = 0 +x269 = 0 +x270 = 0 +x271 = 0 +x272 = 0 +x273 = 0 +x274 = 0 +x275 = 0 +x276 = 0 +x277 = 0 +x278 = 0 +x279 = 0 +x280 = 0 +x281 = 0 +x282 = 0 +x283 = 0 +x284 = 0 +x285 = 0 +x286 = 0 +x287 = 0 +x288 = 0 +x289 = 1 +x290 = 0 +x291 = 0 +x292 = 0 +x293 = 0 +x294 = 0 +x295 = 0 +x296 = 0 +x297 = 0 +x298 = 0 +x299 = 0 +x300 = 0 +x301 = 0 +x302 = 0 +x303 = 0 +x304 = 0 +x305 = 0 +x306 = 0 +x307 = 0 +x308 = 0 +x309 = 0 +x310 = 0 +x311 = 0 +x312 = 0 +x313 = 0 +x314 = 0 +x315 = 0 +x316 = 0 +x317 = 0 +x318 = 0 +x319 = 0 +x320 = 0 +x321 = 0 +x322 = 0 +x323 = 0 +x324 = 0 +x325 = 0 +x326 = 0 +x327 = 0 +x328 = 0 +x329 = 0 +x330 = 0 +x331 = 0 +x332 = 0 +x333 = 0 +x334 = 0 +x335 = 0 +x336 = 1 +x337 = 0 +x338 = 0 +x339 = 0 +x340 = 0 +x341 = 0 +x342 = 0 +x343 = 0 +x344 = 0 +x345 = 0 +x346 = 0 +x347 = 0 +x348 = 0 +x349 = 0 +x350 = 0 +x351 = 0 +x352 = 0 +x353 = 0 +x354 = 0 +x355 = 0 +x356 = 0 +x357 = 0 +x358 = 0 +x359 = 0 +x360 = 0 +x361 = 0 +x362 = 0 +x363 = 0 +x364 = 0 +x365 = 0 +x366 = 0 +x367 = 0 +x368 = 0 +x369 = 0 +x370 = 0 +x371 = 0 +x372 = 0 +x373 = 0 +x374 = 0 +x375 = 0 +x376 = 0 +x377 = 1 +x378 = 1 +x379 = 1 +x380 = 0 +x381 = 0 +x382 = 0 +x383 = 0 +x384 = 0 +x385 = 0 +x386 = 0 +x387 = 0 +x388 = 0 +x389 = 0 +x390 = 0 +x391 = 0 +x392 = 0 +x393 = 0 +x394 = 0 +x395 = 0 +x396 = 0 +x397 = 0 +x398 = 0 +x399 = 0 +x400 = 0 +x401 = 0 +x402 = 0 +x403 = 0 +x404 = 0 +x405 = 0 +x406 = 0 +x407 = 0 +x408 = 0 +x409 = 0 +x410 = 0 +x411 = 0 +x412 = 0 +x413 = 0 +x414 = 0 +x415 = 0 +x416 = 0 +x417 = 0 +x418 = 0 +x419 = 0 +x420 = 0 +x421 = 0 +x422 = 0 +x423 = 0 +x424 = 0 +x425 = 0 +x426 = 0 +x427 = 0 +x428 = 0 +x429 = 1 +x430 = 1 +x431 = 0 +x432 = 0 +x433 = 0 +x434 = 0 +x435 = 0 +x436 = 0 +x437 = 0 +x438 = 0 +x439 = 0 +x440 = 0 +x441 = 0 +x442 = 0 +x443 = 0 +x444 = 0 +x445 = 0 +x446 = 0 +x447 = 0 +x448 = 0 +x449 = 0 +x450 = 0 +x451 = 0 +x452 = 0 +x453 = 0 +x454 = 1 +x455 = 1 +x456 = 0 +x457 = 0 +x458 = 0 +x459 = 0 +x460 = 0 +x461 = 0 +x462 = 0 +x463 = 0 +x464 = 0 +x465 = 0 +x466 = 0 +x467 = 0 +x468 = 0 +x469 = 0 +x470 = 0 +x471 = 0 +x472 = 0 +x473 = 0 +x474 = 0 +x475 = 0 +x476 = 0 +x477 = 0 +x478 = 0 +x479 = 0 +x480 = 0 +x481 = 0 +x482 = 0 +x483 = 0 +x484 = 0 +x485 = 0 +x486 = 0 +x487 = 0 +x488 = 0 +x489 = 0 +x490 = 0 +x491 = 0 +x492 = 0 +x493 = 0 +x494 = 1 +x495 = 0 +x496 = 0 +x497 = 0 +x498 = 0 +x499 = 0 +x500 = 0 +x501 = 0 +x502 = 0 +x503 = 0 +x504 = 1 +x505 = 1 +x506 = 0 +x507 = 0 +x508 = 0 +x509 = 0 +x510 = 0 +x511 = 0 +x512 = 0 +x513 = 0 +x514 = 0 +x515 = 0 +x516 = 0 +x517 = 0 +x518 = 0 +x519 = 0 +x520 = 0 +x521 = 0 +x522 = 0 +x523 = 0 +x524 = 0 +x525 = 0 +x526 = 0 +x527 = 0 +x528 = 0 +x529 = 0 +x530 = 0 +x531 = 0 +x532 = 0 +x533 = 0 +x534 = 0 +x535 = 0 +x536 = 0 +x537 = 0 +x538 = 0 +x539 = 0 +x540 = 1 +x541 = 0 +x542 = 0 +x543 = 0 +x544 = 0 +x545 = 0 +x546 = 0 +x547 = 0 +x548 = 0 +x549 = 0 +x550 = 0 +x551 = 0 +x552 = 0 +x553 = 0 +x554 = 0 +x555 = 0 +x556 = 0 +x557 = 0 +x558 = 0 +x559 = 0 +x560 = 0 +x561 = 0 +x562 = 0 +x563 = 0 +x564 = 0 +x565 = 0 +x566 = 0 +x567 = 0 +x568 = 0 +x569 = 0 +x570 = 0 +x571 = 0 +x572 = 0 +x573 = 0 +x574 = 0 +x575 = 0 +x576 = 0 +x577 = 0 +x578 = 0 +x579 = 0 +x580 = 0 +x581 = 0 +x582 = 0 +x583 = 0 +x584 = 0 +x585 = 0 +x586 = 0 +x587 = 0 +x588 = 0 +x589 = 1 +x590 = 0 +x591 = 0 +x592 = 0 +x593 = 0 +x594 = 1 +x595 = 1 +x596 = 0 +x597 = 0 +x598 = 0 +x599 = 0 +x600 = 0 +x601 = 0 +x602 = 0 +x603 = 0 +x604 = 0 +x605 = 0 +x606 = 0 +x607 = 0 +x608 = 0 +x609 = 0 +x610 = 0 +x611 = 0 +x612 = 0 +x613 = 0 +x614 = 0 +x615 = 0 +x616 = 0 +x617 = 0 +x618 = 0 +x619 = 0 +x620 = 0 +x621 = 0 +x622 = 0 +x623 = 0 +x624 = 0 +x625 = 0 +x626 = 0 +x627 = 0 +x628 = 0 +x629 = 0 +x630 = 0 +x631 = 0 +x632 = 0 +x633 = 0 +x634 = 0 +x635 = 0 +x636 = 0 +x637 = 0 +x638 = 0 +x639 = 0 +x640 = 0 +x641 = 0 +x642 = 0 +x643 = 0 +x644 = 0 +x645 = 0 +x646 = 0 +x647 = 0 +x648 = 0 +x649 = 0 +x650 = 0 +x651 = 0 +x652 = 1 +x653 = 0 +x654 = 0 +x655 = 0 +x656 = 1 +x657 = 0 +x658 = 0 +x659 = 0 +x660 = 0 +x661 = 0 +x662 = 0 +x663 = 0 +x664 = 0 +x665 = 0 +x666 = 0 +x667 = 0 +x668 = 0 +x669 = 0 +x670 = 0 +x671 = 0 +x672 = 0 +x673 = 0 +x674 = 0 +x675 = 0 +x676 = 0 +x677 = 0 +x678 = 0 +x679 = 0 +x680 = 0 +x681 = 0 +x682 = 0 +x683 = 0 +x684 = 0 +x685 = 0 +x686 = 0 +x687 = 0 +x688 = 0 +x689 = 0 +x690 = 0 +x691 = 0 +x692 = 0 +x693 = 0 +x694 = 0 +x695 = 0 +x696 = 1 +x697 = 1 +x698 = 0 +x699 = 0 +x700 = 0 +x701 = 0 +x702 = 0 +x703 = 0 +x704 = 0 +x705 = 1 +x706 = 1 +x707 = 0 +x708 = 0 +x709 = 0 +x710 = 0 +x711 = 0 +x712 = 0 +x713 = 0 +x714 = 0 +x715 = 0 +x716 = 0 +x717 = 0 +x718 = 0 +x719 = 0 +x720 = 0 +x721 = 0 +x722 = 0 +x723 = 0 +x724 = 0 +x725 = 0 +x726 = 0 +x727 = 0 +x728 = 0 +x729 = 0 +x730 = 0 +x731 = 0 +x732 = 0 +x733 = 0 +x734 = 0 +x735 = 0 +x736 = 0 +x737 = 0 +x738 = 0 +x739 = 0 +x740 = 0 +x741 = 0 +x742 = 0 +x743 = 0 +x744 = 0 +x745 = 0 +x746 = 0 +x747 = 0 +x748 = 0 +x749 = 0 +x750 = 1 +x751 = 0 +x752 = 0 +x753 = 0 +x754 = 0 +x755 = 0 +x756 = 0 +x757 = 0 +x758 = 0 +x759 = 0 +x760 = 1 +x761 = 1 +x762 = 1 +x763 = 1 +x764 = 1 +x765 = 1 +x766 = 0 +x767 = 1 +x768 = 1 +x769 = 1 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m p0033.mps +Optimum value: 2520.571739 +Optimum location: +C157 = 0 +C158 = 1 +C159 = 0 +C160 = 0 +C161 = 0 +C162 = 1 +C163 = 0 +C164 = 0 +C165 = 1 +C166 = 0.02173913043 +C167 = 0.3565217391 +C168 = 0 +C169 = 0 +C170 = 1 +C171 = 0 +C172 = 0 +C173 = 0 +C174 = 0 +C175 = 0 +C176 = 1 +C177 = 0 +C178 = 1 +C179 = 0.36 +C180 = 1 +C181 = 1 +C182 = 1 +C183 = 0.29 +C184 = 1 +C185 = 1 +C186 = 0.5 +C187 = 0 +C188 = 1 +C189 = 0.175 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M p0033.mps +Optimum value: 5299.698868 +Optimum location: +C157 = 1 +C158 = 0 +C159 = 0 +C160 = 0 +C161 = 0 +C162 = 0 +C163 = 1 +C164 = 0 +C165 = 0.5886792453 +C166 = 0 +C167 = 0 +C168 = 0 +C169 = 0 +C170 = 0 +C171 = 1 +C172 = 1 +C173 = 1 +C174 = 1 +C175 = 1 +C176 = 1 +C177 = 1 +C178 = 1 +C179 = 1 +C180 = 1 +C181 = 1 +C182 = 1 +C183 = 1 +C184 = 1 +C185 = 1 +C186 = 0.72 +C187 = 0 +C188 = 1 +C189 = 1 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m pk1.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0.853048009 +x3 = 0 +x4 = 0 +x5 = 0.9902413468 +x6 = 0.6585148486 +x7 = 0.2829608277 +x8 = 0 +x9 = 0 +x10 = 1 +x11 = 0 +x12 = 1 +x13 = 0.331125321 +x14 = 0 +x15 = 0 +x16 = 1 +x17 = 1 +x18 = 1 +x19 = 0 +x20 = 0.1009956211 +x21 = 0.6785106979 +x22 = 0 +x23 = 1 +x24 = 0.8947436612 +x25 = 1 +x26 = 0 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0.1242007274 +x34 = 0.557112246 +x35 = 0.429812324 +x36 = 1 +x37 = 1 +x38 = 1 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0.3510036592 +x43 = 0 +x44 = 1 +x45 = 1 +x46 = 0 +x47 = 0 +x48 = 0.5414381495 +x49 = 1 +x50 = 0.2173113881 +x51 = 0 +x52 = 1 +x53 = 1 +x54 = 0 +x55 = 1 +x56 = 0.9323580046 +x57 = 0 +x58 = 0 +x59 = 0 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 0 +x65 = 0 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 0 +x70 = 0 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 0 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 0 +x81 = 0 +x82 = 0 +x83 = 0 +x84 = 0 +x85 = 0 +x86 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M pk1.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m rout.mps +Optimum value: 981.8642857 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M rout.mps +Optimum value: 2430.87 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sample.mps +Optimum value: -733.3333333 +Optimum location: +x1 = 33.33333333 +x2 = 66.66666667 +x3 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sample.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sc105.mps +Optimum value: -52.20206121 +Optimum location: +COL00001 = 0 +COL00002 = 10.84845409 +COL00003 = 52.20206121 +COL00004 = 52.20206121 +COL00005 = 52.20206121 +COL00006 = 0 +COL00007 = 10.84845409 +COL00008 = 52.20206121 +COL00009 = 0 +COL00010 = 10.84845409 +COL00011 = 52.20206121 +COL00012 = 0 +COL00013 = 12.35752655 +COL00014 = 57.42226733 +COL00015 = 57.42226733 +COL00016 = 109.6243285 +COL00017 = 0 +COL00018 = 23.20598064 +COL00019 = 109.6243285 +COL00020 = 0 +COL00021 = 23.20598064 +COL00022 = 109.6243285 +COL00023 = 0 +COL00024 = 14.22961977 +COL00025 = 63.16449407 +COL00026 = 63.16449407 +COL00027 = 172.7888226 +COL00028 = 0 +COL00029 = 37.43560041 +COL00030 = 172.7888226 +COL00031 = 0 +COL00032 = 37.43560041 +COL00033 = 172.7888226 +COL00034 = 0 +COL00035 = 16.6070926 +COL00036 = 69.48094347 +COL00037 = 69.48094347 +COL00038 = 242.2697661 +COL00039 = 0 +COL00040 = 54.042693 +COL00041 = 242.2697661 +COL00042 = 0 +COL00043 = 54.042693 +COL00044 = 242.2697661 +COL00045 = 0 +COL00046 = 19.69956814 +COL00047 = 76.42903782 +COL00048 = 76.42903782 +COL00049 = 318.6988039 +COL00050 = 0 +COL00051 = 73.74226114 +COL00052 = 318.6988039 +COL00053 = 0 +COL00054 = 73.74226114 +COL00055 = 318.6988039 +COL00056 = 0 +COL00057 = 23.81717437 +COL00058 = 84.0719416 +COL00059 = 84.0719416 +COL00060 = 402.7707455 +COL00061 = 0 +COL00062 = 97.55943551 +COL00063 = 402.7707455 +COL00064 = 0 +COL00065 = 97.55943551 +COL00066 = 402.7707455 +COL00067 = 17.9865343 +COL00068 = 20.42709879 +COL00069 = 92.47913576 +COL00070 = 92.47913576 +COL00071 = 495.2498813 +COL00072 = 17.9865343 +COL00073 = 117.9865343 +COL00074 = 495.2498813 +COL00075 = 17.9865343 +COL00076 = 117.9865343 +COL00077 = 495.2498813 +COL00078 = 21.79865343 +COL00079 = 21.79865343 +COL00080 = 101.7270493 +COL00081 = 101.7270493 +COL00082 = 596.9769306 +COL00083 = 39.78518773 +COL00084 = 139.7851877 +COL00085 = 596.9769306 +COL00086 = 39.78518773 +COL00087 = 139.7851877 +COL00088 = 596.9769306 +COL00089 = 23.97851877 +COL00090 = 23.97851877 +COL00091 = 111.8997543 +COL00092 = 111.8997543 +COL00093 = 708.8766849 +COL00094 = 63.7637065 +COL00095 = 163.7637065 +COL00096 = 708.8766849 +COL00097 = 63.7637065 +COL00098 = 163.7637065 +COL00099 = 708.8766849 +COL00100 = 26.37637065 +COL00101 = 26.37637065 +COL00102 = 123.0897297 +COL00103 = 123.0897297 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sc105.mps +Optimum value: 0 +Optimum location: +COL00001 = 0 +COL00002 = 0 +COL00003 = 0 +COL00004 = 0 +COL00005 = 0 +COL00006 = 0 +COL00007 = 0 +COL00008 = 0 +COL00009 = 0 +COL00010 = 0 +COL00011 = 0 +COL00012 = 0 +COL00013 = 0 +COL00014 = 0 +COL00015 = 0 +COL00016 = 0 +COL00017 = 0 +COL00018 = 0 +COL00019 = 0 +COL00020 = 0 +COL00021 = 0 +COL00022 = 0 +COL00023 = 0 +COL00024 = 0 +COL00025 = 0 +COL00026 = 0 +COL00027 = 0 +COL00028 = 0 +COL00029 = 0 +COL00030 = 0 +COL00031 = 0 +COL00032 = 0 +COL00033 = 0 +COL00034 = 0 +COL00035 = 0 +COL00036 = 0 +COL00037 = 0 +COL00038 = 0 +COL00039 = 0 +COL00040 = 0 +COL00041 = 0 +COL00042 = 0 +COL00043 = 0 +COL00044 = 0 +COL00045 = 0 +COL00046 = 0 +COL00047 = 0 +COL00048 = 0 +COL00049 = 0 +COL00050 = 0 +COL00051 = 0 +COL00052 = 0 +COL00053 = 0 +COL00054 = 0 +COL00055 = 0 +COL00056 = 0 +COL00057 = 0 +COL00058 = 0 +COL00059 = 0 +COL00060 = 0 +COL00061 = 0 +COL00062 = 0 +COL00063 = 0 +COL00064 = 0 +COL00065 = 0 +COL00066 = 0 +COL00067 = 0 +COL00068 = 0 +COL00069 = 0 +COL00070 = 0 +COL00071 = 0 +COL00072 = 0 +COL00073 = 0 +COL00074 = 0 +COL00075 = 0 +COL00076 = 0 +COL00077 = 0 +COL00078 = 0 +COL00079 = 0 +COL00080 = 0 +COL00081 = 0 +COL00082 = 0 +COL00083 = 0 +COL00084 = 0 +COL00085 = 0 +COL00086 = 0 +COL00087 = 0 +COL00088 = 0 +COL00089 = 0 +COL00090 = 0 +COL00091 = 0 +COL00092 = 0 +COL00093 = 0 +COL00094 = 0 +COL00095 = 0 +COL00096 = 0 +COL00097 = 0 +COL00098 = 0 +COL00099 = 0 +COL00100 = 0 +COL00101 = 0 +COL00102 = 0 +COL00103 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sc50a.mps +Optimum value: -64.57507706 +Optimum location: +COL00001 = 0 +COL00002 = 16.56869221 +COL00003 = 64.57507706 +COL00004 = 64.57507706 +COL00005 = 64.57507706 +COL00006 = 0 +COL00007 = 16.56869221 +COL00008 = 64.57507706 +COL00009 = 0 +COL00010 = 16.56869221 +COL00011 = 64.57507706 +COL00012 = 0 +COL00013 = 20.00990753 +COL00014 = 71.03258476 +COL00015 = 71.03258476 +COL00016 = 135.6076618 +COL00017 = 0 +COL00018 = 36.57859974 +COL00019 = 135.6076618 +COL00020 = 0 +COL00021 = 36.57859974 +COL00022 = 135.6076618 +COL00023 = 14.17734478 +COL00024 = 17.59874505 +COL00025 = 78.13584324 +COL00026 = 78.13584324 +COL00027 = 213.7435051 +COL00028 = 14.17734478 +COL00029 = 54.17734478 +COL00030 = 213.7435051 +COL00031 = 14.17734478 +COL00032 = 54.17734478 +COL00033 = 213.7435051 +COL00034 = 18.41773448 +COL00035 = 18.41773448 +COL00036 = 85.94942756 +COL00037 = 85.94942756 +COL00038 = 299.6929326 +COL00039 = 32.59507926 +COL00040 = 72.59507926 +COL00041 = 299.6929326 +COL00042 = 32.59507926 +COL00043 = 72.59507926 +COL00044 = 299.6929326 +COL00045 = 20.25950793 +COL00046 = 20.25950793 +COL00047 = 94.54437032 +COL00048 = 94.54437032 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sc50a.mps +Optimum value: 0 +Optimum location: +COL00001 = 0 +COL00002 = 0 +COL00003 = 0 +COL00004 = 0 +COL00005 = 0 +COL00006 = 0 +COL00007 = 0 +COL00008 = 0 +COL00009 = 0 +COL00010 = 0 +COL00011 = 0 +COL00012 = 0 +COL00013 = 0 +COL00014 = 0 +COL00015 = 0 +COL00016 = 0 +COL00017 = 0 +COL00018 = 0 +COL00019 = 0 +COL00020 = 0 +COL00021 = 0 +COL00022 = 0 +COL00023 = 0 +COL00024 = 0 +COL00025 = 0 +COL00026 = 0 +COL00027 = 0 +COL00028 = 0 +COL00029 = 0 +COL00030 = 0 +COL00031 = 0 +COL00032 = 0 +COL00033 = 0 +COL00034 = 0 +COL00035 = 0 +COL00036 = 0 +COL00037 = 0 +COL00038 = 0 +COL00039 = 0 +COL00040 = 0 +COL00041 = 0 +COL00042 = 0 +COL00043 = 0 +COL00044 = 0 +COL00045 = 0 +COL00046 = 0 +COL00047 = 0 +COL00048 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m sc50b.mps +Optimum value: -70 +Optimum location: +COL00001 = 30 +COL00002 = 28 +COL00003 = 42 +COL00004 = 70 +COL00005 = 70 +COL00006 = 30 +COL00007 = 28 +COL00008 = 42 +COL00009 = 30 +COL00010 = 28 +COL00011 = 42 +COL00012 = 33 +COL00013 = 30.8 +COL00014 = 46.2 +COL00015 = 77 +COL00016 = 147 +COL00017 = 63 +COL00018 = 58.8 +COL00019 = 88.2 +COL00020 = 63 +COL00021 = 58.8 +COL00022 = 88.2 +COL00023 = 36.3 +COL00024 = 33.88 +COL00025 = 50.82 +COL00026 = 84.7 +COL00027 = 231.7 +COL00028 = 99.3 +COL00029 = 92.68 +COL00030 = 139.02 +COL00031 = 99.3 +COL00032 = 92.68 +COL00033 = 139.02 +COL00034 = 39.93 +COL00035 = 37.268 +COL00036 = 55.902 +COL00037 = 93.17 +COL00038 = 324.87 +COL00039 = 139.23 +COL00040 = 129.948 +COL00041 = 194.922 +COL00042 = 139.23 +COL00043 = 129.948 +COL00044 = 194.922 +COL00045 = 43.923 +COL00046 = 40.9948 +COL00047 = 61.4922 +COL00048 = 102.487 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M sc50b.mps +Optimum value: 0 +Optimum location: +COL00001 = 0 +COL00002 = 0 +COL00003 = 0 +COL00004 = 0 +COL00005 = 0 +COL00006 = 0 +COL00007 = 0 +COL00008 = 0 +COL00009 = 0 +COL00010 = 0 +COL00011 = 0 +COL00012 = 0 +COL00013 = 0 +COL00014 = 0 +COL00015 = 0 +COL00016 = 0 +COL00017 = 0 +COL00018 = 0 +COL00019 = 0 +COL00020 = 0 +COL00021 = 0 +COL00022 = 0 +COL00023 = 0 +COL00024 = 0 +COL00025 = 0 +COL00026 = 0 +COL00027 = 0 +COL00028 = 0 +COL00029 = 0 +COL00030 = 0 +COL00031 = 0 +COL00032 = 0 +COL00033 = 0 +COL00034 = 0 +COL00035 = 0 +COL00036 = 0 +COL00037 = 0 +COL00038 = 0 +COL00039 = 0 +COL00040 = 0 +COL00041 = 0 +COL00042 = 0 +COL00043 = 0 +COL00044 = 0 +COL00045 = 0 +COL00046 = 0 +COL00047 = 0 +COL00048 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ppl_lpsol -e -r -oobtained afiro.mps +Optimum value: 3438.2921 +Optimum location: +X01 = 54.5 +X02 = 0 +X03 = 54.5 +X04 = 57.77 +X06 = 0 +X07 = 0 +X08 = 0 +X09 = 0 +X10 = 0 +X11 = 0 +X12 = 0 +X13 = 0 +X14 = 0 +X15 = 0 +X16 = 0 +X22 = 500 +X23 = 483.5955 +X24 = 16.4045 +X25 = 0 +X26 = 215 +X28 = 0 +X29 = 0 +X30 = 0 +X31 = 0 +X32 = 0 +X33 = 0 +X34 = 0 +X35 = 0 +X36 = 345.4253571 +X37 = 0 +X38 = 0 +X39 = 389.4253571 +*** ppl_lpsol -e -r -oobtained bgprtr.mps +Unfeasible problem. +*** ppl_lpsol -e -r -oobtained ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ppl_lpsol -e -r -oobtained mip.mps +Optimum value: 46.42857143 +Optimum location: +X1 = 4 +X2 = 4.571428571 +X3 = 0.5714285714 +X4 = 3 +*** ppl_lpsol -e -r -oobtained sample.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +*** ppl_lpsol -e -r -oobtained unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000518 boeing1.mps +Optimum value: -335.2135675 +Optimum location: +PBOSHNL0 = 0 +PBOSHNL1 = 12 +PBOSHNL7 = 0 +PBOSHNL8 = 0 +PBOSLAX0 = 14 +PBOSLAX1 = 0 +PBOSLAX7 = 0 +PBOSSEA0 = 0 +PBOSSEA1 = 0 +PBOSSEA2 = 49 +PBOSSFO0 = 60 +PBOSSFO1 = 73 +PBOSTPE1 = 1 +PBOSTPE2 = 0 +PBOSTYO1 = 3 +PBOSTYO2 = 0 +PBOSYUL0 = 28.13380282 +PBOSYUL1 = 347.7678621 +PBOSYUL2 = 0.325 +PBOSYUL3 = 336.7733351 +PBOSYUL4 = 0 +PBOSYVR0 = 0 +PBOSYVR1 = 0 +PBOSYVR2 = 26 +PBOSYWG0 = 0 +PBOSYWG1 = 0 +PBOSYWG7 = 37 +PBOSYYZ0 = 19.03169014 +PBOSYYZ1 = 195.9683099 +PBUROAK0 = 11 +PBUROAK1 = 16 +PBURSEA0 = 83 +PBURSEA1 = 0 +PBURSFO0 = 278 +PHNLLAX0 = 104.0482353 +PHNLLAX1 = 33.04 +PHNLLAX2 = 68.20588235 +PHNLLAX3 = 98 +PHNLLON0 = 0 +PHNLLON6 = 5 +PHNLPAR0 = 0 +PHNLPAR6 = 1 +PHNLSEA0 = 0 +PHNLSEA1 = 157.7943925 +PHNLSEA2 = 0 +PHNLSFO0 = 35 +PHNLSFO1 = 0 +PHNLSFO7 = 0 +PHNLYVR0 = 94.20560748 +PHNLYVR1 = 0 +PHNLYVR7 = 39.79439252 +PLASSEA0 = 70.01327253 +PLASSEA1 = 342.9867275 +PLASYVR0 = 0 +PLASYVR6 = 37 +PLAXOAK0 = 32 +PLAXOAK1 = 0 +PLAXOAK2 = 46 +PLAXSEA0 = 0 +PLAXSEA1 = 0 +PLAXSEA2 = 0 +PLAXSEA3 = 546.0147059 +PLAXSEA4 = 3.720588235 +PLAXSEA5 = 139 +PLAXSEA6 = 66.26744186 +PLAXSEA7 = 0 +PLAXSEA8 = 57 +PLAXSEA9 = 5.415868673 +PLAXSFO0 = 33.04 +PLAXSFO1 = 260.8488372 +PLAXSFO2 = 839.9632721 +PLAXSFO3 = 87.90697674 +PLAXSFO4 = 168 +PLAXSFO5 = 98 +PLAXSFO6 = 1464.240914 +PLAXTPE0 = 8.581395349 +PLAXTPE1 = 0 +PLAXTPE2 = 18 +PLAXTPE8 = 4.418604651 +PLAXTYO0 = 41 +PLAXTYO1 = 0 +PLAXTYO2 = 0 +PLAXTYO8 = 0 +PLAXYVR0 = 0 +PLAXYVR1 = 153.755814 +PLAXYVR2 = 39.24418605 +PLONPAR0 = 0 +PLONPAR1 = 0 +PLONPAR2 = 2 +PLONSEA0 = 0 +PLONSEA1 = 151 +PLONYVR0 = 0 +PLONYVR1 = 0 +PLONYVR7 = 51 +POAKONT0 = 0 +POAKONT1 = 13 +POAKSEA0 = 37.89108456 +POAKSEA1 = 77.15303309 +POAKSEA2 = 6.955882353 +PONTSFO0 = 177 +PONTSEA0 = 23.10431985 +PONTSEA1 = 24.89568015 +PONTSEA2 = 0 +PPARSEA0 = 0 +PPARSEA1 = 68 +PPARYVR0 = 0 +PPARYVR1 = 0 +PPARYVR7 = 24 +PRNOSEA0 = 0 +PRNOSEA1 = 291 +PRNOYVR0 = 67 +PSEASFO0 = 0 +PSEASFO1 = 839.9632721 +PSEASFO2 = 146.6809139 +PSEASFO3 = 236.6 +PSEASFO4 = 0 +PSEASFO5 = 50.75581395 +PSEASFO6 = 168 +PSEATPE0 = 15.81395349 +PSEATPE1 = 0 +PSEATPE2 = 0 +PSEATPE3 = 49.60465116 +PSEATYO0 = 59.98837209 +PSEATYO1 = 0 +PSEATYO2 = 0 +PSEATYO3 = 95.01162791 +PSEAYVR0 = 164.8598131 +PSEAYVR1 = 0 +PSEAYVR2 = 0 +PSEAYVR3 = 392 +PSEAYVR4 = 0 +PSEAYVR5 = 70.01327253 +PSEAYVR6 = 0 +PSEAYVR7 = 50.75581395 +PSEAYVR8 = 47.16549296 +PSFOTPE0 = 0 +PSFOTPE1 = 0 +PSFOTPE2 = 0 +PSFOTPE8 = 6 +PSFOTYO0 = 0 +PSFOTYO1 = 0 +PSFOTYO2 = 0 +PSFOTYO8 = 17 +PSFOYVR0 = 260.8488372 +PSFOYVR1 = 37.15116279 +PTPETYO0 = 111 +PTPETYO1 = 0 +PTPETYO2 = 0 +PTPETYO3 = 0 +PTPEYVR0 = 57 +PTYOYVR0 = 91 +PYULYVR0 = 36.4084507 +PYULYVR1 = 134.1343917 +PYULYVR2 = 139.6904909 +PYULYVR3 = 4.766666667 +PYULYWG0 = 0 +PYULYWG1 = 271.3172923 +PYULYWG2 = 0 +PYULYWG3 = 178.6827077 +PYULYYZ0 = 0 +PYULYYZ1 = 266.6818464 +PYULYYZ2 = 0 +PYULYYZ3 = 431.9057717 +PYULYYZ4 = 1913.412382 +PYVRYWG0 = 14.67957746 +PYVRYWG1 = 271.3172923 +PYVRYWG2 = 138.0031303 +PYVRYYZ0 = 4.352112676 +PYVRYYZ1 = 241.2835753 +PYVRYYZ2 = 126.3643121 +PYWGYYZ0 = 14.67957746 +PYWGYYZ1 = 138.0031303 +PYWGYYZ2 = 0 +PYWGYYZ3 = 125.3172923 +PBOSOAK0 = 11 +PBOSOAK6 = 0 +PBOSBUR1 = 7 +PBOSBUR2 = 0 +PBOSONT1 = 4 +PBOSONT2 = 0 +PBURYVR1 = 26 +PBURTYO1 = 2 +PBURTPE1 = 1 +PBURHNL0 = 11 +PBURHNL6 = 0 +PHNLOAK0 = 0 +PHNLOAK1 = 24 +PHNLOAK2 = 0 +PHNLOAK8 = 0 +PHNLONT0 = 9.705882353 +PHNLONT6 = 6.294117647 +PHNLYWG1 = 3 +PHNLYYZ1 = 24 +PHNLYUL1 = 40 +PLASTYO1 = 5 +PLASTPE1 = 1 +PLAXLON0 = 13 +PLAXLON6 = 0 +PLAXLON7 = 0 +PLAXPAR0 = 8 +PLAXPAR6 = 0 +PLAXPAR7 = 0 +PBURLON1 = 1 +PBURPAR1 = 1 +PLONONT1 = 1 +PLONOAK1 = 1 +POAKPAR1 = 2 +POAKTYO1 = 7 +POAKTPE1 = 2 +PONTPAR1 = 2 +PONTTYO1 = 2 +PONTTPE1 = 1 +PPARSFO1 = 2 +PRNOTYO1 = 5 +PRNOTPE1 = 2 +PTPEYWG1 = 21 +PTPEYYZ1 = 13 +PTPEYUL1 = 6 +PTYOYUL1 = 7 +PTYOYYZ1 = 17 +PTYOYWG1 = 25 +PLAXONT0 = 6.294117647 +GRDTIMO1 = 0 +GRDTIMN1 = -49.01286158 +GRDTIMO2 = 0 +GRDTIMN2 = 0 +GRDTIMO3 = 0 +GRDTIMN3 = -47 +GRDTIMO4 = 0 +GRDTIMN4 = 0 +GRDTIMO5 = 0 +GRDTIMN5 = -47.24353963 +GRDTIMO6 = 0 +GRDTIMN6 = -81 +N1001AC1 = 0 +N1001AC2 = 0 +N1001AC3 = 0 +N1002AC1 = 0 +N1002AC2 = 0 +N1002AC3 = 2.355140187 +N1003AC1 = 0 +N1003AC2 = 0.1603208556 +N1003AC3 = 0.7214438503 +N1004AC1 = 0.28 +N1004AC2 = 0 +N1004AC3 = 0 +N1005AC3 = 0.0859375 +N1105AC3 = 0.8382352941 +N1006AC3 = 0.07582720588 +N1007AC1 = 0 +N1007AC2 = 0 +N1007AC3 = 0 +N1008AC1 = 0 +N1008AC2 = 0 +N1008AC3 = 0 +N1008AC4 = 0 +N1008AC5 = 0 +N1008AC6 = 4.65801495 +N1009AC1 = 0 +N1009AC2 = 0.07488107822 +N1009AC3 = 0 +N1009AC4 = 0 +N1009AC5 = 1.921947674 +N1010AC1 = 0 +N1010AC2 = 0 +N1010AC3 = 0 +N1010AC4 = 0 +N1010AC5 = 0 +N1010AC6 = 7 +N1011AC1 = 0 +N1011AC2 = 3.085065996 +N1011AC3 = 0.6951730236 +N1011AC4 = 0 +N1011AC5 = 3.897217244 +N1011AC6 = 0 +N1012AC1 = 1.510832058 +N1012AC2 = 0 +N1012AC3 = 0 +N1012AC4 = 0 +N1012AC5 = 2.417331293 +N1013AC3 = 0 +N1013AC4 = 0 +N1013AC5 = 0 +N1013AC6 = 0.9241727941 +N1014AC3 = 0 +N1014AC4 = 0 +N1014AC5 = 1.691245404 +N1014AC6 = 0.2228170956 +N1015AC3 = 0 +N1015AC4 = 0.7048194147 +N1015AC5 = 0.1595430366 +N1015AC6 = 2.135637549 +N1016AC3 = 0 +N1016AC4 = 0 +N1016AC5 = 0.7 +N1016AC6 = 3.3 +N1017AC3 = 0 +N1017AC4 = 0 +N1017AC5 = 0 +N1017AC6 = 0.1617647059 +N1018AC1 = 0 +N1018AC2 = 0 +N1018AC3 = 0 +N1018AC4 = 0 +N1018AC5 = 0 +N1018AC6 = 1.196428571 +N1019AC1 = 0 +N1019AC2 = 0 +N1019AC3 = 0 +N1019AC4 = 0.2345133807 +N1019AC5 = 0.7654866193 +N1020AC1 = 0.2228332753 +N1020AC2 = 0 +N1020AC3 = 0 +N1020AC4 = 0 +N1020AC5 = 3.200696136 +N1020AC6 = 0 +N1021AC1 = 0.664202377 +N1021AC2 = 0 +N1021AC3 = 0 +N1021AC4 = 0 +N1021AC5 = 2.453858782 +N1022AC1 = 0 +N1023AC1 = 0 +N1026AC1 = 1 +N1027AC1 = 0.476744186 +N1028AC1 = 0 +N1029AC1 = 0.523255814 +N1030AC1 = 1 +N1032AC1 = 0 +N1032AC2 = 0 +N1032AC3 = 0 +N1032AC4 = 0.8274647887 +N1032AC5 = 0 +N1033AC1 = 0.4860357964 +N1033AC2 = 0.5004769224 +N1033AC3 = 0 +N1033AC4 = 0 +N1033AC5 = 2.061996183 +N1034AC1 = 0 +N1034AC2 = 0 +N1034AC3 = 3.174783885 +N1035AC1 = 0.6827679474 +N1035AC2 = 0 +N1035AC3 = 0 +N1035AC4 = 0.7269371829 +N1035AC5 = 0.2529831862 +N1036AC1 = 0.1083333333 +N1036AC2 = 0 +N1036AC3 = 0 +N1037AC4 = 0 +N1037AC5 = 0 +N1038AC4 = 0.2383968781 +N1038AC5 = 1.271450017 +N1039AC4 = 0 +N1039AC5 = 2.077705904 +N1040AC4 = 0 +N1040AC5 = 0 +N1040AC6 = 9.513243659 +N1041AC4 = 8.856901224 +N1041AC5 = 0 +N1041AC6 = 20 +N1042AC4 = 0 +N1042AC5 = 0 +N1042AC6 = 0 +N1043AC1 = 0.1725352113 +N1043AC2 = 0 +N1043AC3 = 0 +N1044AC1 = 0 +N1044AC2 = 0 +N1044AC3 = 1 +N1046AC3 = 1 +N1047AC1 = 0 +N1047AC2 = 0 +N1047AC3 = 1 +N1050AC3 = 0 +N1050AC4 = 0 +N1050AC5 = 0.0731874145 +N1051AC1 = 0 +N1051AC2 = 0 +N1051AC3 = 0 +N1051AC4 = 0 +N1051AC5 = 4.651904242 +N1051AC6 = 20 +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0000000105 boeing1.mps +Optimum value: 286.9746573 +Optimum location: +PBOSHNL0 = 0 +PBOSHNL1 = 10 +PBOSHNL7 = 0 +PBOSHNL8 = 0 +PBOSLAX0 = 0 +PBOSLAX1 = 0 +PBOSLAX7 = 12 +PBOSSEA0 = 0 +PBOSSEA1 = 40 +PBOSSEA2 = 0 +PBOSSFO0 = 48 +PBOSSFO1 = 73 +PBOSTPE1 = 0 +PBOSTPE2 = 0 +PBOSTYO1 = 0 +PBOSTYO2 = 0 +PBOSYUL0 = 372 +PBOSYUL1 = 224.0530973 +PBOSYUL2 = 0 +PBOSYUL3 = 11.94690265 +PBOSYUL4 = 0 +PBOSYVR0 = 0 +PBOSYVR1 = 23 +PBOSYVR2 = 0 +PBOSYWG0 = 33 +PBOSYWG1 = 0 +PBOSYWG7 = 0 +PBOSYYZ0 = 193 +PBOSYYZ1 = 0 +PBUROAK0 = 9 +PBUROAK1 = 15 +PBURSEA0 = 69 +PBURSEA1 = 0 +PBURSFO0 = 243 +PHNLLAX0 = 0 +PHNLLAX1 = 126.296875 +PHNLLAX2 = 100.03125 +PHNLLAX3 = 104.4375 +PHNLLON0 = 0 +PHNLLON6 = 0 +PHNLPAR0 = 0 +PHNLPAR6 = 0 +PHNLSEA0 = 0 +PHNLSEA1 = 135.2523364 +PHNLSEA2 = 0 +PHNLSFO0 = 0 +PHNLSFO1 = 0 +PHNLSFO7 = 31 +PHNLYVR0 = 80.74766355 +PHNLYVR1 = 0 +PHNLYVR7 = 35.25233645 +PLASSEA0 = 365 +PLASSEA1 = 0 +PLASYVR0 = 0 +PLASYVR6 = 33 +PLAXOAK0 = 42.765625 +PLAXOAK1 = 0 +PLAXOAK2 = 46 +PLAXSEA0 = 543.96875 +PLAXSEA1 = 0 +PLAXSEA2 = 0 +PLAXSEA3 = 0 +PLAXSEA4 = 6 +PLAXSEA5 = 139 +PLAXSEA6 = 0 +PLAXSEA7 = 0 +PLAXSEA8 = 66 +PLAXSEA9 = 12.03125 +PLAXSFO0 = 164.828125 +PLAXSFO1 = 842 +PLAXSFO2 = 0 +PLAXSFO3 = 168 +PLAXSFO4 = 168 +PLAXSFO5 = 144 +PLAXSFO6 = 1212.171875 +PLAXTPE0 = 0 +PLAXTPE1 = 18 +PLAXTPE2 = 9 +PLAXTPE8 = 0 +PLAXTYO0 = 0 +PLAXTYO1 = 0 +PLAXTYO2 = 0 +PLAXTYO8 = 36 +PLAXYVR0 = 116 +PLAXYVR1 = 0 +PLAXYVR2 = 57 +PLONPAR0 = 0 +PLONPAR1 = 0 +PLONPAR2 = 0 +PLONSEA0 = 0 +PLONSEA1 = 127 +PLONYVR0 = 0 +PLONYVR1 = 0 +PLONYVR7 = 45 +POAKONT0 = 0 +POAKONT1 = 11 +POAKSEA0 = 41 +POAKSEA1 = 57 +POAKSEA2 = 0 +PONTSFO0 = 155 +PONTSEA0 = 25 +PONTSEA1 = 12 +PONTSEA2 = 0 +PPARSEA0 = 0 +PPARSEA1 = 53 +PPARYVR0 = 0 +PPARYVR1 = 0 +PPARYVR7 = 21 +PRNOSEA0 = 255 +PRNOSEA1 = 0 +PRNOYVR0 = 60 +PSEASFO0 = 574 +PSEASFO1 = 0 +PSEASFO2 = 156 +PSEASFO3 = 224 +PSEASFO4 = 0 +PSEASFO5 = 168 +PSEASFO6 = 168 +PSEATPE0 = 0 +PSEATPE1 = 0 +PSEATPE2 = 42 +PSEATPE3 = 0 +PSEATYO0 = 0 +PSEATYO1 = 0 +PSEATYO2 = 126 +PSEATYO3 = 27 +PSEAYVR0 = 104.2523364 +PSEAYVR1 = 0 +PSEAYVR2 = 0 +PSEAYVR3 = 0 +PSEAYVR4 = 0 +PSEAYVR5 = 0 +PSEAYVR6 = 0 +PSEAYVR7 = 0 +PSEAYVR8 = 545 +PSFOTPE0 = 0 +PSFOTPE1 = 0 +PSFOTPE2 = 0 +PSFOTPE8 = 0 +PSFOTYO0 = 0 +PSFOTYO1 = 0 +PSFOTYO2 = 0 +PSFOTYO8 = 15 +PSFOYVR0 = 268 +PSFOYVR1 = 0 +PTPETYO0 = 0 +PTPETYO1 = 0 +PTPETYO2 = 0 +PTPETYO3 = 99 +PTPEYVR0 = 44 +PTYOYVR0 = 74 +PYULYVR0 = 182 +PYULYVR1 = 88 +PYULYVR2 = 0 +PYULYVR3 = 0 +PYULYWG0 = 161.3018868 +PYULYWG1 = 178 +PYULYWG2 = 31.69811321 +PYULYWG3 = 0 +PYULYYZ0 = 0 +PYULYYZ1 = 0 +PYULYYZ2 = 245.3018868 +PYULYYZ3 = 2104.698113 +PYULYYZ4 = 0 +PYVRYWG0 = 194.3018868 +PYVRYWG1 = 178 +PYVRYWG2 = 4.698113208 +PYVRYYZ0 = 328.6981132 +PYVRYYZ1 = 0 +PYVRYYZ2 = 4.301886792 +PYWGYYZ0 = 0 +PYWGYYZ1 = 4.698113208 +PYWGYYZ2 = 245.3018868 +PYWGYYZ3 = 0 +PBOSOAK0 = 9 +PBOSOAK6 = 0 +PBOSBUR1 = 0 +PBOSBUR2 = 0 +PBOSONT1 = 0 +PBOSONT2 = 0 +PBURYVR1 = 23 +PBURTYO1 = 0 +PBURTPE1 = 0 +PBURHNL0 = 9 +PBURHNL6 = 0 +PHNLOAK0 = 0 +PHNLOAK1 = 2.234375 +PHNLOAK2 = 0 +PHNLOAK8 = 18.765625 +PHNLONT0 = 0 +PHNLONT6 = 14 +PHNLYWG1 = 0 +PHNLYYZ1 = 21 +PHNLYUL1 = 35 +PLASTYO1 = 0 +PLASTPE1 = 0 +PLAXLON0 = 11 +PLAXLON6 = 0 +PLAXLON7 = 0 +PLAXPAR0 = 0 +PLAXPAR6 = 0 +PLAXPAR7 = 0 +PBURLON1 = 0 +PBURPAR1 = 0 +PLONONT1 = 0 +PLONOAK1 = 0 +POAKPAR1 = 0 +POAKTYO1 = 0 +POAKTPE1 = 0 +PONTPAR1 = 0 +PONTTYO1 = 0 +PONTTPE1 = 0 +PPARSFO1 = 0 +PRNOTYO1 = 0 +PRNOTPE1 = 0 +PTPEYWG1 = 18 +PTPEYYZ1 = 11 +PTPEYUL1 = 0 +PTYOYUL1 = 0 +PTYOYYZ1 = 15 +PTYOYWG1 = 22 +PLAXONT0 = 14 +GRDTIMO1 = 0 +GRDTIMN1 = -105 +GRDTIMO2 = 0 +GRDTIMN2 = -91 +GRDTIMO3 = 0 +GRDTIMN3 = -47 +GRDTIMO4 = 0 +GRDTIMN4 = -43.5 +GRDTIMO5 = 0 +GRDTIMN5 = -87 +GRDTIMO6 = 0 +GRDTIMN6 = -81 +N1001AC1 = 0 +N1001AC2 = 0 +N1001AC3 = 0 +N1002AC1 = 0 +N1002AC2 = 2.018691589 +N1002AC3 = 0 +N1003AC1 = 0 +N1003AC2 = 0 +N1003AC3 = 0 +N1004AC1 = 0 +N1004AC2 = 1.0703125 +N1004AC3 = 0 +N1005AC3 = 0.0703125 +N1105AC3 = 0.9296875 +N1006AC3 = 0 +N1007AC1 = 0 +N1007AC2 = 0 +N1007AC3 = 0 +N1008AC1 = 5.28156777 +N1008AC2 = 0 +N1008AC3 = 1.986798016 +N1008AC4 = 0 +N1008AC5 = 0 +N1008AC6 = 0 +N1009AC1 = 0 +N1009AC2 = 0 +N1009AC3 = 0 +N1009AC4 = 0 +N1009AC5 = 0 +N1010AC1 = 7 +N1010AC2 = 7 +N1010AC3 = 7 +N1010AC4 = 7 +N1010AC5 = 7 +N1010AC6 = 7 +N1011AC1 = 0 +N1011AC2 = 0 +N1011AC3 = 0 +N1011AC4 = 0 +N1011AC5 = 0 +N1011AC6 = 0 +N1012AC1 = 0 +N1012AC2 = 0 +N1012AC3 = 0 +N1012AC4 = 0 +N1012AC5 = 0 +N1013AC3 = 0 +N1013AC4 = 0 +N1013AC5 = 0 +N1013AC6 = 1 +N1014AC3 = 0 +N1014AC4 = 0 +N1014AC5 = 0 +N1014AC6 = 1.909090909 +N1015AC3 = 0 +N1015AC4 = 0 +N1015AC5 = 0 +N1015AC6 = 3 +N1016AC3 = 0 +N1016AC4 = 0 +N1016AC5 = 0 +N1016AC6 = 4 +N1017AC3 = 0 +N1017AC4 = 0 +N1017AC5 = 0 +N1017AC6 = 0.09090909091 +N1018AC1 = 3.782713663 +N1018AC2 = 6.749720385 +N1018AC3 = 7 +N1018AC4 = 0 +N1018AC5 = 4.039001305 +N1018AC6 = 0 +N1019AC1 = 0 +N1019AC2 = 1.412371134 +N1019AC3 = 0 +N1019AC4 = 2.587628866 +N1019AC5 = 0 +N1020AC1 = 0 +N1020AC2 = 0 +N1020AC3 = 0 +N1020AC4 = 0 +N1020AC5 = 0 +N1020AC6 = 0 +N1021AC1 = 0 +N1021AC2 = 0 +N1021AC3 = 0 +N1021AC4 = 0 +N1021AC5 = 0 +N1022AC1 = 0 +N1023AC1 = 0 +N1026AC1 = 1 +N1027AC1 = 0 +N1028AC1 = 0 +N1029AC1 = 1 +N1030AC1 = 1 +N1032AC1 = 1 +N1032AC2 = 1 +N1032AC3 = 1 +N1032AC4 = 1 +N1032AC5 = 1 +N1033AC1 = 0 +N1033AC2 = 1.371681416 +N1033AC3 = 0 +N1033AC4 = 0.6283185841 +N1033AC5 = 0 +N1034AC1 = 0 +N1034AC2 = 0 +N1034AC3 = 0 +N1035AC1 = 0 +N1035AC2 = 0.04608448823 +N1035AC3 = 0 +N1035AC4 = 0.01051928536 +N1035AC5 = 0 +N1036AC1 = 0 +N1036AC2 = 0 +N1036AC3 = 0 +N1037AC4 = 0 +N1037AC5 = 3.220930233 +N1038AC4 = 0 +N1038AC5 = 0 +N1039AC4 = 0 +N1039AC5 = 0 +N1040AC4 = 10 +N1040AC5 = 10 +N1040AC6 = 10 +N1041AC4 = 5.79377625 +N1041AC5 = 20 +N1041AC6 = 20 +N1042AC4 = 20 +N1042AC5 = 20 +N1042AC6 = 20 +N1043AC1 = 0 +N1043AC2 = 0 +N1043AC3 = 0 +N1044AC1 = 0 +N1044AC2 = 1 +N1044AC3 = 0 +N1046AC3 = 1 +N1047AC1 = 0 +N1047AC2 = 1 +N1047AC3 = 0 +N1050AC3 = 0.109375 +N1050AC4 = 0 +N1050AC5 = 0 +N1051AC1 = 20 +N1051AC2 = 20 +N1051AC3 = 20 +N1051AC4 = 0 +N1051AC5 = 20 +N1051AC6 = 11.52971853 +*** ./ppl_lpsol -s -p1 -c -oobtained -n boeing1.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000863 boeing2.mps +Optimum value: -315.018728 +Optimum location: +PBOSORD0 = 302 +PBOSORD1 = 0 +PBOSORD2 = 0 +PBOSORD3 = 0 +PBOSORD4 = 0 +PBOSLGA0 = 712 +PBOSLGA1 = 268 +PBOSLGA2 = 0 +PBOSLGA3 = 1372 +PBOSCLE0 = 4.108024927 +PBOSCLE1 = 137.8919751 +PBOSCLE2 = 0 +PBOSCLE3 = 0 +PORDBOS0 = 34 +PORDBOS1 = 0 +PORDBOS2 = 0 +PORDBOS3 = 268 +PORDBOS4 = 0 +PORDLGA0 = 0 +PORDLGA1 = 515 +PORDLGA2 = 0 +PORDLGA3 = 0 +PORDCLE0 = 470.294686 +PORDCLE1 = 148.705314 +PORDCLE2 = 0 +PORDCLE3 = 0 +PLGABOS0 = 1162 +PLGABOS1 = 0 +PLGABOS2 = 458 +PLGABOS3 = 0 +PLGABOS4 = 0 +PLGABOS5 = 1123 +PLGAORD0 = 712 +PLGAORD1 = 0 +PLGAORD2 = 0 +PLGAORD3 = 0 +PLGACLE0 = 0 +PLGACLE1 = 249 +PLGACLE2 = 268 +PCLEBOS0 = 131 +PCLEBOS1 = 0 +PCLEBOS2 = 0 +PCLEBOS3 = 0 +PCLEBOS4 = 0 +PCLEORD0 = 178.5972891 +PCLEORD1 = 249 +PCLEORD2 = 16.40271092 +PCLEORD3 = 268 +PCLEORD4 = 0 +PCLELGA0 = 0 +PCLELGA1 = 0 +PCLELGA2 = 409 +PCLELGA3 = 0 +BBOSORD0 = 0 +BBOSORD1 = 0 +BBOSCLE0 = 0.1616272102 +BBOSCLE1 = 7.026778587 +BORDBOS0 = 0 +CBOSORD0 = 12 +CBOSORD1 = 0 +CBOSORD2 = 0 +CBOSORD3 = 0 +CBOSORD4 = 0 +CBOSCLE0 = 0 +CBOSCLE1 = 8.811594203 +CBOSCLE2 = 0 +CBOSCLE3 = 0 +CORDBOS0 = 1.5 +CORDBOS1 = 22.5 +CORDBOS2 = 0 +CORDBOS3 = 0 +CORDBOS4 = 0 +CORDLGA0 = 13 +CORDLGA1 = 0 +CORDLGA2 = 0 +CORDLGA3 = 0 +CLGAORD0 = 22.5 +CLGAORD1 = 22.5 +CLGAORD2 = 0 +CLGAORD3 = 0 +CLGACLE0 = 16 +CLGACLE1 = 0 +CLGACLE2 = 0 +CCLELGA0 = 0 +CCLELGA1 = 5 +CCLELGA2 = 0 +CCLELGA3 = 0 +GRDTIMO1 = 0 +GRDTIMN1 = 0 +GRDTIMO2 = 0 +GRDTIMN2 = -76.79770851 +GRDTIMN3 = -10.27177739 +GRDTIMN4 = -21.60844089 +N1003AC1 = 0 +N1003AC2 = 6.724489796 +N1003AC3 = 0.4 +N1003AC4 = 0 +N1005AC1 = 0.01346893419 +N1005AC2 = 0 +N1005AC3 = 0 +N1005AC4 = 0 +N1011AC1 = 0.5855648822 +N1011AC2 = 0 +N1011AC3 = 0.2937198068 +N1011AC4 = 0 +N1013AC2 = 7.265306122 +N1013AC4 = 2 +N1015AC2 = 0 +N1015AC4 = 1.422222222 +N1017AC2 = 0 +N1017AC4 = 2 +N1019AC2 = 2.540816327 +N1019AC4 = 0 +N1021AC1 = 0.01346893419 +N1021AC2 = 0.1254559795 +N1021AC3 = 0 +N1021AC4 = 0 +N1002AC1 = 0 +N1002AC2 = 4.798925367 +N1002AC3 = 0 +N1002AC4 = 0 +N1004AC2 = 0 +N1004AC4 = 2 +N1006AC1 = 0.5990338164 +N1006AC2 = 0 +N1006AC3 = 0.6937198068 +N1006AC4 = 0 +N1008AC2 = 11.85714286 +N1008AC4 = 2 +N1010AC2 = 0 +N1010AC4 = 0 +N1012AC2 = 0 +N1012AC4 = 1.422222222 +N1014AC2 = 4.673469388 +N1014AC4 = 0 +N1100AC2 = 2.734693878 +N1100AC4 = 0 +N1102AC2 = 0 +N1102AC4 = 0 +N1200AC2 = 14 +N1200AC4 = 0 +N1201AC2 = 11.45918367 +N1201AC4 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.00000000213 boeing2.mps +Optimum value: -73.3689691 +Optimum location: +PBOSORD0 = 28 +PBOSORD1 = 0 +PBOSORD2 = 0 +PBOSORD3 = 0 +PBOSORD4 = 249 +PBOSLGA0 = 258.2518986 +PBOSLGA1 = 686 +PBOSLGA2 = 35.74810145 +PBOSLGA3 = 1372 +PBOSCLE0 = 0 +PBOSCLE1 = 0 +PBOSCLE2 = 0 +PBOSCLE3 = 142 +PORDBOS0 = 302 +PORDBOS1 = 0 +PORDBOS2 = 0 +PORDBOS3 = 0 +PORDBOS4 = 0 +PORDLGA0 = 0 +PORDLGA1 = 0 +PORDLGA2 = 515 +PORDLGA3 = 0 +PORDCLE0 = 0 +PORDCLE1 = 619 +PORDCLE2 = 0 +PORDCLE3 = 0 +PLGABOS0 = 0 +PLGABOS1 = 712 +PLGABOS2 = 0 +PLGABOS3 = 686 +PLGABOS4 = 426.7481014 +PLGABOS5 = 918.2518986 +PLGAORD0 = 258.2518986 +PLGAORD1 = 0 +PLGAORD2 = 453.7481014 +PLGAORD3 = 0 +PLGACLE0 = 517 +PLGACLE1 = 0 +PLGACLE2 = 0 +PCLEBOS0 = 131 +PCLEBOS1 = 0 +PCLEBOS2 = 0 +PCLEBOS3 = 0 +PCLEBOS4 = 0 +PCLEORD0 = 0 +PCLEORD1 = 0 +PCLEORD2 = 712 +PCLEORD3 = 0 +PCLEORD4 = 0 +PCLELGA0 = 197 +PCLELGA1 = 70 +PCLELGA2 = 0 +PCLELGA3 = 142 +BBOSORD0 = 0 +BBOSORD1 = 0 +BBOSCLE0 = 0 +BBOSCLE1 = 0 +BORDBOS0 = 0 +CBOSORD0 = 0 +CBOSORD1 = 0 +CBOSORD2 = 0 +CBOSORD3 = 0 +CBOSORD4 = 0 +CBOSCLE0 = 0 +CBOSCLE1 = 0 +CBOSCLE2 = 12.8 +CBOSCLE3 = 0 +CORDBOS0 = 19.2 +CORDBOS1 = 0 +CORDBOS2 = 0 +CORDBOS3 = 0 +CORDBOS4 = 0 +CORDLGA0 = 0 +CORDLGA1 = 0 +CORDLGA2 = 10.4 +CORDLGA3 = 0 +CLGAORD0 = 0 +CLGAORD1 = 0 +CLGAORD2 = 10.4 +CLGAORD3 = 25.6 +CLGACLE0 = 12.8 +CLGACLE1 = 0 +CLGACLE2 = 0 +CCLELGA0 = 0 +CCLELGA1 = 0 +CCLELGA2 = 0 +CCLELGA3 = 0 +GRDTIMO1 = 73.01076 +GRDTIMN1 = -100 +GRDTIMO2 = 0 +GRDTIMN2 = -90 +GRDTIMN3 = -45 +GRDTIMN4 = -45 +N1003AC1 = 7 +N1003AC2 = 0 +N1003AC3 = 0.6856076556 +N1003AC4 = 0 +N1005AC1 = 0 +N1005AC2 = 0 +N1005AC3 = 0 +N1005AC4 = 0 +N1011AC1 = 0 +N1011AC2 = 0 +N1011AC3 = 1.314392344 +N1011AC4 = 0 +N1013AC2 = 2.635223455 +N1013AC4 = 0 +N1015AC2 = 5.275510204 +N1015AC4 = 2 +N1017AC2 = 0 +N1017AC4 = 0 +N1019AC2 = 4.630082668 +N1019AC4 = 0.9244444444 +N1021AC1 = 7 +N1021AC2 = 0 +N1021AC3 = 2 +N1021AC4 = 2 +N1002AC1 = 7 +N1002AC2 = 0 +N1002AC3 = 2 +N1002AC4 = 2 +N1004AC2 = 0 +N1004AC4 = 0 +N1006AC1 = 7 +N1006AC2 = 0 +N1006AC3 = 2 +N1006AC4 = 0 +N1008AC2 = 0 +N1008AC4 = 0 +N1010AC2 = 7.265306122 +N1010AC4 = 0.9244444444 +N1012AC2 = 5.275510204 +N1012AC4 = 2 +N1014AC2 = 0 +N1014AC4 = 0 +N1100AC2 = 7 +N1100AC4 = 5.274621909 +N1102AC2 = 4.354572464 +N1102AC4 = 0 +N1200AC2 = 14 +N1200AC4 = 0.9244444444 +N1201AC2 = 9.369917332 +N1201AC4 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -n boeing2.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas74.mps +Optimum value: 10482.79528 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 1 +x4 = 0 +x5 = 0 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 0 +x13 = 0 +x14 = 0.534748935 +x15 = 1 +x16 = 0 +x17 = 0.2426314982 +x18 = 0 +x19 = 0.6876932388 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 0 +x27 = 0 +x28 = 0.2651304012 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 0.5013849053 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 1 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 1 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 0 +x48 = 0 +x49 = 0 +x50 = 0 +x51 = 0 +x52 = 0 +x53 = 0 +x54 = 0 +x55 = 1 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 0.03253329909 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 1 +x65 = 0 +x66 = 0 +x67 = 1 +x68 = 0 +x69 = 0 +x70 = 0 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 0 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 0 +x81 = 0 +x82 = 0 +x83 = 1 +x84 = 0 +x85 = 0 +x86 = 0 +x87 = 0 +x88 = 1 +x89 = 1 +x90 = 0 +x91 = 0 +x92 = 0 +x93 = 0 +x94 = 1 +x95 = 0 +x96 = 0 +x97 = 0 +x98 = 0 +x99 = 0 +x100 = 0 +x101 = 0 +x102 = 0 +x103 = 0 +x104 = 0 +x105 = 0 +x106 = 0 +x107 = 0 +x108 = 0.8925534483 +x109 = 0 +x110 = 0 +x111 = 0 +x112 = 0 +x113 = 0 +x114 = 0 +x115 = 0 +x116 = 0 +x117 = 0 +x118 = 0 +x119 = 0 +x120 = 0 +x121 = 0 +x122 = 0.01146190385 +x123 = 0 +x124 = 0 +x125 = 0 +x126 = 0 +x127 = 0 +x128 = 0 +x129 = 1 +x130 = 0 +x131 = 0 +x132 = 0 +x133 = 0.681178426 +x134 = 1 +x135 = 0 +x136 = 0 +x137 = 0 +x138 = 0 +x139 = 0 +x140 = 0 +x141 = 0 +x142 = 0.6580158126 +x143 = 0 +x144 = 0 +x145 = 0 +x146 = 0 +x147 = 1 +x148 = 0 +x149 = 0.9733691137 +x150 = 0.5192990181 +x151 = 10482.79508 +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps +Optimum value: 1e+12 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +x4 = 0 +x5 = 1 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 0 +x13 = 0 +x14 = 0 +x15 = 1 +x16 = 0 +x17 = 0 +x18 = 0 +x19 = 0 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 1 +x25 = 0 +x26 = 1 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 1 +x34 = 0 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 0 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 1 +x48 = 0 +x49 = 0 +x50 = 0 +x51 = 0 +x52 = 0 +x53 = 0 +x54 = 0 +x55 = 0 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 0 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 0 +x65 = 0 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 1 +x70 = 0 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 0 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 0 +x81 = 0 +x82 = 1 +x83 = 1 +x84 = 0 +x85 = 0 +x86 = 0 +x87 = 0 +x88 = 0 +x89 = 0 +x90 = 0 +x91 = 0 +x92 = 0 +x93 = 0 +x94 = 0 +x95 = 0 +x96 = 0 +x97 = 1 +x98 = 0 +x99 = 0 +x100 = 0 +x101 = 0 +x102 = 0 +x103 = 0 +x104 = 0 +x105 = 0 +x106 = 0 +x107 = 0 +x108 = 0 +x109 = 0 +x110 = 0 +x111 = 0 +x112 = 0 +x113 = 1 +x114 = 1 +x115 = 0 +x116 = 0 +x117 = 1 +x118 = 0 +x119 = 0 +x120 = 1 +x121 = 1 +x122 = 0 +x123 = 0 +x124 = 0 +x125 = 0 +x126 = 0 +x127 = 0 +x128 = 0 +x129 = 0 +x130 = 0 +x131 = 0 +x132 = 0 +x133 = 0 +x134 = 1 +x135 = 0 +x136 = 0 +x137 = 0 +x138 = 0 +x139 = 0 +x140 = 0 +x141 = 0 +x142 = 0 +x143 = 1 +x144 = 0 +x145 = 0 +x146 = 0 +x147 = 1 +x148 = 1 +x149 = 0 +x150 = 1 +x151 = 1e+12 +*** ./ppl_lpsol -s -p1 -c -oobtained -n mas74.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000273 modglob.mps +Optimum value: 20430947.62 +Optimum location: +x1 = 0 +x2 = 23929.0382 +x3 = 0 +x4 = 0 +x5 = 0 +x6 = 0 +x7 = 1.833067347 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 0 +x13 = 0 +x14 = 0 +x15 = 86.19157484 +x16 = 0 +x17 = 0 +x18 = 636.0743694 +x19 = 0 +x20 = 0 +x21 = 605.2785996 +x22 = 2113.676289 +x23 = 0 +x24 = 0 +x25 = 1009.494466 +x26 = 5449.255398 +x27 = 0 +x28 = 0 +x29 = 7316.944573 +x30 = 0 +x31 = 7529.08308 +x32 = 3525.611302 +x33 = 0 +x34 = 0 +x35 = 0 +x36 = 2780.728439 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 889.0673525 +x41 = 0 +x42 = 0 +x43 = 0 +x44 = 205.0591339 +x45 = 0 +x46 = 0 +x47 = 0 +x48 = 0 +x49 = 6351.319455 +x50 = 1183.360764 +x51 = 0 +x52 = 0 +x53 = 0 +x54 = 2530.715783 +x55 = 1726.033672 +x56 = 0 +x57 = 0 +x58 = 1176.727362 +x59 = 887.6859319 +x60 = 0 +x61 = 0 +x62 = 838.4627167 +x63 = 0 +x64 = 126.3594424 +x65 = 0 +x66 = 204.7049902 +x67 = 0 +x68 = 142.8570486 +x69 = 0 +x70 = 0 +x71 = 0 +x72 = 41.54952653 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 569.7173314 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 212.2691988 +x81 = 0 +x82 = 481.1190763 +x83 = 0 +x84 = 0 +x85 = 0 +x86 = 0 +x87 = 0 +x88 = 0 +x89 = 0 +x90 = 0 +x91 = 0 +x92 = 0 +x93 = 0 +x94 = 0 +x95 = 0 +x96 = 0 +x97 = 0 +x98 = 0 +x99 = 0 +x100 = 11372.68698 +x101 = 8880.920376 +x102 = 621.3300236 +x103 = 0 +x104 = 0 +x105 = 0 +x106 = 0 +x107 = 0 +x108 = 0 +x109 = 0 +x110 = 0 +x111 = 0 +x112 = 0 +x113 = 0 +x114 = 0 +x115 = 0 +x116 = 0 +x117 = 0 +x118 = 0 +x119 = 0 +x120 = 0 +x121 = 0 +x122 = 0 +x123 = 0 +x124 = 0 +x125 = 0 +x126 = 0 +x127 = 0 +x128 = 0 +x129 = 0 +x130 = 0 +x131 = 0 +x132 = 0 +x133 = 0 +x134 = 0 +x135 = 0 +x136 = 0 +x137 = 0 +x138 = 0 +x139 = 0 +x140 = 0 +x141 = 0 +x142 = 0 +x143 = 0 +x144 = 0 +x145 = 0 +x146 = 0 +x147 = 0 +x148 = 0 +x149 = 0 +x150 = 0 +x151 = 0 +x152 = 0 +x153 = 0 +x154 = 0 +x155 = 0 +x156 = 0 +x157 = 0 +x158 = 0 +x159 = 0 +x160 = 0 +x161 = 0 +x162 = 0 +x163 = 0 +x164 = 0 +x165 = 0 +x166 = 0 +x167 = 0 +x168 = 0 +x169 = 0 +x170 = 0 +x171 = 0 +x172 = 0 +x173 = 0 +x174 = 0 +x175 = 0 +x176 = 0 +x177 = 0 +x178 = 0 +x179 = 0 +x180 = 0 +x181 = 0 +x182 = 0 +x183 = 0 +x184 = 0 +x185 = 0 +x186 = 0 +x187 = 0 +x188 = 0 +x189 = 0 +x190 = 0 +x191 = 0 +x192 = 0 +x193 = 0 +x194 = 0 +x195 = 0 +x196 = 0 +x197 = 0 +x198 = 0 +x199 = 0 +x200 = 0 +x201 = 0 +x202 = 0 +x203 = 0.000105591437 +x204 = 0 +x205 = 0.004964952468 +x206 = 0 +x207 = 0 +x208 = 0 +x209 = 0.05815060286 +x210 = 0 +x211 = 0.03486627878 +x212 = 0 +x213 = 0 +x214 = 0 +x215 = 0.03664022865 +x216 = 0 +x217 = 0.1217555466 +x218 = 0 +x219 = 0.3138972004 +x220 = 0 +x221 = 0.4214829823 +x222 = 0 +x223 = 0.4337029424 +x224 = 0 +x225 = 0 +x226 = 0 +x227 = 0 +x228 = 0 +x229 = 0 +x230 = 0 +x231 = 0.2030882087 +x232 = 0 +x233 = 0.1601802096 +x234 = 0 +x235 = 0.05121355717 +x236 = 0 +x237 = 0.6551086973 +x238 = 0 +x239 = 0 +x240 = 0 +x241 = 0 +x242 = 0 +x243 = 0 +x244 = 0 +x245 = 0.01181216209 +x246 = 0 +x247 = 0 +x248 = 0 +x249 = 0.03579089997 +x250 = 0 +x251 = 0.5115737543 +x252 = 0 +x253 = 0.0681659426 +x254 = 0 +x255 = 0.3658594156 +x256 = 0 +x257 = 0.09942590274 +x258 = 0 +x259 = 0.1457785589 +x260 = 0 +x261 = 0.05113398225 +x262 = 0 +x263 = 0.06778383419 +x264 = 0 +x265 = 0.04829854359 +x266 = 0 +x267 = 0.02771423251 +x268 = 0 +x269 = 0 +x270 = 0 +x271 = 0.01222748841 +x272 = 0 +x273 = 0 +x274 = 0 +x275 = 0.03281781863 +x276 = 0 +x277 = 0 +x278 = 0 +x279 = 0.002393405906 +x280 = 0 +x281 = 0 +x282 = 0 +x283 = 0.008229092659 +x284 = 0 +x285 = 0.01179176211 +x286 = 0 +x287 = 0.007278769726 +x288 = 0 +x289 = 0 +x290 = 0 +x291 = 0 +x292 = 0 +x293 = 0 +x294 = 0 +x295 = 0 +x296 = 0 +x297 = 0 +x298 = 0 +x299 = 1.5 +x300 = 69 +x301 = 520.5 +x302 = 495.299805 +x303 = 754.0998539 +x304 = 1198.5 +x305 = 2188.799805 +x306 = 594.4 +x307 = 51.4 +x308 = 75.6 +x309 = 563.0998539 +x310 = 1533.099854 +x311 = 556.299805 +x312 = 167.8 +x313 = 975.799805 +x314 = 1642.9 +x315 = 347.099854 +x316 = 262.799805 +x317 = 62 +x318 = 395.9 +x319 = 691.7 +x320 = 936.7 +x321 = 791.099854 +x322 = 106.7 +x323 = 393.7 +x324 = 173.7 +x325 = 466.2 +x326 = 34 +x327 = 116.9 +x328 = 103.4 +x329 = 552.099854 +x330 = 0 +x331 = 0 +x332 = 0 +x333 = 0 +x334 = 0 +x335 = 0 +x336 = 0 +x337 = 0 +x338 = 0 +x339 = 0 +x340 = 0 +x341 = 0 +x342 = 0 +x343 = 0 +x344 = 0 +x345 = 0 +x346 = 0 +x347 = 0 +x348 = 0 +x349 = 0 +x350 = 0 +x351 = 0 +x352 = 0 +x353 = 0 +x354 = 0 +x355 = 0 +x356 = 0 +x357 = 0 +x358 = 0 +x359 = 0 +x360 = 0 +x361 = 0 +x362 = 0 +x363 = 0 +x364 = 0 +x365 = 0 +x366 = 0 +x367 = 0 +x368 = 0 +x369 = 0 +x370 = 0 +x371 = 0 +x372 = 0 +x373 = 0 +x374 = 0 +x375 = 0 +x376 = 0 +x377 = 0 +x378 = 0 +x379 = 0 +x380 = 0 +x381 = 0 +x382 = 0 +x383 = 0 +x384 = 0 +x385 = 0 +x386 = 0 +x387 = 0 +x388 = 0 +x389 = 0 +x390 = 0 +x391 = 0 +x392 = 0 +x393 = 0 +x394 = 0 +x395 = 0 +x396 = 0 +x397 = 0 +x398 = 0 +x399 = 0 +x400 = 0 +x401 = 0 +x402 = 0 +x403 = 0 +x404 = 0 +x405 = 0 +x406 = 0 +x407 = 0 +x408 = 0 +x409 = 0 +x410 = 0 +x411 = 0 +x412 = 0 +x413 = 0 +x414 = 0 +x415 = 0 +x416 = 0 +x417 = 0 +x418 = 0 +x419 = 0 +x420 = 0 +x421 = 0 +x422 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0290 modglob.mps +Optimum value: 742543789.3 +Optimum location: +x1 = 0 +x2 = 57866.66667 +x3 = 0 +x4 = 52080 +x5 = 16665.6 +x6 = 17360 +x7 = 17360 +x8 = 15985.088 +x9 = 17360 +x10 = 16665.6 +x11 = 17360 +x12 = 17360 +x13 = 15971.2 +x14 = 17360 +x15 = 17360 +x16 = 17360 +x17 = 13609.96224 +x18 = 17360 +x19 = 15637.888 +x20 = 17360 +x21 = 17360 +x22 = 17360 +x23 = 14283.53024 +x24 = 17360 +x25 = 17360 +x26 = 17360 +x27 = 9281.22263 +x28 = 17360 +x29 = 17360 +x30 = 8748.398178 +x31 = 17360 +x32 = 17360 +x33 = 3236.582794 +x34 = 17360 +x35 = 12622.80876 +x36 = 17360 +x37 = 17360 +x38 = 17360 +x39 = 13943.27424 +x40 = 17360 +x41 = 17360 +x42 = 17360 +x43 = 15290.688 +x44 = 17360 +x45 = 17360 +x46 = 16665.6 +x47 = 17360 +x48 = 17360 +x49 = 17360 +x50 = 17360 +x51 = 1887.314667 +x52 = 17360 +x53 = 5398.256436 +x54 = 17360 +x55 = 17360 +x56 = 17360 +x57 = 8980.850078 +x58 = 17360 +x59 = 17360 +x60 = 17360 +x61 = 12636.55788 +x62 = 17360 +x63 = 15985.088 +x64 = 17360 +x65 = 13603.01824 +x66 = 17360 +x67 = 17360 +x68 = 17360 +x69 = 14950.432 +x70 = 17360 +x71 = 17360 +x72 = 17360 +x73 = 14950.432 +x74 = 17360 +x75 = 17360 +x76 = 17360 +x77 = 14950.432 +x78 = 17360 +x79 = 17360 +x80 = 17360 +x81 = 17360 +x82 = 17360 +x83 = 15637.888 +x84 = 16665.6 +x85 = 17360 +x86 = 16318.4 +x87 = 17360 +x88 = 17360 +x89 = 16318.4 +x90 = 17360 +x91 = 17360 +x92 = 16318.4 +x93 = 17360 +x94 = 17360 +x95 = 16318.4 +x96 = 17360 +x97 = 17360 +x98 = 16665.6 +x99 = 17360 +x100 = 17360 +x101 = 17360 +x102 = 17360 +x103 = 16665.6 +x104 = 17360 +x105 = 17360 +x106 = 15985.088 +x107 = 17360 +x108 = 16665.6 +x109 = 17360 +x110 = 17360 +x111 = 15971.2 +x112 = 17360 +x113 = 17360 +x114 = 17360 +x115 = 13609.96224 +x116 = 17360 +x117 = 15637.888 +x118 = 17360 +x119 = 17360 +x120 = 17360 +x121 = 14283.53024 +x122 = 17360 +x123 = 17360 +x124 = 17360 +x125 = 9281.22263 +x126 = 17360 +x127 = 17360 +x128 = 8748.398178 +x129 = 17360 +x130 = 17360 +x131 = 3236.582794 +x132 = 17360 +x133 = 12622.80876 +x134 = 17360 +x135 = 17360 +x136 = 17360 +x137 = 13943.27424 +x138 = 17360 +x139 = 17360 +x140 = 17360 +x141 = 15290.688 +x142 = 17360 +x143 = 17360 +x144 = 16665.6 +x145 = 17360 +x146 = 17360 +x147 = 17360 +x148 = 17360 +x149 = 1887.314667 +x150 = 17360 +x151 = 5398.256436 +x152 = 17360 +x153 = 17360 +x154 = 17360 +x155 = 8980.850078 +x156 = 17360 +x157 = 17360 +x158 = 17360 +x159 = 12636.55788 +x160 = 17360 +x161 = 15985.088 +x162 = 17360 +x163 = 13603.01824 +x164 = 17360 +x165 = 17360 +x166 = 17360 +x167 = 14950.432 +x168 = 17360 +x169 = 17360 +x170 = 17360 +x171 = 14950.432 +x172 = 17360 +x173 = 17360 +x174 = 17360 +x175 = 14950.432 +x176 = 17360 +x177 = 17360 +x178 = 17360 +x179 = 17360 +x180 = 17360 +x181 = 15637.888 +x182 = 16665.6 +x183 = 17360 +x184 = 16318.4 +x185 = 17360 +x186 = 17360 +x187 = 16318.4 +x188 = 17360 +x189 = 17360 +x190 = 16318.4 +x191 = 17360 +x192 = 17360 +x193 = 16318.4 +x194 = 17360 +x195 = 17360 +x196 = 16665.6 +x197 = 17360 +x198 = 17360 +x199 = 17360 +x200 = 17360 +x201 = 1 +x202 = 1 +x203 = 1 +x204 = 1 +x205 = 1 +x206 = 1 +x207 = 1 +x208 = 1 +x209 = 1 +x210 = 1 +x211 = 1 +x212 = 1 +x213 = 1 +x214 = 1 +x215 = 1 +x216 = 1 +x217 = 1 +x218 = 1 +x219 = 1 +x220 = 1 +x221 = 1 +x222 = 1 +x223 = 1 +x224 = 1 +x225 = 1 +x226 = 1 +x227 = 1 +x228 = 1 +x229 = 1 +x230 = 1 +x231 = 1 +x232 = 1 +x233 = 1 +x234 = 1 +x235 = 1 +x236 = 1 +x237 = 1 +x238 = 1 +x239 = 1 +x240 = 1 +x241 = 1 +x242 = 1 +x243 = 1 +x244 = 1 +x245 = 1 +x246 = 1 +x247 = 1 +x248 = 1 +x249 = 1 +x250 = 1 +x251 = 1 +x252 = 1 +x253 = 1 +x254 = 1 +x255 = 1 +x256 = 1 +x257 = 1 +x258 = 1 +x259 = 1 +x260 = 1 +x261 = 1 +x262 = 1 +x263 = 1 +x264 = 1 +x265 = 1 +x266 = 1 +x267 = 1 +x268 = 1 +x269 = 1 +x270 = 1 +x271 = 1 +x272 = 1 +x273 = 1 +x274 = 1 +x275 = 1 +x276 = 1 +x277 = 1 +x278 = 1 +x279 = 1 +x280 = 1 +x281 = 1 +x282 = 1 +x283 = 1 +x284 = 1 +x285 = 1 +x286 = 1 +x287 = 1 +x288 = 1 +x289 = 1 +x290 = 1 +x291 = 1 +x292 = 1 +x293 = 1 +x294 = 1 +x295 = 1 +x296 = 1 +x297 = 1 +x298 = 1 +x299 = 0 +x300 = 0 +x301 = 0 +x302 = 0 +x303 = 0 +x304 = 0 +x305 = 0 +x306 = 0 +x307 = 0 +x308 = 0 +x309 = 0 +x310 = 0 +x311 = 0 +x312 = 0 +x313 = 0 +x314 = 0 +x315 = 0 +x316 = 0 +x317 = 0 +x318 = 0 +x319 = 0 +x320 = 0 +x321 = 0 +x322 = 0 +x323 = 0 +x324 = 0 +x325 = 0 +x326 = 0 +x327 = 0 +x328 = 0 +x329 = 0 +x330 = 0 +x331 = 0 +x332 = 0 +x333 = 0 +x334 = 0 +x335 = 0 +x336 = 0 +x337 = 0 +x338 = 0 +x339 = 0 +x340 = 0 +x341 = 0 +x342 = 0 +x343 = 0 +x344 = 0 +x345 = 0 +x346 = 0 +x347 = 0 +x348 = 0 +x349 = 0 +x350 = 0 +x351 = 0 +x352 = 0 +x353 = 0 +x354 = 0 +x355 = 0 +x356 = 0 +x357 = 0 +x358 = 0 +x359 = 0 +x360 = 0 +x361 = 1.5 +x362 = 69 +x363 = 520.5 +x364 = 495.299805 +x365 = 754.0998539 +x366 = 1198.5 +x367 = 2188.799805 +x368 = 594.4 +x369 = 51.4 +x370 = 75.6 +x371 = 563.0998539 +x372 = 1533.099854 +x373 = 556.299805 +x374 = 167.8 +x375 = 975.799805 +x376 = 1642.9 +x377 = 347.099854 +x378 = 262.799805 +x379 = 62 +x380 = 395.9 +x381 = 691.7 +x382 = 936.7 +x383 = 791.099854 +x384 = 106.7 +x385 = 393.7 +x386 = 173.7 +x387 = 466.2 +x388 = 34 +x389 = 116.9 +x390 = 103.4 +x391 = 552.099854 +x392 = 0 +x393 = 0 +x394 = 0 +x395 = 0 +x396 = 0 +x397 = 0 +x398 = 0 +x399 = 0 +x400 = 0 +x401 = 0 +x402 = 0 +x403 = 0 +x404 = 0 +x405 = 0 +x406 = 0 +x407 = 0 +x408 = 0 +x409 = 0 +x410 = 0 +x411 = 0 +x412 = 0 +x413 = 0 +x414 = 0 +x415 = 0 +x416 = 0 +x417 = 0 +x418 = 0 +x419 = 0 +x420 = 0 +x421 = 0 +x422 = 0 +*** ./ppl_lpsol -s -p1 -c -oobtained -n modglob.mps +Feasible problem. diff --git a/demos/ppl_lpsol/expected_mpz_a b/demos/ppl_lpsol/expected_mpz_a new file mode 100644 index 000000000..394fc13bb --- /dev/null +++ b/demos/ppl_lpsol/expected_mpz_a @@ -0,0 +1,4578 @@ +*** ./ppl_lpsol -s -p1 -oobtained -n egout.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -n ex1.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -n lseu.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -n markshare1.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -n markshare2.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -n mip.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -n p0033.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -n unboundedmin.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -m ex1.mps +Optimum value: -3 +Optimum location: +x1 = 1 +x2 = 2 +*** ./ppl_lpsol -s -p1 -oobtained -M ex1.mps +Optimum value: 2 +Optimum location: +x1 = 2 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -m mip.mps +Optimum value: 24.33333333 +Optimum location: +X1 = 2.666666667 +X2 = 2 +X3 = 1 +X4 = 3.333333333 +*** ./ppl_lpsol -s -p1 -oobtained -M mip.mps +Optimum value: 43 +Optimum location: +X1 = 4 +X2 = 4 +X3 = 0 +X4 = 3 +*** ./ppl_lpsol -s -p1 -oobtained -m p0033.mps +Optimum value: 3089 +Optimum location: +C157 = 1 +C158 = 0 +C159 = 0 +C160 = 0 +C161 = 0 +C162 = 0 +C163 = 1 +C164 = 1 +C165 = 0 +C166 = 1 +C167 = 0 +C168 = 0 +C169 = 0 +C170 = 1 +C171 = 0 +C172 = 0 +C173 = 0 +C174 = 1 +C175 = 0 +C176 = 0 +C177 = 1 +C178 = 0 +C179 = 1 +C180 = 0 +C181 = 1 +C182 = 1 +C183 = 1 +C184 = 1 +C185 = 1 +C186 = 1 +C187 = 0 +C188 = 0 +C189 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -M p0033.mps +Optimum value: 5201 +Optimum location: +C157 = 1 +C158 = 0 +C159 = 0 +C160 = 0 +C161 = 0 +C162 = 0 +C163 = 1 +C164 = 0 +C165 = 1 +C166 = 0 +C167 = 1 +C168 = 0 +C169 = 0 +C170 = 0 +C171 = 0 +C172 = 1 +C173 = 1 +C174 = 1 +C175 = 1 +C176 = 1 +C177 = 1 +C178 = 1 +C179 = 1 +C180 = 0 +C181 = 1 +C182 = 1 +C183 = 1 +C184 = 1 +C185 = 1 +C186 = 1 +C187 = 0 +C188 = 1 +C189 = 1 +*** ./ppl_lpsol -s -p1 -oobtained -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -oobtained -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m adlittle.mps +Optimum value: 225494.9632 +*** ./ppl_lpsol -s -p1 -oobtained -r -M adlittle.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -oobtained -r -m afiro.mps +Optimum value: -464.7531429 +Optimum location: +X01 = 80 +X02 = 25.5 +X03 = 54.5 +X04 = 84.8 +X06 = 58.1560164 +X07 = 0 +X08 = 0 +X09 = 0 +X10 = 0 +X11 = 0 +X12 = 0 +X13 = 0 +X14 = 18.21428571 +X15 = 39.94173069 +X16 = 61.64537738 +X22 = 500 +X23 = 475.92 +X24 = 24.08 +X25 = 0 +X26 = 215 +X28 = 366.4378962 +X29 = 0 +X30 = 0 +X31 = 0 +X32 = 0 +X33 = 0 +X34 = 0 +X35 = 0 +X36 = 339.9428571 +X37 = 17.50496094 +X38 = 157.5682954 +X39 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -M afiro.mps +Optimum value: 3438.2921 +Optimum location: +X01 = 54.5 +X02 = 0 +X03 = 54.5 +X04 = 57.77 +X06 = 0 +X07 = 0 +X08 = 0 +X09 = 0 +X10 = 0 +X11 = 0 +X12 = 0 +X13 = 0 +X14 = 0 +X15 = 0 +X16 = 0 +X22 = 500 +X23 = 483.5955 +X24 = 16.4045 +X25 = 0 +X26 = 215 +X28 = 0 +X29 = 0 +X30 = 0 +X31 = 0 +X32 = 0 +X33 = 0 +X34 = 0 +X35 = 0 +X36 = 345.4253571 +X37 = 0 +X38 = 0 +X39 = 389.4253571 +*** ./ppl_lpsol -s -p1 -oobtained -r -m bgprtr.mps +Unfeasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -r -M bgprtr.mps +Unfeasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -r -m blend.mps +Optimum value: -30.81214985 +Optimum location: +1 = 20.94480195 +2 = 10.17092161 +3 = 11.24735865 +4 = 2.981097124 +5 = 0.6597035933 +6 = 0.4759263446 +7 = 0 +8 = 10.10117614 +9 = 0 +10 = 1.679178924 +11 = 0 +12 = 10.10117614 +13 = 0 +14 = 11.78035507 +15 = 0 +16 = 0.4067430357 +17 = 0 +18 = 2.173256964 +19 = 2.018559906 +20 = 4.843256964 +21 = 3.079217438 +22 = 0.05896569207 +23 = 1.149909949 +24 = 1.396291081 +25 = 0 +26 = 0 +27 = 0 +28 = 0 +29 = 0.3835003722 +30 = 0 +31 = 4.424431137 +32 = 0 +33 = 1.149909949 +34 = 1.396291081 +35 = 0.7485700927 +36 = 21.63838697 +37 = 8.102702633 +38 = 0.7107761404 +39 = 0.4817893472 +40 = 0 +41 = 4.892936372 +42 = 0 +43 = 0.4416752608 +44 = 14.28573702 +45 = 6.527177121 +46 = 2.005816841 +47 = 0 +48 = 0 +49 = 0.7713285688 +50 = 4.87625743 +51 = 0.2242247192 +52 = 1.811155615 +53 = 7.877627559 +54 = 0.3201545422 +55 = 0.9892470535 +56 = 0.4439079385 +57 = 1.433154992 +58 = 0 +59 = 0 +60 = 0 +61 = 0 +62 = 3.874801192 +63 = 3.874801192 +64 = 0.7749576722 +65 = 1.83076589 +66 = 0 +67 = 0 +68 = 0.06587344195 +69 = 0.7889117798 +70 = 3.460508784 +71 = 2.750888679 +72 = 0 +73 = 0 +74 = 0 +75 = 0 +76 = 0 +77 = 0.1693961964 +78 = 0 +79 = 1.154801147 +80 = 0 +81 = 0.8033012352 +82 = 26.03036862 +83 = 87.09497412 +*** ./ppl_lpsol -s -p1 -oobtained -r -M blend.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -oobtained -r -m egout.mps +Optimum value: 149.5887662 +Optimum location: +I.001... = 0.02093301435 +I.001003 = 0 +I.002003 = 0 +I.002... = 0.00521189337 +I.003005 = 0 +I.004005 = 0 +I.004... = 0.06758373206 +I.005007 = 0 +I.006007 = 0.03879015721 +I.007008 = 0.04853041695 +I.008... = 0.04853041695 +I.008009 = 0 +I.010012 = 0.009654818865 +I.011012 = 0.1833561176 +I.012... = 0.1930109364 +I.012013 = 0 +I.013016 = 0.03964456596 +I.014015 = 0.002648667122 +I.015016 = 0.01324333561 +I.016... = 0.05288790157 +I.016017 = 0 +I.017018 = 0.0005980861244 +I.009018 = 0.002392344498 +I.018019 = 0.002990430622 +I.019024 = 0.02358168148 +I.024... = 0.0241797676 +I.023024 = 0.0005980861244 +I.022023 = 0 +I.020022 = 0.003332194122 +I.021022 = 0.06331168831 +I.022... = 0.06664388243 +I.024026 = 0 +I.025026 = 0 +I.025... = 0.1642173616 +I.026027 = 0.08962747779 +I.027... = 0.08962747779 +I.027032 = 0 +I.030031 = 0.002392344498 +I.031032 = 0.0534859877 +I.029031 = 0.0487012987 +I.028029 = 0 +I.028... = 0.007518796992 +I.032033 = 0.0534859877 +I.033037 = 0.05510936432 +I.036037 = 0.008885850991 +I.034036 = 0.001623376623 +I.035036 = 0.002392344498 +I.037038 = 0.06399521531 +I.038040 = 0.109278879 +I.039040 = 0.04545454545 +I.040... = 0.161226931 +I.041... = 0.04340396446 +I.040041 = 0 +I.041042 = 0 +I.042... = 0.05502392344 +F....001 = 2.45 +F....002 = 0.61 +F....004 = 7.91 +F....006 = 4.54 +F....007 = 1.14 +F....009 = 0.28 +F....010 = 1.13 +F....011 = 21.46 +F....013 = 4.64 +F....014 = 0.31 +F....015 = 1.24 +F....017 = 0.07 +F....019 = 2.41 +F....020 = 0.39 +F....021 = 7.41 +F....023 = 0.07 +F....025 = 19.22 +F....026 = 10.49 +F....028 = 0.88 +F....029 = 5.7 +F....030 = 0.28 +F....031 = 0.28 +F....033 = 0.19 +F....034 = 0.19 +F....035 = 0.28 +F....036 = 0.57 +F....038 = 5.3 +F....039 = 5.32 +F....040 = 0.76 +F....041 = 5.08 +F....042 = 6.44 +F.001... = 2.45 +F.001003 = 0 +F.002003 = 0 +F.002... = 0.61 +F.003005 = 0 +F.004005 = 0 +F.004... = 7.91 +F.005007 = 0 +F.006007 = 4.54 +F.007008 = 5.68 +F.008... = 5.68 +F.008009 = 0 +F.010012 = 1.13 +F.011012 = 21.46 +F.012... = 22.59 +F.012013 = 0 +F.013016 = 4.64 +F.014015 = 0.31 +F.015016 = 1.55 +F.016... = 6.19 +F.016017 = 0 +F.017018 = 0.07 +F.009018 = 0.28 +F.018019 = 0.35 +F.019024 = 2.76 +F.024... = 2.83 +F.023024 = 0.07 +F.022023 = 0 +F.020022 = 0.39 +F.021022 = 7.41 +F.022... = 7.8 +F.024026 = 0 +F.025026 = 0 +F.025... = 19.22 +F.026027 = 10.49 +F.027... = 10.49 +F.027032 = 0 +F.030031 = 0.28 +F.031032 = 6.26 +F.029031 = 5.7 +F.028029 = 0 +F.028... = 0.88 +F.032033 = 6.26 +F.033037 = 6.45 +F.036037 = 1.04 +F.034036 = 0.19 +F.035036 = 0.28 +F.037038 = 7.49 +F.038040 = 12.79 +F.039040 = 5.32 +F.040... = 18.87 +F.041... = 5.08 +F.040041 = 0 +F.041042 = 0 +F.042... = 6.44 +*** ./ppl_lpsol -s -p1 -oobtained -r -M egout.mps +Optimum value: 964.30053 +Optimum location: +I.001... = 1 +I.001003 = 1 +I.002003 = 1 +I.002... = 1 +I.003005 = 1 +I.004005 = 1 +I.004... = 1 +I.005007 = 1 +I.006007 = 1 +I.007008 = 1 +I.008... = 1 +I.008009 = 1 +I.010012 = 1 +I.011012 = 1 +I.012... = 1 +I.012013 = 1 +I.013016 = 1 +I.014015 = 1 +I.015016 = 1 +I.016... = 1 +I.016017 = 1 +I.017018 = 1 +I.009018 = 1 +I.018019 = 1 +I.019024 = 1 +I.024... = 1 +I.023024 = 1 +I.022023 = 1 +I.020022 = 1 +I.021022 = 1 +I.022... = 1 +I.024026 = 1 +I.025026 = 1 +I.025... = 1 +I.026027 = 1 +I.027... = 1 +I.027032 = 1 +I.030031 = 1 +I.031032 = 1 +I.029031 = 1 +I.028029 = 1 +I.028... = 1 +I.032033 = 1 +I.033037 = 1 +I.036037 = 1 +I.034036 = 1 +I.035036 = 1 +I.037038 = 1 +I.038040 = 1 +I.039040 = 1 +I.040... = 1 +I.041... = 1 +I.040041 = 1 +I.041042 = 1 +I.042... = 1 +F....001 = 2.45 +F....002 = 0.61 +F....004 = 7.91 +F....006 = 4.54 +F....007 = 1.14 +F....009 = 0.28 +F....010 = 1.13 +F....011 = 21.46 +F....013 = 4.64 +F....014 = 0.31 +F....015 = 1.24 +F....017 = 0.07 +F....019 = 2.41 +F....020 = 0.39 +F....021 = 7.41 +F....023 = 0.07 +F....025 = 19.22 +F....026 = 10.49 +F....028 = 0.88 +F....029 = 5.7 +F....030 = 0.28 +F....031 = 0.28 +F....033 = 0.19 +F....034 = 0.19 +F....035 = 0.28 +F....036 = 0.57 +F....038 = 5.3 +F....039 = 5.32 +F....040 = 0.76 +F....041 = 5.08 +F....042 = 6.44 +F.001... = 0 +F.001003 = 2.45 +F.002003 = 0.61 +F.002... = 0 +F.003005 = 3.06 +F.004005 = 7.91 +F.004... = 0 +F.005007 = 10.97 +F.006007 = 4.54 +F.007008 = 16.65 +F.008... = 0 +F.008009 = 16.65 +F.010012 = 1.13 +F.011012 = 21.46 +F.012... = 0 +F.012013 = 22.59 +F.013016 = 27.23 +F.014015 = 0.31 +F.015016 = 1.55 +F.016... = 0 +F.016017 = 28.78 +F.017018 = 28.85 +F.009018 = 16.93 +F.018019 = 45.78 +F.019024 = 48.19 +F.024... = 0 +F.023024 = 7.87 +F.022023 = 7.8 +F.020022 = 0.39 +F.021022 = 7.41 +F.022... = 0 +F.024026 = 56.06 +F.025026 = 19.22 +F.025... = 0 +F.026027 = 85.77 +F.027... = 0 +F.027032 = 85.77 +F.030031 = 0.28 +F.031032 = 7.14 +F.029031 = 6.58 +F.028029 = 0.88 +F.028... = 0 +F.032033 = 92.91 +F.033037 = 93.1 +F.036037 = 1.04 +F.034036 = 0.19 +F.035036 = 0.28 +F.037038 = 94.14 +F.038040 = 99.44 +F.039040 = 5.32 +F.040... = 0 +F.041... = 0 +F.040041 = 105.52 +F.041042 = 110.6 +F.042... = 117.04 +*** ./ppl_lpsol -s -p1 -oobtained -r -m ex1.mps +Optimum value: -3.75 +Optimum location: +x1 = 1.25 +x2 = 2.5 +*** ./ppl_lpsol -s -p1 -oobtained -r -M ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m kb2.mps +Optimum value: -1749.90013 +Optimum location: +BAL.3EBW = 0.8118235251 +BHC.3EBW = 0 +BLC.3EBW = 0 +BLV.3EBW = 0 +BN4.3EBW = 4.672552268 +BP8.3EBW = 25.06112421 +BTO.3EBW = 5 +BAL.3PBW = 0 +BHC.3PBW = 0 +BLC.3PBW = 9.550968074 +BLV.3PBW = 0 +BN4.3PBW = 2.506552313 +BP8.3PBW = 8.779496855 +BTO.3PBW = 0 +BAL.3RBW = 9.188176475 +BHC.3RBW = 20 +BLC.3RBW = 15.44903193 +BLV.3RBW = 12 +BN4.3RBW = 8.391585075 +BP8.3RBW = 1.159378938 +BTO.3RBW = 0 +D3T...BW = 122.5706897 +EAL...BW = 10 +EHC...BW = 20 +ELC...BW = 25 +ELV...BW = 12 +EN4...BW = 15.57068966 +EP8...BW = 35 +ETO...BW = 5 +M3..3TBW = 122.5706897 +QPB73EBW = 15.05088823 +QVO73EBW = 35.5455 +QVO73PBW = 20.83701724 +QPB73RBW = 49.6741722 +QVO73RBW = 66.18817241 +WMO73EBW = 3214.889184 +WRO73EBW = 3597.519648 +WMO73PBW = 1770.361014 +WRO73PBW = 2009.742955 +WMO73RBW = 5651.99315 +WRO73RBW = 6262.646874 +*** ./ppl_lpsol -s -p1 -oobtained -r -M kb2.mps +Optimum value: 0 +Optimum location: +BAL.3EBW = 0 +BHC.3EBW = 0 +BLC.3EBW = 0 +BLV.3EBW = 0 +BN4.3EBW = 0 +BP8.3EBW = 0 +BTO.3EBW = 0 +BAL.3PBW = 0 +BHC.3PBW = 0 +BLC.3PBW = 0 +BLV.3PBW = 0 +BN4.3PBW = 0 +BP8.3PBW = 0 +BTO.3PBW = 0 +BAL.3RBW = 0 +BHC.3RBW = 0 +BLC.3RBW = 0 +BLV.3RBW = 0 +BN4.3RBW = 0 +BP8.3RBW = 0 +BTO.3RBW = 0 +D3T...BW = 0 +EAL...BW = 0 +EHC...BW = 0 +ELC...BW = 0 +ELV...BW = 0 +EN4...BW = 0 +EP8...BW = 0 +ETO...BW = 0 +M3..3TBW = 0 +QPB73EBW = 0 +QVO73EBW = 0 +QVO73PBW = 0 +QPB73RBW = 0 +QVO73RBW = 0 +WMO73EBW = 0 +WRO73EBW = 0 +WMO73PBW = 0 +WRO73PBW = 0 +WMO73RBW = 0 +WRO73RBW = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m lseu.mps +Optimum value: 834.6823529 +Optimum location: +C101 = 1 +C102 = 1 +C103 = 0 +C104 = 0 +C105 = 0 +C106 = 0 +C107 = 1 +C108 = 0 +C109 = 0 +C110 = 0 +C111 = 0.4367816092 +C112 = 0.3367816092 +C113 = 0 +C114 = 0.2264367816 +C115 = 0 +C116 = 0 +C117 = 0 +C118 = 0 +C119 = 0 +C120 = 0 +C121 = 0 +C122 = 0 +C123 = 0 +C124 = 0 +C125 = 0 +C126 = 0 +C127 = 0 +C128 = 0 +C129 = 0.6117647059 +C130 = 0.155 +C131 = 0 +C132 = 0 +C133 = 0 +C134 = 0 +C135 = 1 +C136 = 0 +C137 = 0 +C138 = 0 +C139 = 1 +C140 = 0 +C141 = 0 +C142 = 0 +C143 = 0 +C144 = 0.38 +C145 = 0 +C146 = 0 +C147 = 0.62 +C148 = 0 +C149 = 0 +C150 = 0.1 +C151 = 0.9 +C152 = 0 +C153 = 0 +C154 = 0 +C155 = 0 +C156 = 1 +C157 = 0 +C158 = 0 +C159 = 0 +C160 = 0 +C161 = 0 +C162 = 0 +C163 = 0 +C164 = 0.9043285239 +C165 = 0.09567147614 +C166 = 0 +C167 = 0 +C168 = 0 +C169 = 0 +C170 = 1 +C171 = 0 +C172 = 0 +C173 = 0 +C174 = 0 +C175 = 0 +C176 = 0 +C177 = 0 +C178 = 0 +C179 = 0 +C180 = 0 +C181 = 0 +C182 = 0 +C183 = 0 +C184 = 0 +C185 = 0 +C186 = 0 +C187 = 0 +C188 = 0 +C189 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -M lseu.mps +Optimum value: 7167.482759 +Optimum location: +C101 = 0 +C102 = 0 +C103 = 0 +C104 = 0 +C105 = 0 +C106 = 0 +C107 = 0 +C108 = 1 +C109 = 0 +C110 = 0 +C111 = 1 +C112 = 0 +C113 = 0 +C114 = 0 +C115 = 1 +C116 = 0 +C117 = 0 +C118 = 0.6896551724 +C119 = 0 +C120 = 0 +C121 = 0 +C122 = 1 +C123 = 0 +C124 = 0 +C125 = 1 +C126 = 0 +C127 = 0 +C128 = 0 +C129 = 0 +C130 = 0 +C131 = 0 +C132 = 0 +C133 = 1 +C134 = 0 +C135 = 1 +C136 = 0 +C137 = 0 +C138 = 0 +C139 = 0 +C140 = 1 +C141 = 0 +C142 = 0 +C143 = 0 +C144 = 1 +C145 = 0 +C146 = 0 +C147 = 0 +C148 = 0 +C149 = 0 +C150 = 0 +C151 = 1 +C152 = 0 +C153 = 1 +C154 = 0 +C155 = 0 +C156 = 0 +C157 = 0 +C158 = 1 +C159 = 0 +C160 = 0 +C161 = 0 +C162 = 0 +C163 = 1 +C164 = 0 +C165 = 0 +C166 = 0 +C167 = 0 +C168 = 0 +C169 = 0 +C170 = 0 +C171 = 1 +C172 = 1 +C173 = 1 +C174 = 1 +C175 = 1 +C176 = 1 +C177 = 1 +C178 = 1 +C179 = 1 +C180 = 1 +C181 = 1 +C182 = 1 +C183 = 1 +C184 = 1 +C185 = 1 +C186 = 0 +C187 = 0 +C188 = 1 +C189 = 1 +*** ./ppl_lpsol -s -p1 -oobtained -r -m markshare1.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +x4 = 0 +x5 = 0 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 0 +x13 = 0.4643273602 +x14 = 0 +x15 = 1 +x16 = 0.9623071054 +x17 = 0 +x18 = 1 +x19 = 1 +x20 = 1 +x21 = 0 +x22 = 1 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 1 +x27 = 1 +x28 = 1 +x29 = 1 +x30 = 1 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 1 +x35 = 0 +x36 = 1 +x37 = 0.839896525 +x38 = 0 +x39 = 0 +x40 = 1 +x41 = 1 +x42 = 0 +x43 = 1 +x44 = 0.09199314836 +x45 = 1 +x46 = 1 +x47 = 1 +x48 = 1 +x49 = 0 +x50 = 1 +x51 = 1 +x52 = 0 +x53 = 1 +x54 = 1 +x55 = 0 +x56 = 0.3536953199 +x57 = 1 +x58 = 0 +x59 = 0 +x60 = 1 +x61 = 0 +x62 = 0.2898890259 +*** ./ppl_lpsol -s -p1 -oobtained -r -M markshare1.mps +Optimum value: 7286 +Optimum location: +x1 = 1116 +x2 = 0 +x3 = 1325 +x4 = 0 +x5 = 1353 +x6 = 0 +x7 = 1169 +x8 = 0 +x9 = 1160 +x10 = 0 +x11 = 1163 +x12 = 0 +x13 = 0 +x14 = 0 +x15 = 0 +x16 = 0 +x17 = 0 +x18 = 0 +x19 = 0 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 0 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 0 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 0 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 0 +x48 = 0 +x49 = 0 +x50 = 0 +x51 = 0 +x52 = 0 +x53 = 0 +x54 = 0 +x55 = 0 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 0 +x60 = 0 +x61 = 0 +x62 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m markshare2.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +x4 = 0 +x5 = 0 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 0 +x13 = 0 +x14 = 0 +x15 = 0 +x16 = 1 +x17 = 0 +x18 = 1 +x19 = 1 +x20 = 1 +x21 = 0.3717008822 +x22 = 0.1692962317 +x23 = 1 +x24 = 0 +x25 = 0 +x26 = 1 +x27 = 1 +x28 = 0 +x29 = 0 +x30 = 1 +x31 = 1 +x32 = 0 +x33 = 1 +x34 = 0 +x35 = 1 +x36 = 1 +x37 = 1 +x38 = 1 +x39 = 1 +x40 = 0 +x41 = 0 +x42 = 1 +x43 = 0 +x44 = 0 +x45 = 0 +x46 = 1 +x47 = 0 +x48 = 0 +x49 = 0.01751673708 +x50 = 0.1466102207 +x51 = 0.3205265241 +x52 = 1 +x53 = 0 +x54 = 0 +x55 = 0 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 1 +x60 = 1 +x61 = 1 +x62 = 1 +x63 = 1 +x64 = 1 +x65 = 0.4427598921 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 1 +x70 = 0 +x71 = 0 +x72 = 1 +x73 = 0.6098932051 +x74 = 1 +*** ./ppl_lpsol -s -p1 -oobtained -r -M markshare2.mps +Optimum value: 10512 +Optimum location: +x1 = 1324 +x2 = 0 +x3 = 1554 +x4 = 0 +x5 = 1429 +x6 = 0 +x7 = 1686 +x8 = 0 +x9 = 1482 +x10 = 0 +x11 = 1613 +x12 = 0 +x13 = 1424 +x14 = 0 +x15 = 0 +x16 = 0 +x17 = 0 +x18 = 0 +x19 = 0 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 0 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 0 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 0 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 0 +x48 = 0 +x49 = 0 +x50 = 0 +x51 = 0 +x52 = 0 +x53 = 0 +x54 = 0 +x55 = 0 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 0 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 0 +x65 = 0 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 0 +x70 = 0 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m mas76.mps +Optimum value: 38893.90364 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +x4 = 0 +x5 = 1 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 1 +x13 = 0 +x14 = 1 +x15 = 0 +x16 = 0 +x17 = 0 +x18 = 0 +x19 = 1 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 0 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 0 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 0.6025695449 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 1 +x48 = 0 +x49 = 0.603337348 +x50 = 0 +x51 = 0 +x52 = 0 +x53 = 1 +x54 = 0 +x55 = 0 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 0 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 0 +x65 = 0 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 0 +x70 = 0 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 0 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 0.0954968974 +x81 = 0 +x82 = 0 +x83 = 0 +x84 = 0.9782647951 +x85 = 0 +x86 = 0.1119635585 +x87 = 0 +x88 = 1 +x89 = 0 +x90 = 0 +x91 = 0 +x92 = 0 +x93 = 0 +x94 = 1 +x95 = 0 +x96 = 0 +x97 = 0 +x98 = 0 +x99 = 0 +x100 = 0 +x101 = 0 +x102 = 0 +x103 = 0 +x104 = 0 +x105 = 0 +x106 = 0 +x107 = 0 +x108 = 0 +x109 = 0 +x110 = 0 +x111 = 0 +x112 = 0 +x113 = 0 +x114 = 0 +x115 = 0.3920130232 +x116 = 0 +x117 = 0 +x118 = 0 +x119 = 0 +x120 = 1 +x121 = 0 +x122 = 0.1417811418 +x123 = 0 +x124 = 0.5090665575 +x125 = 0 +x126 = 0 +x127 = 0 +x128 = 0 +x129 = 1 +x130 = 0 +x131 = 0 +x132 = 0 +x133 = 0 +x134 = 0 +x135 = 0 +x136 = 0 +x137 = 0 +x138 = 0 +x139 = 0 +x140 = 0 +x141 = 0 +x142 = 0.6649413368 +x143 = 0 +x144 = 0 +x145 = 0 +x146 = 0 +x147 = 0 +x148 = 0.8642716954 +x149 = 0 +x150 = 0.03629410147 +x151 = 38893.90349 +*** ./ppl_lpsol -s -p1 -oobtained -r -M mas76.mps +Optimum value: 1e+12 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +x4 = 0 +x5 = 0 +x6 = 0 +x7 = 1 +x8 = 1 +x9 = 0 +x10 = 0 +x11 = 1 +x12 = 0 +x13 = 0 +x14 = 0 +x15 = 0 +x16 = 0 +x17 = 0 +x18 = 1 +x19 = 0 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 0 +x27 = 0 +x28 = 0 +x29 = 1 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 0 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 0 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 0 +x48 = 0 +x49 = 0 +x50 = 0 +x51 = 0 +x52 = 0 +x53 = 0 +x54 = 0 +x55 = 0 +x56 = 1 +x57 = 0 +x58 = 0 +x59 = 0 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 1 +x64 = 0 +x65 = 0 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 0 +x70 = 0 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 0 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 0 +x81 = 0 +x82 = 1 +x83 = 0 +x84 = 0 +x85 = 1 +x86 = 0 +x87 = 0 +x88 = 0 +x89 = 0 +x90 = 0 +x91 = 1 +x92 = 0 +x93 = 0 +x94 = 0 +x95 = 0 +x96 = 0 +x97 = 0 +x98 = 0 +x99 = 1 +x100 = 0 +x101 = 0 +x102 = 0 +x103 = 0 +x104 = 0 +x105 = 0 +x106 = 0 +x107 = 0 +x108 = 0 +x109 = 0 +x110 = 0 +x111 = 0 +x112 = 0 +x113 = 0 +x114 = 0 +x115 = 0 +x116 = 0 +x117 = 0 +x118 = 0 +x119 = 0 +x120 = 0 +x121 = 0 +x122 = 0 +x123 = 0 +x124 = 0 +x125 = 0 +x126 = 0 +x127 = 0 +x128 = 0 +x129 = 0 +x130 = 1 +x131 = 0 +x132 = 1 +x133 = 0 +x134 = 0 +x135 = 0 +x136 = 0 +x137 = 0 +x138 = 0 +x139 = 1 +x140 = 0 +x141 = 0 +x142 = 0 +x143 = 0 +x144 = 0 +x145 = 1 +x146 = 0 +x147 = 0 +x148 = 0 +x149 = 0 +x150 = 0 +x151 = 1e+12 +*** ./ppl_lpsol -s -p1 -oobtained -r -m mip.mps +Optimum value: 24.07692308 +Optimum location: +X1 = 2.615384615 +X2 = 2 +X3 = 0.7692307692 +X4 = 3 +*** ./ppl_lpsol -s -p1 -oobtained -r -M mip.mps +Optimum value: 46.42857143 +Optimum location: +X1 = 4 +X2 = 4.571428571 +X3 = 0.5714285714 +X4 = 3 +*** ./ppl_lpsol -s -p1 -oobtained -r -m noswot.mps +Optimum value: -43 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +x4 = 0 +x5 = 0.7381463424 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 0 +x13 = 0 +x14 = 0 +x15 = 0 +x16 = 0 +x17 = 0 +x18 = 0 +x19 = 0 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 0 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 0 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 0 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 0 +x48 = 0 +x49 = 0 +x50 = 0 +x51 = 0.9583331684 +x52 = 9.1999988 +x53 = 1 +x54 = 9.6000004 +x55 = 1 +x56 = 9.6000004 +x57 = 1 +x58 = 9.6000004 +x59 = 0 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 0 +x65 = 0 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 0.9300625312 +x70 = 5 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 0 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 0 +x81 = 0 +x82 = 0 +x83 = 0 +x84 = 0 +x85 = 0 +x86 = 0 +x87 = 0 +x88 = 0 +x89 = 0 +x90 = 0 +x91 = 0 +x92 = 0 +x93 = 0 +x94 = 0 +x95 = 0 +x96 = 0 +x97 = 0 +x98 = 0 +x99 = 0 +x100 = 0 +x101 = 0 +x102 = 0 +x103 = 0 +x104 = 0 +x105 = 0 +x106 = 0 +x107 = 0 +x108 = 0 +x109 = 0 +x110 = 0 +x111 = 0 +x112 = 0 +x113 = 0 +x114 = 0 +x115 = 0 +x116 = 0 +x117 = 0 +x118 = 0 +x119 = 0 +x120 = 0 +x121 = 0 +x122 = 0 +x123 = 0 +x124 = 0 +x125 = 0 +x126 = 0 +x127 = 0 +x128 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -M noswot.mps +Optimum value: -5 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +x4 = 0 +x5 = 0.7381463424 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 0 +x13 = 0 +x14 = 0 +x15 = 0 +x16 = 0 +x17 = 0 +x18 = 0 +x19 = 0 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 0 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 0 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 0 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 0 +x48 = 0 +x49 = 0 +x50 = 0 +x51 = 0 +x52 = 0 +x53 = 0 +x54 = 0 +x55 = 0 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 0 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 0 +x65 = 0 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 0.9300625312 +x70 = 5 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 0 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 0 +x81 = 0 +x82 = 0 +x83 = 0 +x84 = 0 +x85 = 0 +x86 = 0 +x87 = 0 +x88 = 0 +x89 = 0 +x90 = 0 +x91 = 0 +x92 = 0 +x93 = 0 +x94 = 0 +x95 = 0 +x96 = 0 +x97 = 0 +x98 = 0 +x99 = 0 +x100 = 0 +x101 = 0 +x102 = 0 +x103 = 0 +x104 = 0 +x105 = 0 +x106 = 0 +x107 = 0 +x108 = 0 +x109 = 0 +x110 = 0 +x111 = 0 +x112 = 0 +x113 = 0 +x114 = 0 +x115 = 0 +x116 = 0 +x117 = 0 +x118 = 0 +x119 = 0 +x120 = 0 +x121 = 0 +x122 = 0 +x123 = 0 +x124 = 0 +x125 = 0 +x126 = 0 +x127 = 0 +x128 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m p0033.mps +Optimum value: 2520.571739 +Optimum location: +C157 = 0 +C158 = 1 +C159 = 0 +C160 = 0 +C161 = 0 +C162 = 1 +C163 = 0 +C164 = 0 +C165 = 1 +C166 = 0.02173913043 +C167 = 0.3565217391 +C168 = 0 +C169 = 0 +C170 = 1 +C171 = 0 +C172 = 0 +C173 = 0 +C174 = 0 +C175 = 0 +C176 = 1 +C177 = 0 +C178 = 1 +C179 = 0.36 +C180 = 1 +C181 = 1 +C182 = 1 +C183 = 0.29 +C184 = 1 +C185 = 1 +C186 = 0.5 +C187 = 0 +C188 = 1 +C189 = 0.175 +*** ./ppl_lpsol -s -p1 -oobtained -r -M p0033.mps +Optimum value: 5299.698868 +Optimum location: +C157 = 1 +C158 = 0 +C159 = 0 +C160 = 0 +C161 = 0 +C162 = 0 +C163 = 1 +C164 = 0 +C165 = 0.5886792453 +C166 = 0 +C167 = 0 +C168 = 0 +C169 = 0 +C170 = 0 +C171 = 1 +C172 = 1 +C173 = 1 +C174 = 1 +C175 = 1 +C176 = 1 +C177 = 1 +C178 = 1 +C179 = 1 +C180 = 1 +C181 = 1 +C182 = 1 +C183 = 1 +C184 = 1 +C185 = 1 +C186 = 0.72 +C187 = 0 +C188 = 1 +C189 = 1 +*** ./ppl_lpsol -s -p1 -oobtained -r -m pk1.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0.853048009 +x3 = 0 +x4 = 0 +x5 = 0.9902413468 +x6 = 0.6585148486 +x7 = 0.2829608277 +x8 = 0 +x9 = 0 +x10 = 1 +x11 = 0 +x12 = 1 +x13 = 0.331125321 +x14 = 0 +x15 = 0 +x16 = 1 +x17 = 1 +x18 = 1 +x19 = 0 +x20 = 0.1009956211 +x21 = 0.6785106979 +x22 = 0 +x23 = 1 +x24 = 0.8947436612 +x25 = 1 +x26 = 0 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0.1242007274 +x34 = 0.557112246 +x35 = 0.429812324 +x36 = 1 +x37 = 1 +x38 = 1 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0.3510036592 +x43 = 0 +x44 = 1 +x45 = 1 +x46 = 0 +x47 = 0 +x48 = 0.5414381495 +x49 = 1 +x50 = 0.2173113881 +x51 = 0 +x52 = 1 +x53 = 1 +x54 = 0 +x55 = 1 +x56 = 0.9323580046 +x57 = 0 +x58 = 0 +x59 = 0 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 0 +x65 = 0 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 0 +x70 = 0 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 0 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 0 +x81 = 0 +x82 = 0 +x83 = 0 +x84 = 0 +x85 = 0 +x86 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -M pk1.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -oobtained -r -m sample.mps +Optimum value: -733.3333333 +Optimum location: +x1 = 33.33333333 +x2 = 66.66666667 +x3 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -M sample.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m sc105.mps +Optimum value: -52.20206121 +Optimum location: +COL00001 = 0 +COL00002 = 10.84845409 +COL00003 = 52.20206121 +COL00004 = 52.20206121 +COL00005 = 52.20206121 +COL00006 = 0 +COL00007 = 10.84845409 +COL00008 = 52.20206121 +COL00009 = 0 +COL00010 = 10.84845409 +COL00011 = 52.20206121 +COL00012 = 0 +COL00013 = 12.35752655 +COL00014 = 57.42226733 +COL00015 = 57.42226733 +COL00016 = 109.6243285 +COL00017 = 0 +COL00018 = 23.20598064 +COL00019 = 109.6243285 +COL00020 = 0 +COL00021 = 23.20598064 +COL00022 = 109.6243285 +COL00023 = 0 +COL00024 = 14.22961977 +COL00025 = 63.16449407 +COL00026 = 63.16449407 +COL00027 = 172.7888226 +COL00028 = 0 +COL00029 = 37.43560041 +COL00030 = 172.7888226 +COL00031 = 0 +COL00032 = 37.43560041 +COL00033 = 172.7888226 +COL00034 = 0 +COL00035 = 16.6070926 +COL00036 = 69.48094347 +COL00037 = 69.48094347 +COL00038 = 242.2697661 +COL00039 = 0 +COL00040 = 54.042693 +COL00041 = 242.2697661 +COL00042 = 0 +COL00043 = 54.042693 +COL00044 = 242.2697661 +COL00045 = 0 +COL00046 = 19.69956814 +COL00047 = 76.42903782 +COL00048 = 76.42903782 +COL00049 = 318.6988039 +COL00050 = 0 +COL00051 = 73.74226114 +COL00052 = 318.6988039 +COL00053 = 0 +COL00054 = 73.74226114 +COL00055 = 318.6988039 +COL00056 = 0 +COL00057 = 23.81717437 +COL00058 = 84.0719416 +COL00059 = 84.0719416 +COL00060 = 402.7707455 +COL00061 = 0 +COL00062 = 97.55943551 +COL00063 = 402.7707455 +COL00064 = 0 +COL00065 = 97.55943551 +COL00066 = 402.7707455 +COL00067 = 17.9865343 +COL00068 = 20.42709879 +COL00069 = 92.47913576 +COL00070 = 92.47913576 +COL00071 = 495.2498813 +COL00072 = 17.9865343 +COL00073 = 117.9865343 +COL00074 = 495.2498813 +COL00075 = 17.9865343 +COL00076 = 117.9865343 +COL00077 = 495.2498813 +COL00078 = 21.79865343 +COL00079 = 21.79865343 +COL00080 = 101.7270493 +COL00081 = 101.7270493 +COL00082 = 596.9769306 +COL00083 = 39.78518773 +COL00084 = 139.7851877 +COL00085 = 596.9769306 +COL00086 = 39.78518773 +COL00087 = 139.7851877 +COL00088 = 596.9769306 +COL00089 = 23.97851877 +COL00090 = 23.97851877 +COL00091 = 111.8997543 +COL00092 = 111.8997543 +COL00093 = 708.8766849 +COL00094 = 63.7637065 +COL00095 = 163.7637065 +COL00096 = 708.8766849 +COL00097 = 63.7637065 +COL00098 = 163.7637065 +COL00099 = 708.8766849 +COL00100 = 26.37637065 +COL00101 = 26.37637065 +COL00102 = 123.0897297 +COL00103 = 123.0897297 +*** ./ppl_lpsol -s -p1 -oobtained -r -M sc105.mps +Optimum value: 0 +Optimum location: +COL00001 = 0 +COL00002 = 0 +COL00003 = 0 +COL00004 = 0 +COL00005 = 0 +COL00006 = 0 +COL00007 = 0 +COL00008 = 0 +COL00009 = 0 +COL00010 = 0 +COL00011 = 0 +COL00012 = 0 +COL00013 = 0 +COL00014 = 0 +COL00015 = 0 +COL00016 = 0 +COL00017 = 0 +COL00018 = 0 +COL00019 = 0 +COL00020 = 0 +COL00021 = 0 +COL00022 = 0 +COL00023 = 0 +COL00024 = 0 +COL00025 = 0 +COL00026 = 0 +COL00027 = 0 +COL00028 = 0 +COL00029 = 0 +COL00030 = 0 +COL00031 = 0 +COL00032 = 0 +COL00033 = 0 +COL00034 = 0 +COL00035 = 0 +COL00036 = 0 +COL00037 = 0 +COL00038 = 0 +COL00039 = 0 +COL00040 = 0 +COL00041 = 0 +COL00042 = 0 +COL00043 = 0 +COL00044 = 0 +COL00045 = 0 +COL00046 = 0 +COL00047 = 0 +COL00048 = 0 +COL00049 = 0 +COL00050 = 0 +COL00051 = 0 +COL00052 = 0 +COL00053 = 0 +COL00054 = 0 +COL00055 = 0 +COL00056 = 0 +COL00057 = 0 +COL00058 = 0 +COL00059 = 0 +COL00060 = 0 +COL00061 = 0 +COL00062 = 0 +COL00063 = 0 +COL00064 = 0 +COL00065 = 0 +COL00066 = 0 +COL00067 = 0 +COL00068 = 0 +COL00069 = 0 +COL00070 = 0 +COL00071 = 0 +COL00072 = 0 +COL00073 = 0 +COL00074 = 0 +COL00075 = 0 +COL00076 = 0 +COL00077 = 0 +COL00078 = 0 +COL00079 = 0 +COL00080 = 0 +COL00081 = 0 +COL00082 = 0 +COL00083 = 0 +COL00084 = 0 +COL00085 = 0 +COL00086 = 0 +COL00087 = 0 +COL00088 = 0 +COL00089 = 0 +COL00090 = 0 +COL00091 = 0 +COL00092 = 0 +COL00093 = 0 +COL00094 = 0 +COL00095 = 0 +COL00096 = 0 +COL00097 = 0 +COL00098 = 0 +COL00099 = 0 +COL00100 = 0 +COL00101 = 0 +COL00102 = 0 +COL00103 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m sc50a.mps +Optimum value: -64.57507706 +Optimum location: +COL00001 = 0 +COL00002 = 16.56869221 +COL00003 = 64.57507706 +COL00004 = 64.57507706 +COL00005 = 64.57507706 +COL00006 = 0 +COL00007 = 16.56869221 +COL00008 = 64.57507706 +COL00009 = 0 +COL00010 = 16.56869221 +COL00011 = 64.57507706 +COL00012 = 0 +COL00013 = 20.00990753 +COL00014 = 71.03258476 +COL00015 = 71.03258476 +COL00016 = 135.6076618 +COL00017 = 0 +COL00018 = 36.57859974 +COL00019 = 135.6076618 +COL00020 = 0 +COL00021 = 36.57859974 +COL00022 = 135.6076618 +COL00023 = 14.17734478 +COL00024 = 17.59874505 +COL00025 = 78.13584324 +COL00026 = 78.13584324 +COL00027 = 213.7435051 +COL00028 = 14.17734478 +COL00029 = 54.17734478 +COL00030 = 213.7435051 +COL00031 = 14.17734478 +COL00032 = 54.17734478 +COL00033 = 213.7435051 +COL00034 = 18.41773448 +COL00035 = 18.41773448 +COL00036 = 85.94942756 +COL00037 = 85.94942756 +COL00038 = 299.6929326 +COL00039 = 32.59507926 +COL00040 = 72.59507926 +COL00041 = 299.6929326 +COL00042 = 32.59507926 +COL00043 = 72.59507926 +COL00044 = 299.6929326 +COL00045 = 20.25950793 +COL00046 = 20.25950793 +COL00047 = 94.54437032 +COL00048 = 94.54437032 +*** ./ppl_lpsol -s -p1 -oobtained -r -M sc50a.mps +Optimum value: 0 +Optimum location: +COL00001 = 0 +COL00002 = 0 +COL00003 = 0 +COL00004 = 0 +COL00005 = 0 +COL00006 = 0 +COL00007 = 0 +COL00008 = 0 +COL00009 = 0 +COL00010 = 0 +COL00011 = 0 +COL00012 = 0 +COL00013 = 0 +COL00014 = 0 +COL00015 = 0 +COL00016 = 0 +COL00017 = 0 +COL00018 = 0 +COL00019 = 0 +COL00020 = 0 +COL00021 = 0 +COL00022 = 0 +COL00023 = 0 +COL00024 = 0 +COL00025 = 0 +COL00026 = 0 +COL00027 = 0 +COL00028 = 0 +COL00029 = 0 +COL00030 = 0 +COL00031 = 0 +COL00032 = 0 +COL00033 = 0 +COL00034 = 0 +COL00035 = 0 +COL00036 = 0 +COL00037 = 0 +COL00038 = 0 +COL00039 = 0 +COL00040 = 0 +COL00041 = 0 +COL00042 = 0 +COL00043 = 0 +COL00044 = 0 +COL00045 = 0 +COL00046 = 0 +COL00047 = 0 +COL00048 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m sc50b.mps +Optimum value: -70 +Optimum location: +COL00001 = 30 +COL00002 = 28 +COL00003 = 42 +COL00004 = 70 +COL00005 = 70 +COL00006 = 30 +COL00007 = 28 +COL00008 = 42 +COL00009 = 30 +COL00010 = 28 +COL00011 = 42 +COL00012 = 33 +COL00013 = 30.8 +COL00014 = 46.2 +COL00015 = 77 +COL00016 = 147 +COL00017 = 63 +COL00018 = 58.8 +COL00019 = 88.2 +COL00020 = 63 +COL00021 = 58.8 +COL00022 = 88.2 +COL00023 = 36.3 +COL00024 = 33.88 +COL00025 = 50.82 +COL00026 = 84.7 +COL00027 = 231.7 +COL00028 = 99.3 +COL00029 = 92.68 +COL00030 = 139.02 +COL00031 = 99.3 +COL00032 = 92.68 +COL00033 = 139.02 +COL00034 = 39.93 +COL00035 = 37.268 +COL00036 = 55.902 +COL00037 = 93.17 +COL00038 = 324.87 +COL00039 = 139.23 +COL00040 = 129.948 +COL00041 = 194.922 +COL00042 = 139.23 +COL00043 = 129.948 +COL00044 = 194.922 +COL00045 = 43.923 +COL00046 = 40.9948 +COL00047 = 61.4922 +COL00048 = 102.487 +*** ./ppl_lpsol -s -p1 -oobtained -r -M sc50b.mps +Optimum value: 0 +Optimum location: +COL00001 = 0 +COL00002 = 0 +COL00003 = 0 +COL00004 = 0 +COL00005 = 0 +COL00006 = 0 +COL00007 = 0 +COL00008 = 0 +COL00009 = 0 +COL00010 = 0 +COL00011 = 0 +COL00012 = 0 +COL00013 = 0 +COL00014 = 0 +COL00015 = 0 +COL00016 = 0 +COL00017 = 0 +COL00018 = 0 +COL00019 = 0 +COL00020 = 0 +COL00021 = 0 +COL00022 = 0 +COL00023 = 0 +COL00024 = 0 +COL00025 = 0 +COL00026 = 0 +COL00027 = 0 +COL00028 = 0 +COL00029 = 0 +COL00030 = 0 +COL00031 = 0 +COL00032 = 0 +COL00033 = 0 +COL00034 = 0 +COL00035 = 0 +COL00036 = 0 +COL00037 = 0 +COL00038 = 0 +COL00039 = 0 +COL00040 = 0 +COL00041 = 0 +COL00042 = 0 +COL00043 = 0 +COL00044 = 0 +COL00045 = 0 +COL00046 = 0 +COL00047 = 0 +COL00048 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m unboundedmin.mps +Unbounded problem. +*** ./ppl_lpsol -s -p1 -oobtained -r -M unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ppl_lpsol -e -r -oobtained bgprtr.mps +Unfeasible problem. +*** ppl_lpsol -e -r -oobtained ex1.mps +Optimum value: 2.5 +Optimum location: +x1 = 2.5 +x2 = 0 +*** ppl_lpsol -e -r -oobtained mip.mps +Optimum value: 46.42857143 +Optimum location: +X1 = 4 +X2 = 4.571428571 +X3 = 0.5714285714 +X4 = 3 +*** ppl_lpsol -e -r -oobtained sample.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +*** ppl_lpsol -e -r -oobtained unboundedmin.mps +Optimum value: 0 +Optimum location: +x1 = 0 +x2 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000518 boeing1.mps +Optimum value: -335.2135675 +Optimum location: +PBOSHNL0 = 0 +PBOSHNL1 = 12 +PBOSHNL7 = 0 +PBOSHNL8 = 0 +PBOSLAX0 = 14 +PBOSLAX1 = 0 +PBOSLAX7 = 0 +PBOSSEA0 = 0 +PBOSSEA1 = 0 +PBOSSEA2 = 49 +PBOSSFO0 = 60 +PBOSSFO1 = 73 +PBOSTPE1 = 1 +PBOSTPE2 = 0 +PBOSTYO1 = 3 +PBOSTYO2 = 0 +PBOSYUL0 = 28.13380282 +PBOSYUL1 = 347.7678621 +PBOSYUL2 = 0.325 +PBOSYUL3 = 336.7733351 +PBOSYUL4 = 0 +PBOSYVR0 = 0 +PBOSYVR1 = 0 +PBOSYVR2 = 26 +PBOSYWG0 = 0 +PBOSYWG1 = 0 +PBOSYWG7 = 37 +PBOSYYZ0 = 19.03169014 +PBOSYYZ1 = 195.9683099 +PBUROAK0 = 11 +PBUROAK1 = 16 +PBURSEA0 = 83 +PBURSEA1 = 0 +PBURSFO0 = 278 +PHNLLAX0 = 104.0482353 +PHNLLAX1 = 33.04 +PHNLLAX2 = 68.20588235 +PHNLLAX3 = 98 +PHNLLON0 = 0 +PHNLLON6 = 5 +PHNLPAR0 = 0 +PHNLPAR6 = 1 +PHNLSEA0 = 0 +PHNLSEA1 = 157.7943925 +PHNLSEA2 = 0 +PHNLSFO0 = 35 +PHNLSFO1 = 0 +PHNLSFO7 = 0 +PHNLYVR0 = 94.20560748 +PHNLYVR1 = 0 +PHNLYVR7 = 39.79439252 +PLASSEA0 = 70.01327253 +PLASSEA1 = 342.9867275 +PLASYVR0 = 0 +PLASYVR6 = 37 +PLAXOAK0 = 32 +PLAXOAK1 = 0 +PLAXOAK2 = 46 +PLAXSEA0 = 0 +PLAXSEA1 = 0 +PLAXSEA2 = 0 +PLAXSEA3 = 546.0147059 +PLAXSEA4 = 3.720588235 +PLAXSEA5 = 139 +PLAXSEA6 = 66.26744186 +PLAXSEA7 = 0 +PLAXSEA8 = 57 +PLAXSEA9 = 5.415868673 +PLAXSFO0 = 33.04 +PLAXSFO1 = 260.8488372 +PLAXSFO2 = 839.9632721 +PLAXSFO3 = 87.90697674 +PLAXSFO4 = 168 +PLAXSFO5 = 98 +PLAXSFO6 = 1464.240914 +PLAXTPE0 = 8.581395349 +PLAXTPE1 = 0 +PLAXTPE2 = 18 +PLAXTPE8 = 4.418604651 +PLAXTYO0 = 41 +PLAXTYO1 = 0 +PLAXTYO2 = 0 +PLAXTYO8 = 0 +PLAXYVR0 = 0 +PLAXYVR1 = 153.755814 +PLAXYVR2 = 39.24418605 +PLONPAR0 = 0 +PLONPAR1 = 0 +PLONPAR2 = 2 +PLONSEA0 = 0 +PLONSEA1 = 151 +PLONYVR0 = 0 +PLONYVR1 = 0 +PLONYVR7 = 51 +POAKONT0 = 0 +POAKONT1 = 13 +POAKSEA0 = 37.89108456 +POAKSEA1 = 77.15303309 +POAKSEA2 = 6.955882353 +PONTSFO0 = 177 +PONTSEA0 = 23.10431985 +PONTSEA1 = 24.89568015 +PONTSEA2 = 0 +PPARSEA0 = 0 +PPARSEA1 = 68 +PPARYVR0 = 0 +PPARYVR1 = 0 +PPARYVR7 = 24 +PRNOSEA0 = 0 +PRNOSEA1 = 291 +PRNOYVR0 = 67 +PSEASFO0 = 0 +PSEASFO1 = 839.9632721 +PSEASFO2 = 146.6809139 +PSEASFO3 = 236.6 +PSEASFO4 = 0 +PSEASFO5 = 50.75581395 +PSEASFO6 = 168 +PSEATPE0 = 15.81395349 +PSEATPE1 = 0 +PSEATPE2 = 0 +PSEATPE3 = 49.60465116 +PSEATYO0 = 59.98837209 +PSEATYO1 = 0 +PSEATYO2 = 0 +PSEATYO3 = 95.01162791 +PSEAYVR0 = 164.8598131 +PSEAYVR1 = 0 +PSEAYVR2 = 0 +PSEAYVR3 = 392 +PSEAYVR4 = 0 +PSEAYVR5 = 70.01327253 +PSEAYVR6 = 0 +PSEAYVR7 = 50.75581395 +PSEAYVR8 = 47.16549296 +PSFOTPE0 = 0 +PSFOTPE1 = 0 +PSFOTPE2 = 0 +PSFOTPE8 = 6 +PSFOTYO0 = 0 +PSFOTYO1 = 0 +PSFOTYO2 = 0 +PSFOTYO8 = 17 +PSFOYVR0 = 260.8488372 +PSFOYVR1 = 37.15116279 +PTPETYO0 = 111 +PTPETYO1 = 0 +PTPETYO2 = 0 +PTPETYO3 = 0 +PTPEYVR0 = 57 +PTYOYVR0 = 91 +PYULYVR0 = 36.4084507 +PYULYVR1 = 134.1343917 +PYULYVR2 = 139.6904909 +PYULYVR3 = 4.766666667 +PYULYWG0 = 0 +PYULYWG1 = 271.3172923 +PYULYWG2 = 0 +PYULYWG3 = 178.6827077 +PYULYYZ0 = 0 +PYULYYZ1 = 266.6818464 +PYULYYZ2 = 0 +PYULYYZ3 = 431.9057717 +PYULYYZ4 = 1913.412382 +PYVRYWG0 = 14.67957746 +PYVRYWG1 = 271.3172923 +PYVRYWG2 = 138.0031303 +PYVRYYZ0 = 4.352112676 +PYVRYYZ1 = 241.2835753 +PYVRYYZ2 = 126.3643121 +PYWGYYZ0 = 14.67957746 +PYWGYYZ1 = 138.0031303 +PYWGYYZ2 = 0 +PYWGYYZ3 = 125.3172923 +PBOSOAK0 = 11 +PBOSOAK6 = 0 +PBOSBUR1 = 7 +PBOSBUR2 = 0 +PBOSONT1 = 4 +PBOSONT2 = 0 +PBURYVR1 = 26 +PBURTYO1 = 2 +PBURTPE1 = 1 +PBURHNL0 = 11 +PBURHNL6 = 0 +PHNLOAK0 = 0 +PHNLOAK1 = 24 +PHNLOAK2 = 0 +PHNLOAK8 = 0 +PHNLONT0 = 9.705882353 +PHNLONT6 = 6.294117647 +PHNLYWG1 = 3 +PHNLYYZ1 = 24 +PHNLYUL1 = 40 +PLASTYO1 = 5 +PLASTPE1 = 1 +PLAXLON0 = 13 +PLAXLON6 = 0 +PLAXLON7 = 0 +PLAXPAR0 = 8 +PLAXPAR6 = 0 +PLAXPAR7 = 0 +PBURLON1 = 1 +PBURPAR1 = 1 +PLONONT1 = 1 +PLONOAK1 = 1 +POAKPAR1 = 2 +POAKTYO1 = 7 +POAKTPE1 = 2 +PONTPAR1 = 2 +PONTTYO1 = 2 +PONTTPE1 = 1 +PPARSFO1 = 2 +PRNOTYO1 = 5 +PRNOTPE1 = 2 +PTPEYWG1 = 21 +PTPEYYZ1 = 13 +PTPEYUL1 = 6 +PTYOYUL1 = 7 +PTYOYYZ1 = 17 +PTYOYWG1 = 25 +PLAXONT0 = 6.294117647 +GRDTIMO1 = 0 +GRDTIMN1 = -49.01286158 +GRDTIMO2 = 0 +GRDTIMN2 = 0 +GRDTIMO3 = 0 +GRDTIMN3 = -47 +GRDTIMO4 = 0 +GRDTIMN4 = 0 +GRDTIMO5 = 0 +GRDTIMN5 = -47.24353963 +GRDTIMO6 = 0 +GRDTIMN6 = -81 +N1001AC1 = 0 +N1001AC2 = 0 +N1001AC3 = 0 +N1002AC1 = 0 +N1002AC2 = 0 +N1002AC3 = 2.355140187 +N1003AC1 = 0 +N1003AC2 = 0.1603208556 +N1003AC3 = 0.7214438503 +N1004AC1 = 0.28 +N1004AC2 = 0 +N1004AC3 = 0 +N1005AC3 = 0.0859375 +N1105AC3 = 0.8382352941 +N1006AC3 = 0.07582720588 +N1007AC1 = 0 +N1007AC2 = 0 +N1007AC3 = 0 +N1008AC1 = 0 +N1008AC2 = 0 +N1008AC3 = 0 +N1008AC4 = 0 +N1008AC5 = 0 +N1008AC6 = 4.65801495 +N1009AC1 = 0 +N1009AC2 = 0.07488107822 +N1009AC3 = 0 +N1009AC4 = 0 +N1009AC5 = 1.921947674 +N1010AC1 = 0 +N1010AC2 = 0 +N1010AC3 = 0 +N1010AC4 = 0 +N1010AC5 = 0 +N1010AC6 = 7 +N1011AC1 = 0 +N1011AC2 = 3.085065996 +N1011AC3 = 0.6951730236 +N1011AC4 = 0 +N1011AC5 = 3.897217244 +N1011AC6 = 0 +N1012AC1 = 1.510832058 +N1012AC2 = 0 +N1012AC3 = 0 +N1012AC4 = 0 +N1012AC5 = 2.417331293 +N1013AC3 = 0 +N1013AC4 = 0 +N1013AC5 = 0 +N1013AC6 = 0.9241727941 +N1014AC3 = 0 +N1014AC4 = 0 +N1014AC5 = 1.691245404 +N1014AC6 = 0.2228170956 +N1015AC3 = 0 +N1015AC4 = 0.7048194147 +N1015AC5 = 0.1595430366 +N1015AC6 = 2.135637549 +N1016AC3 = 0 +N1016AC4 = 0 +N1016AC5 = 0.7 +N1016AC6 = 3.3 +N1017AC3 = 0 +N1017AC4 = 0 +N1017AC5 = 0 +N1017AC6 = 0.1617647059 +N1018AC1 = 0 +N1018AC2 = 0 +N1018AC3 = 0 +N1018AC4 = 0 +N1018AC5 = 0 +N1018AC6 = 1.196428571 +N1019AC1 = 0 +N1019AC2 = 0 +N1019AC3 = 0 +N1019AC4 = 0.2345133807 +N1019AC5 = 0.7654866193 +N1020AC1 = 0.2228332753 +N1020AC2 = 0 +N1020AC3 = 0 +N1020AC4 = 0 +N1020AC5 = 3.200696136 +N1020AC6 = 0 +N1021AC1 = 0.664202377 +N1021AC2 = 0 +N1021AC3 = 0 +N1021AC4 = 0 +N1021AC5 = 2.453858782 +N1022AC1 = 0 +N1023AC1 = 0 +N1026AC1 = 1 +N1027AC1 = 0.476744186 +N1028AC1 = 0 +N1029AC1 = 0.523255814 +N1030AC1 = 1 +N1032AC1 = 0 +N1032AC2 = 0 +N1032AC3 = 0 +N1032AC4 = 0.8274647887 +N1032AC5 = 0 +N1033AC1 = 0.4860357964 +N1033AC2 = 0.5004769224 +N1033AC3 = 0 +N1033AC4 = 0 +N1033AC5 = 2.061996183 +N1034AC1 = 0 +N1034AC2 = 0 +N1034AC3 = 3.174783885 +N1035AC1 = 0.6827679474 +N1035AC2 = 0 +N1035AC3 = 0 +N1035AC4 = 0.7269371829 +N1035AC5 = 0.2529831862 +N1036AC1 = 0.1083333333 +N1036AC2 = 0 +N1036AC3 = 0 +N1037AC4 = 0 +N1037AC5 = 0 +N1038AC4 = 0.2383968781 +N1038AC5 = 1.271450017 +N1039AC4 = 0 +N1039AC5 = 2.077705904 +N1040AC4 = 0 +N1040AC5 = 0 +N1040AC6 = 9.513243659 +N1041AC4 = 8.856901224 +N1041AC5 = 0 +N1041AC6 = 20 +N1042AC4 = 0 +N1042AC5 = 0 +N1042AC6 = 0 +N1043AC1 = 0.1725352113 +N1043AC2 = 0 +N1043AC3 = 0 +N1044AC1 = 0 +N1044AC2 = 0 +N1044AC3 = 1 +N1046AC3 = 1 +N1047AC1 = 0 +N1047AC2 = 0 +N1047AC3 = 1 +N1050AC3 = 0 +N1050AC4 = 0 +N1050AC5 = 0.0731874145 +N1051AC1 = 0 +N1051AC2 = 0 +N1051AC3 = 0 +N1051AC4 = 0 +N1051AC5 = 4.651904242 +N1051AC6 = 20 +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0000000105 boeing1.mps +Optimum value: 286.9746573 +Optimum location: +PBOSHNL0 = 0 +PBOSHNL1 = 10 +PBOSHNL7 = 0 +PBOSHNL8 = 0 +PBOSLAX0 = 0 +PBOSLAX1 = 0 +PBOSLAX7 = 12 +PBOSSEA0 = 0 +PBOSSEA1 = 40 +PBOSSEA2 = 0 +PBOSSFO0 = 48 +PBOSSFO1 = 73 +PBOSTPE1 = 0 +PBOSTPE2 = 0 +PBOSTYO1 = 0 +PBOSTYO2 = 0 +PBOSYUL0 = 372 +PBOSYUL1 = 224.0530973 +PBOSYUL2 = 0 +PBOSYUL3 = 11.94690265 +PBOSYUL4 = 0 +PBOSYVR0 = 0 +PBOSYVR1 = 23 +PBOSYVR2 = 0 +PBOSYWG0 = 33 +PBOSYWG1 = 0 +PBOSYWG7 = 0 +PBOSYYZ0 = 193 +PBOSYYZ1 = 0 +PBUROAK0 = 9 +PBUROAK1 = 15 +PBURSEA0 = 69 +PBURSEA1 = 0 +PBURSFO0 = 243 +PHNLLAX0 = 0 +PHNLLAX1 = 126.296875 +PHNLLAX2 = 100.03125 +PHNLLAX3 = 104.4375 +PHNLLON0 = 0 +PHNLLON6 = 0 +PHNLPAR0 = 0 +PHNLPAR6 = 0 +PHNLSEA0 = 0 +PHNLSEA1 = 135.2523364 +PHNLSEA2 = 0 +PHNLSFO0 = 0 +PHNLSFO1 = 0 +PHNLSFO7 = 31 +PHNLYVR0 = 80.74766355 +PHNLYVR1 = 0 +PHNLYVR7 = 35.25233645 +PLASSEA0 = 365 +PLASSEA1 = 0 +PLASYVR0 = 0 +PLASYVR6 = 33 +PLAXOAK0 = 42.765625 +PLAXOAK1 = 0 +PLAXOAK2 = 46 +PLAXSEA0 = 543.96875 +PLAXSEA1 = 0 +PLAXSEA2 = 0 +PLAXSEA3 = 0 +PLAXSEA4 = 6 +PLAXSEA5 = 139 +PLAXSEA6 = 0 +PLAXSEA7 = 0 +PLAXSEA8 = 66 +PLAXSEA9 = 12.03125 +PLAXSFO0 = 164.828125 +PLAXSFO1 = 842 +PLAXSFO2 = 0 +PLAXSFO3 = 168 +PLAXSFO4 = 168 +PLAXSFO5 = 144 +PLAXSFO6 = 1212.171875 +PLAXTPE0 = 0 +PLAXTPE1 = 18 +PLAXTPE2 = 9 +PLAXTPE8 = 0 +PLAXTYO0 = 0 +PLAXTYO1 = 0 +PLAXTYO2 = 0 +PLAXTYO8 = 36 +PLAXYVR0 = 116 +PLAXYVR1 = 0 +PLAXYVR2 = 57 +PLONPAR0 = 0 +PLONPAR1 = 0 +PLONPAR2 = 0 +PLONSEA0 = 0 +PLONSEA1 = 127 +PLONYVR0 = 0 +PLONYVR1 = 0 +PLONYVR7 = 45 +POAKONT0 = 0 +POAKONT1 = 11 +POAKSEA0 = 41 +POAKSEA1 = 57 +POAKSEA2 = 0 +PONTSFO0 = 155 +PONTSEA0 = 25 +PONTSEA1 = 12 +PONTSEA2 = 0 +PPARSEA0 = 0 +PPARSEA1 = 53 +PPARYVR0 = 0 +PPARYVR1 = 0 +PPARYVR7 = 21 +PRNOSEA0 = 255 +PRNOSEA1 = 0 +PRNOYVR0 = 60 +PSEASFO0 = 574 +PSEASFO1 = 0 +PSEASFO2 = 156 +PSEASFO3 = 224 +PSEASFO4 = 0 +PSEASFO5 = 168 +PSEASFO6 = 168 +PSEATPE0 = 0 +PSEATPE1 = 0 +PSEATPE2 = 42 +PSEATPE3 = 0 +PSEATYO0 = 0 +PSEATYO1 = 0 +PSEATYO2 = 126 +PSEATYO3 = 27 +PSEAYVR0 = 104.2523364 +PSEAYVR1 = 0 +PSEAYVR2 = 0 +PSEAYVR3 = 0 +PSEAYVR4 = 0 +PSEAYVR5 = 0 +PSEAYVR6 = 0 +PSEAYVR7 = 0 +PSEAYVR8 = 545 +PSFOTPE0 = 0 +PSFOTPE1 = 0 +PSFOTPE2 = 0 +PSFOTPE8 = 0 +PSFOTYO0 = 0 +PSFOTYO1 = 0 +PSFOTYO2 = 0 +PSFOTYO8 = 15 +PSFOYVR0 = 268 +PSFOYVR1 = 0 +PTPETYO0 = 0 +PTPETYO1 = 0 +PTPETYO2 = 0 +PTPETYO3 = 99 +PTPEYVR0 = 44 +PTYOYVR0 = 74 +PYULYVR0 = 182 +PYULYVR1 = 88 +PYULYVR2 = 0 +PYULYVR3 = 0 +PYULYWG0 = 161.3018868 +PYULYWG1 = 178 +PYULYWG2 = 31.69811321 +PYULYWG3 = 0 +PYULYYZ0 = 0 +PYULYYZ1 = 0 +PYULYYZ2 = 245.3018868 +PYULYYZ3 = 2104.698113 +PYULYYZ4 = 0 +PYVRYWG0 = 194.3018868 +PYVRYWG1 = 178 +PYVRYWG2 = 4.698113208 +PYVRYYZ0 = 328.6981132 +PYVRYYZ1 = 0 +PYVRYYZ2 = 4.301886792 +PYWGYYZ0 = 0 +PYWGYYZ1 = 4.698113208 +PYWGYYZ2 = 245.3018868 +PYWGYYZ3 = 0 +PBOSOAK0 = 9 +PBOSOAK6 = 0 +PBOSBUR1 = 0 +PBOSBUR2 = 0 +PBOSONT1 = 0 +PBOSONT2 = 0 +PBURYVR1 = 23 +PBURTYO1 = 0 +PBURTPE1 = 0 +PBURHNL0 = 9 +PBURHNL6 = 0 +PHNLOAK0 = 0 +PHNLOAK1 = 2.234375 +PHNLOAK2 = 0 +PHNLOAK8 = 18.765625 +PHNLONT0 = 0 +PHNLONT6 = 14 +PHNLYWG1 = 0 +PHNLYYZ1 = 21 +PHNLYUL1 = 35 +PLASTYO1 = 0 +PLASTPE1 = 0 +PLAXLON0 = 11 +PLAXLON6 = 0 +PLAXLON7 = 0 +PLAXPAR0 = 0 +PLAXPAR6 = 0 +PLAXPAR7 = 0 +PBURLON1 = 0 +PBURPAR1 = 0 +PLONONT1 = 0 +PLONOAK1 = 0 +POAKPAR1 = 0 +POAKTYO1 = 0 +POAKTPE1 = 0 +PONTPAR1 = 0 +PONTTYO1 = 0 +PONTTPE1 = 0 +PPARSFO1 = 0 +PRNOTYO1 = 0 +PRNOTPE1 = 0 +PTPEYWG1 = 18 +PTPEYYZ1 = 11 +PTPEYUL1 = 0 +PTYOYUL1 = 0 +PTYOYYZ1 = 15 +PTYOYWG1 = 22 +PLAXONT0 = 14 +GRDTIMO1 = 0 +GRDTIMN1 = -105 +GRDTIMO2 = 0 +GRDTIMN2 = -91 +GRDTIMO3 = 0 +GRDTIMN3 = -47 +GRDTIMO4 = 0 +GRDTIMN4 = -43.5 +GRDTIMO5 = 0 +GRDTIMN5 = -87 +GRDTIMO6 = 0 +GRDTIMN6 = -81 +N1001AC1 = 0 +N1001AC2 = 0 +N1001AC3 = 0 +N1002AC1 = 0 +N1002AC2 = 2.018691589 +N1002AC3 = 0 +N1003AC1 = 0 +N1003AC2 = 0 +N1003AC3 = 0 +N1004AC1 = 0 +N1004AC2 = 1.0703125 +N1004AC3 = 0 +N1005AC3 = 0.0703125 +N1105AC3 = 0.9296875 +N1006AC3 = 0 +N1007AC1 = 0 +N1007AC2 = 0 +N1007AC3 = 0 +N1008AC1 = 5.28156777 +N1008AC2 = 0 +N1008AC3 = 1.986798016 +N1008AC4 = 0 +N1008AC5 = 0 +N1008AC6 = 0 +N1009AC1 = 0 +N1009AC2 = 0 +N1009AC3 = 0 +N1009AC4 = 0 +N1009AC5 = 0 +N1010AC1 = 7 +N1010AC2 = 7 +N1010AC3 = 7 +N1010AC4 = 7 +N1010AC5 = 7 +N1010AC6 = 7 +N1011AC1 = 0 +N1011AC2 = 0 +N1011AC3 = 0 +N1011AC4 = 0 +N1011AC5 = 0 +N1011AC6 = 0 +N1012AC1 = 0 +N1012AC2 = 0 +N1012AC3 = 0 +N1012AC4 = 0 +N1012AC5 = 0 +N1013AC3 = 0 +N1013AC4 = 0 +N1013AC5 = 0 +N1013AC6 = 1 +N1014AC3 = 0 +N1014AC4 = 0 +N1014AC5 = 0 +N1014AC6 = 1.909090909 +N1015AC3 = 0 +N1015AC4 = 0 +N1015AC5 = 0 +N1015AC6 = 3 +N1016AC3 = 0 +N1016AC4 = 0 +N1016AC5 = 0 +N1016AC6 = 4 +N1017AC3 = 0 +N1017AC4 = 0 +N1017AC5 = 0 +N1017AC6 = 0.09090909091 +N1018AC1 = 3.782713663 +N1018AC2 = 6.749720385 +N1018AC3 = 7 +N1018AC4 = 0 +N1018AC5 = 4.039001305 +N1018AC6 = 0 +N1019AC1 = 0 +N1019AC2 = 1.412371134 +N1019AC3 = 0 +N1019AC4 = 2.587628866 +N1019AC5 = 0 +N1020AC1 = 0 +N1020AC2 = 0 +N1020AC3 = 0 +N1020AC4 = 0 +N1020AC5 = 0 +N1020AC6 = 0 +N1021AC1 = 0 +N1021AC2 = 0 +N1021AC3 = 0 +N1021AC4 = 0 +N1021AC5 = 0 +N1022AC1 = 0 +N1023AC1 = 0 +N1026AC1 = 1 +N1027AC1 = 0 +N1028AC1 = 0 +N1029AC1 = 1 +N1030AC1 = 1 +N1032AC1 = 1 +N1032AC2 = 1 +N1032AC3 = 1 +N1032AC4 = 1 +N1032AC5 = 1 +N1033AC1 = 0 +N1033AC2 = 1.371681416 +N1033AC3 = 0 +N1033AC4 = 0.6283185841 +N1033AC5 = 0 +N1034AC1 = 0 +N1034AC2 = 0 +N1034AC3 = 0 +N1035AC1 = 0 +N1035AC2 = 0.04608448823 +N1035AC3 = 0 +N1035AC4 = 0.01051928536 +N1035AC5 = 0 +N1036AC1 = 0 +N1036AC2 = 0 +N1036AC3 = 0 +N1037AC4 = 0 +N1037AC5 = 3.220930233 +N1038AC4 = 0 +N1038AC5 = 0 +N1039AC4 = 0 +N1039AC5 = 0 +N1040AC4 = 10 +N1040AC5 = 10 +N1040AC6 = 10 +N1041AC4 = 5.79377625 +N1041AC5 = 20 +N1041AC6 = 20 +N1042AC4 = 20 +N1042AC5 = 20 +N1042AC6 = 20 +N1043AC1 = 0 +N1043AC2 = 0 +N1043AC3 = 0 +N1044AC1 = 0 +N1044AC2 = 1 +N1044AC3 = 0 +N1046AC3 = 1 +N1047AC1 = 0 +N1047AC2 = 1 +N1047AC3 = 0 +N1050AC3 = 0.109375 +N1050AC4 = 0 +N1050AC5 = 0 +N1051AC1 = 20 +N1051AC2 = 20 +N1051AC3 = 20 +N1051AC4 = 0 +N1051AC5 = 20 +N1051AC6 = 11.52971853 +*** ./ppl_lpsol -s -p1 -oobtained -n boeing1.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000863 boeing2.mps +Optimum value: -315.018728 +Optimum location: +PBOSORD0 = 302 +PBOSORD1 = 0 +PBOSORD2 = 0 +PBOSORD3 = 0 +PBOSORD4 = 0 +PBOSLGA0 = 712 +PBOSLGA1 = 268 +PBOSLGA2 = 0 +PBOSLGA3 = 1372 +PBOSCLE0 = 4.108024927 +PBOSCLE1 = 137.8919751 +PBOSCLE2 = 0 +PBOSCLE3 = 0 +PORDBOS0 = 34 +PORDBOS1 = 0 +PORDBOS2 = 0 +PORDBOS3 = 268 +PORDBOS4 = 0 +PORDLGA0 = 0 +PORDLGA1 = 515 +PORDLGA2 = 0 +PORDLGA3 = 0 +PORDCLE0 = 470.294686 +PORDCLE1 = 148.705314 +PORDCLE2 = 0 +PORDCLE3 = 0 +PLGABOS0 = 1162 +PLGABOS1 = 0 +PLGABOS2 = 458 +PLGABOS3 = 0 +PLGABOS4 = 0 +PLGABOS5 = 1123 +PLGAORD0 = 712 +PLGAORD1 = 0 +PLGAORD2 = 0 +PLGAORD3 = 0 +PLGACLE0 = 0 +PLGACLE1 = 249 +PLGACLE2 = 268 +PCLEBOS0 = 131 +PCLEBOS1 = 0 +PCLEBOS2 = 0 +PCLEBOS3 = 0 +PCLEBOS4 = 0 +PCLEORD0 = 178.5972891 +PCLEORD1 = 249 +PCLEORD2 = 16.40271092 +PCLEORD3 = 268 +PCLEORD4 = 0 +PCLELGA0 = 0 +PCLELGA1 = 0 +PCLELGA2 = 409 +PCLELGA3 = 0 +BBOSORD0 = 0 +BBOSORD1 = 0 +BBOSCLE0 = 0.1616272102 +BBOSCLE1 = 7.026778587 +BORDBOS0 = 0 +CBOSORD0 = 12 +CBOSORD1 = 0 +CBOSORD2 = 0 +CBOSORD3 = 0 +CBOSORD4 = 0 +CBOSCLE0 = 0 +CBOSCLE1 = 8.811594203 +CBOSCLE2 = 0 +CBOSCLE3 = 0 +CORDBOS0 = 1.5 +CORDBOS1 = 22.5 +CORDBOS2 = 0 +CORDBOS3 = 0 +CORDBOS4 = 0 +CORDLGA0 = 13 +CORDLGA1 = 0 +CORDLGA2 = 0 +CORDLGA3 = 0 +CLGAORD0 = 22.5 +CLGAORD1 = 22.5 +CLGAORD2 = 0 +CLGAORD3 = 0 +CLGACLE0 = 16 +CLGACLE1 = 0 +CLGACLE2 = 0 +CCLELGA0 = 0 +CCLELGA1 = 5 +CCLELGA2 = 0 +CCLELGA3 = 0 +GRDTIMO1 = 0 +GRDTIMN1 = 0 +GRDTIMO2 = 0 +GRDTIMN2 = -76.79770851 +GRDTIMN3 = -10.27177739 +GRDTIMN4 = -21.60844089 +N1003AC1 = 0 +N1003AC2 = 6.724489796 +N1003AC3 = 0.4 +N1003AC4 = 0 +N1005AC1 = 0.01346893419 +N1005AC2 = 0 +N1005AC3 = 0 +N1005AC4 = 0 +N1011AC1 = 0.5855648822 +N1011AC2 = 0 +N1011AC3 = 0.2937198068 +N1011AC4 = 0 +N1013AC2 = 7.265306122 +N1013AC4 = 2 +N1015AC2 = 0 +N1015AC4 = 1.422222222 +N1017AC2 = 0 +N1017AC4 = 2 +N1019AC2 = 2.540816327 +N1019AC4 = 0 +N1021AC1 = 0.01346893419 +N1021AC2 = 0.1254559795 +N1021AC3 = 0 +N1021AC4 = 0 +N1002AC1 = 0 +N1002AC2 = 4.798925367 +N1002AC3 = 0 +N1002AC4 = 0 +N1004AC2 = 0 +N1004AC4 = 2 +N1006AC1 = 0.5990338164 +N1006AC2 = 0 +N1006AC3 = 0.6937198068 +N1006AC4 = 0 +N1008AC2 = 11.85714286 +N1008AC4 = 2 +N1010AC2 = 0 +N1010AC4 = 0 +N1012AC2 = 0 +N1012AC4 = 1.422222222 +N1014AC2 = 4.673469388 +N1014AC4 = 0 +N1100AC2 = 2.734693878 +N1100AC4 = 0 +N1102AC2 = 0 +N1102AC4 = 0 +N1200AC2 = 14 +N1200AC4 = 0 +N1201AC2 = 11.45918367 +N1201AC4 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.00000000213 boeing2.mps +Optimum value: -73.3689691 +Optimum location: +PBOSORD0 = 28 +PBOSORD1 = 0 +PBOSORD2 = 0 +PBOSORD3 = 0 +PBOSORD4 = 249 +PBOSLGA0 = 258.2518986 +PBOSLGA1 = 686 +PBOSLGA2 = 35.74810145 +PBOSLGA3 = 1372 +PBOSCLE0 = 0 +PBOSCLE1 = 0 +PBOSCLE2 = 0 +PBOSCLE3 = 142 +PORDBOS0 = 302 +PORDBOS1 = 0 +PORDBOS2 = 0 +PORDBOS3 = 0 +PORDBOS4 = 0 +PORDLGA0 = 0 +PORDLGA1 = 0 +PORDLGA2 = 515 +PORDLGA3 = 0 +PORDCLE0 = 0 +PORDCLE1 = 619 +PORDCLE2 = 0 +PORDCLE3 = 0 +PLGABOS0 = 0 +PLGABOS1 = 712 +PLGABOS2 = 0 +PLGABOS3 = 686 +PLGABOS4 = 426.7481014 +PLGABOS5 = 918.2518986 +PLGAORD0 = 258.2518986 +PLGAORD1 = 0 +PLGAORD2 = 453.7481014 +PLGAORD3 = 0 +PLGACLE0 = 517 +PLGACLE1 = 0 +PLGACLE2 = 0 +PCLEBOS0 = 131 +PCLEBOS1 = 0 +PCLEBOS2 = 0 +PCLEBOS3 = 0 +PCLEBOS4 = 0 +PCLEORD0 = 0 +PCLEORD1 = 0 +PCLEORD2 = 712 +PCLEORD3 = 0 +PCLEORD4 = 0 +PCLELGA0 = 197 +PCLELGA1 = 70 +PCLELGA2 = 0 +PCLELGA3 = 142 +BBOSORD0 = 0 +BBOSORD1 = 0 +BBOSCLE0 = 0 +BBOSCLE1 = 0 +BORDBOS0 = 0 +CBOSORD0 = 0 +CBOSORD1 = 0 +CBOSORD2 = 0 +CBOSORD3 = 0 +CBOSORD4 = 0 +CBOSCLE0 = 0 +CBOSCLE1 = 0 +CBOSCLE2 = 12.8 +CBOSCLE3 = 0 +CORDBOS0 = 19.2 +CORDBOS1 = 0 +CORDBOS2 = 0 +CORDBOS3 = 0 +CORDBOS4 = 0 +CORDLGA0 = 0 +CORDLGA1 = 0 +CORDLGA2 = 10.4 +CORDLGA3 = 0 +CLGAORD0 = 0 +CLGAORD1 = 0 +CLGAORD2 = 10.4 +CLGAORD3 = 25.6 +CLGACLE0 = 12.8 +CLGACLE1 = 0 +CLGACLE2 = 0 +CCLELGA0 = 0 +CCLELGA1 = 0 +CCLELGA2 = 0 +CCLELGA3 = 0 +GRDTIMO1 = 73.01076 +GRDTIMN1 = -100 +GRDTIMO2 = 0 +GRDTIMN2 = -90 +GRDTIMN3 = -45 +GRDTIMN4 = -45 +N1003AC1 = 7 +N1003AC2 = 0 +N1003AC3 = 0.6856076556 +N1003AC4 = 0 +N1005AC1 = 0 +N1005AC2 = 0 +N1005AC3 = 0 +N1005AC4 = 0 +N1011AC1 = 0 +N1011AC2 = 0 +N1011AC3 = 1.314392344 +N1011AC4 = 0 +N1013AC2 = 2.635223455 +N1013AC4 = 0 +N1015AC2 = 5.275510204 +N1015AC4 = 2 +N1017AC2 = 0 +N1017AC4 = 0 +N1019AC2 = 4.630082668 +N1019AC4 = 0.9244444444 +N1021AC1 = 7 +N1021AC2 = 0 +N1021AC3 = 2 +N1021AC4 = 2 +N1002AC1 = 7 +N1002AC2 = 0 +N1002AC3 = 2 +N1002AC4 = 2 +N1004AC2 = 0 +N1004AC4 = 0 +N1006AC1 = 7 +N1006AC2 = 0 +N1006AC3 = 2 +N1006AC4 = 0 +N1008AC2 = 0 +N1008AC4 = 0 +N1010AC2 = 7.265306122 +N1010AC4 = 0.9244444444 +N1012AC2 = 5.275510204 +N1012AC4 = 2 +N1014AC2 = 0 +N1014AC4 = 0 +N1100AC2 = 7 +N1100AC4 = 5.274621909 +N1102AC2 = 4.354572464 +N1102AC4 = 0 +N1200AC2 = 14 +N1200AC4 = 0.9244444444 +N1201AC2 = 9.369917332 +N1201AC4 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -n boeing2.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -r -m mas74.mps +Optimum value: 10482.79528 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 1 +x4 = 0 +x5 = 0 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 0 +x13 = 0 +x14 = 0.5347489362 +x15 = 1 +x16 = 0 +x17 = 0.2426314989 +x18 = 0 +x19 = 0.6876932386 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 0 +x25 = 0 +x26 = 0 +x27 = 0 +x28 = 0.2651304012 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 0 +x34 = 0.5013849046 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 1 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 1 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 0 +x48 = 0 +x49 = 0 +x50 = 0 +x51 = 0 +x52 = 0 +x53 = 0 +x54 = 0 +x55 = 1 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 0.0325333004 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 1 +x65 = 0 +x66 = 0 +x67 = 1 +x68 = 0 +x69 = 0 +x70 = 0 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 0 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 0 +x81 = 0 +x82 = 0 +x83 = 1 +x84 = 0 +x85 = 0 +x86 = 0 +x87 = 0 +x88 = 1 +x89 = 1 +x90 = 0 +x91 = 0 +x92 = 0 +x93 = 0 +x94 = 1 +x95 = 0 +x96 = 0 +x97 = 0 +x98 = 0 +x99 = 0 +x100 = 0 +x101 = 0 +x102 = 0 +x103 = 0 +x104 = 0 +x105 = 0 +x106 = 0 +x107 = 0 +x108 = 0.892553448 +x109 = 0 +x110 = 0 +x111 = 0 +x112 = 0 +x113 = 0 +x114 = 0 +x115 = 0 +x116 = 0 +x117 = 0 +x118 = 0 +x119 = 0 +x120 = 0 +x121 = 0 +x122 = 0.01146190333 +x123 = 0 +x124 = 0 +x125 = 0 +x126 = 0 +x127 = 0 +x128 = 0 +x129 = 1 +x130 = 0 +x131 = 0 +x132 = 0 +x133 = 0.6811784275 +x134 = 1 +x135 = 0 +x136 = 0 +x137 = 0 +x138 = 0 +x139 = 0 +x140 = 0 +x141 = 0 +x142 = 0.6580158108 +x143 = 0 +x144 = 0 +x145 = 0 +x146 = 0 +x147 = 1 +x148 = 0 +x149 = 0.973369113 +x150 = 0.5192990175 +x151 = 10482.79508 +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps +Optimum value: 1e+12 +Optimum location: +x1 = 0 +x2 = 0 +x3 = 0 +x4 = 0 +x5 = 1 +x6 = 0 +x7 = 0 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 0 +x13 = 0 +x14 = 0 +x15 = 1 +x16 = 0 +x17 = 0 +x18 = 0 +x19 = 0 +x20 = 0 +x21 = 0 +x22 = 0 +x23 = 0 +x24 = 1 +x25 = 0 +x26 = 1 +x27 = 0 +x28 = 0 +x29 = 0 +x30 = 0 +x31 = 0 +x32 = 0 +x33 = 1 +x34 = 0 +x35 = 0 +x36 = 0 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 0 +x41 = 0 +x42 = 0 +x43 = 0 +x44 = 0 +x45 = 0 +x46 = 0 +x47 = 1 +x48 = 0 +x49 = 0 +x50 = 0 +x51 = 0 +x52 = 0 +x53 = 0 +x54 = 0 +x55 = 0 +x56 = 0 +x57 = 0 +x58 = 0 +x59 = 0 +x60 = 0 +x61 = 0 +x62 = 0 +x63 = 0 +x64 = 0 +x65 = 0 +x66 = 0 +x67 = 0 +x68 = 0 +x69 = 1 +x70 = 0 +x71 = 0 +x72 = 0 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 0 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 0 +x81 = 0 +x82 = 1 +x83 = 1 +x84 = 0 +x85 = 0 +x86 = 0 +x87 = 0 +x88 = 0 +x89 = 0 +x90 = 0 +x91 = 0 +x92 = 0 +x93 = 0 +x94 = 0 +x95 = 0 +x96 = 0 +x97 = 1 +x98 = 0 +x99 = 0 +x100 = 0 +x101 = 0 +x102 = 0 +x103 = 0 +x104 = 0 +x105 = 0 +x106 = 0 +x107 = 0 +x108 = 0 +x109 = 0 +x110 = 0 +x111 = 0 +x112 = 0 +x113 = 1 +x114 = 1 +x115 = 0 +x116 = 0 +x117 = 1 +x118 = 0 +x119 = 0 +x120 = 1 +x121 = 1 +x122 = 0 +x123 = 0 +x124 = 0 +x125 = 0 +x126 = 0 +x127 = 0 +x128 = 0 +x129 = 0 +x130 = 0 +x131 = 0 +x132 = 0 +x133 = 0 +x134 = 1 +x135 = 0 +x136 = 0 +x137 = 0 +x138 = 0 +x139 = 0 +x140 = 0 +x141 = 0 +x142 = 0 +x143 = 1 +x144 = 0 +x145 = 0 +x146 = 0 +x147 = 1 +x148 = 1 +x149 = 0 +x150 = 1 +x151 = 1e+12 +*** ./ppl_lpsol -s -p1 -oobtained -n mas74.mps +Feasible problem. +*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000273 modglob.mps +Optimum value: 20430947.62 +Optimum location: +x1 = 0 +x2 = 23929.0382 +x3 = 0 +x4 = 0 +x5 = 0 +x6 = 0 +x7 = 1.833067347 +x8 = 0 +x9 = 0 +x10 = 0 +x11 = 0 +x12 = 0 +x13 = 0 +x14 = 0 +x15 = 86.19157484 +x16 = 0 +x17 = 0 +x18 = 636.0743694 +x19 = 0 +x20 = 0 +x21 = 605.2785996 +x22 = 2113.676289 +x23 = 0 +x24 = 0 +x25 = 1009.494466 +x26 = 5449.255398 +x27 = 0 +x28 = 0 +x29 = 7316.944573 +x30 = 0 +x31 = 7529.08308 +x32 = 3525.611302 +x33 = 0 +x34 = 0 +x35 = 0 +x36 = 2780.728439 +x37 = 0 +x38 = 0 +x39 = 0 +x40 = 889.0673525 +x41 = 0 +x42 = 0 +x43 = 0 +x44 = 205.0591339 +x45 = 0 +x46 = 0 +x47 = 0 +x48 = 0 +x49 = 6351.319455 +x50 = 1183.360764 +x51 = 0 +x52 = 0 +x53 = 0 +x54 = 2530.715783 +x55 = 1726.033672 +x56 = 0 +x57 = 0 +x58 = 1176.727362 +x59 = 887.6859319 +x60 = 0 +x61 = 0 +x62 = 838.4627167 +x63 = 0 +x64 = 126.3594424 +x65 = 0 +x66 = 204.7049902 +x67 = 0 +x68 = 142.8570486 +x69 = 0 +x70 = 0 +x71 = 0 +x72 = 41.54952653 +x73 = 0 +x74 = 0 +x75 = 0 +x76 = 569.7173314 +x77 = 0 +x78 = 0 +x79 = 0 +x80 = 212.2691988 +x81 = 0 +x82 = 481.1190763 +x83 = 0 +x84 = 0 +x85 = 0 +x86 = 0 +x87 = 0 +x88 = 0 +x89 = 0 +x90 = 0 +x91 = 0 +x92 = 0 +x93 = 0 +x94 = 0 +x95 = 0 +x96 = 0 +x97 = 0 +x98 = 0 +x99 = 0 +x100 = 11372.68698 +x101 = 8880.920376 +x102 = 621.3300236 +x103 = 0 +x104 = 0 +x105 = 0 +x106 = 0 +x107 = 0 +x108 = 0 +x109 = 0 +x110 = 0 +x111 = 0 +x112 = 0 +x113 = 0 +x114 = 0 +x115 = 0 +x116 = 0 +x117 = 0 +x118 = 0 +x119 = 0 +x120 = 0 +x121 = 0 +x122 = 0 +x123 = 0 +x124 = 0 +x125 = 0 +x126 = 0 +x127 = 0 +x128 = 0 +x129 = 0 +x130 = 0 +x131 = 0 +x132 = 0 +x133 = 0 +x134 = 0 +x135 = 0 +x136 = 0 +x137 = 0 +x138 = 0 +x139 = 0 +x140 = 0 +x141 = 0 +x142 = 0 +x143 = 0 +x144 = 0 +x145 = 0 +x146 = 0 +x147 = 0 +x148 = 0 +x149 = 0 +x150 = 0 +x151 = 0 +x152 = 0 +x153 = 0 +x154 = 0 +x155 = 0 +x156 = 0 +x157 = 0 +x158 = 0 +x159 = 0 +x160 = 0 +x161 = 0 +x162 = 0 +x163 = 0 +x164 = 0 +x165 = 0 +x166 = 0 +x167 = 0 +x168 = 0 +x169 = 0 +x170 = 0 +x171 = 0 +x172 = 0 +x173 = 0 +x174 = 0 +x175 = 0 +x176 = 0 +x177 = 0 +x178 = 0 +x179 = 0 +x180 = 0 +x181 = 0 +x182 = 0 +x183 = 0 +x184 = 0 +x185 = 0 +x186 = 0 +x187 = 0 +x188 = 0 +x189 = 0 +x190 = 0 +x191 = 0 +x192 = 0 +x193 = 0 +x194 = 0 +x195 = 0 +x196 = 0 +x197 = 0 +x198 = 0 +x199 = 0 +x200 = 0 +x201 = 0 +x202 = 0 +x203 = 0.000105591437 +x204 = 0 +x205 = 0.004964952468 +x206 = 0 +x207 = 0 +x208 = 0 +x209 = 0.05815060286 +x210 = 0 +x211 = 0.03486627878 +x212 = 0 +x213 = 0 +x214 = 0 +x215 = 0.03664022865 +x216 = 0 +x217 = 0.1217555466 +x218 = 0 +x219 = 0.3138972004 +x220 = 0 +x221 = 0.4214829823 +x222 = 0 +x223 = 0.4337029424 +x224 = 0 +x225 = 0 +x226 = 0 +x227 = 0 +x228 = 0 +x229 = 0 +x230 = 0 +x231 = 0.2030882087 +x232 = 0 +x233 = 0.1601802096 +x234 = 0 +x235 = 0.05121355717 +x236 = 0 +x237 = 0.6551086973 +x238 = 0 +x239 = 0 +x240 = 0 +x241 = 0 +x242 = 0 +x243 = 0 +x244 = 0 +x245 = 0.01181216209 +x246 = 0 +x247 = 0 +x248 = 0 +x249 = 0.03579089997 +x250 = 0 +x251 = 0.5115737543 +x252 = 0 +x253 = 0.0681659426 +x254 = 0 +x255 = 0.3658594156 +x256 = 0 +x257 = 0.09942590274 +x258 = 0 +x259 = 0.1457785589 +x260 = 0 +x261 = 0.05113398225 +x262 = 0 +x263 = 0.06778383419 +x264 = 0 +x265 = 0.04829854359 +x266 = 0 +x267 = 0.02771423251 +x268 = 0 +x269 = 0 +x270 = 0 +x271 = 0.01222748841 +x272 = 0 +x273 = 0 +x274 = 0 +x275 = 0.03281781863 +x276 = 0 +x277 = 0 +x278 = 0 +x279 = 0.002393405906 +x280 = 0 +x281 = 0 +x282 = 0 +x283 = 0.008229092659 +x284 = 0 +x285 = 0.01179176211 +x286 = 0 +x287 = 0.007278769726 +x288 = 0 +x289 = 0 +x290 = 0 +x291 = 0 +x292 = 0 +x293 = 0 +x294 = 0 +x295 = 0 +x296 = 0 +x297 = 0 +x298 = 0 +x299 = 1.5 +x300 = 69 +x301 = 520.5 +x302 = 495.299805 +x303 = 754.0998539 +x304 = 1198.5 +x305 = 2188.799805 +x306 = 594.4 +x307 = 51.4 +x308 = 75.6 +x309 = 563.0998539 +x310 = 1533.099854 +x311 = 556.299805 +x312 = 167.8 +x313 = 975.799805 +x314 = 1642.9 +x315 = 347.099854 +x316 = 262.799805 +x317 = 62 +x318 = 395.9 +x319 = 691.7 +x320 = 936.7 +x321 = 791.099854 +x322 = 106.7 +x323 = 393.7 +x324 = 173.7 +x325 = 466.2 +x326 = 34 +x327 = 116.9 +x328 = 103.4 +x329 = 552.099854 +x330 = 0 +x331 = 0 +x332 = 0 +x333 = 0 +x334 = 0 +x335 = 0 +x336 = 0 +x337 = 0 +x338 = 0 +x339 = 0 +x340 = 0 +x341 = 0 +x342 = 0 +x343 = 0 +x344 = 0 +x345 = 0 +x346 = 0 +x347 = 0 +x348 = 0 +x349 = 0 +x350 = 0 +x351 = 0 +x352 = 0 +x353 = 0 +x354 = 0 +x355 = 0 +x356 = 0 +x357 = 0 +x358 = 0 +x359 = 0 +x360 = 0 +x361 = 0 +x362 = 0 +x363 = 0 +x364 = 0 +x365 = 0 +x366 = 0 +x367 = 0 +x368 = 0 +x369 = 0 +x370 = 0 +x371 = 0 +x372 = 0 +x373 = 0 +x374 = 0 +x375 = 0 +x376 = 0 +x377 = 0 +x378 = 0 +x379 = 0 +x380 = 0 +x381 = 0 +x382 = 0 +x383 = 0 +x384 = 0 +x385 = 0 +x386 = 0 +x387 = 0 +x388 = 0 +x389 = 0 +x390 = 0 +x391 = 0 +x392 = 0 +x393 = 0 +x394 = 0 +x395 = 0 +x396 = 0 +x397 = 0 +x398 = 0 +x399 = 0 +x400 = 0 +x401 = 0 +x402 = 0 +x403 = 0 +x404 = 0 +x405 = 0 +x406 = 0 +x407 = 0 +x408 = 0 +x409 = 0 +x410 = 0 +x411 = 0 +x412 = 0 +x413 = 0 +x414 = 0 +x415 = 0 +x416 = 0 +x417 = 0 +x418 = 0 +x419 = 0 +x420 = 0 +x421 = 0 +x422 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0290 modglob.mps +Optimum value: 742543789.3 +Optimum location: +x1 = 0 +x2 = 57866.66667 +x3 = 0 +x4 = 52080 +x5 = 16665.6 +x6 = 17360 +x7 = 17360 +x8 = 15985.088 +x9 = 17360 +x10 = 16665.6 +x11 = 17360 +x12 = 17360 +x13 = 15971.2 +x14 = 17360 +x15 = 17360 +x16 = 17360 +x17 = 13609.96224 +x18 = 17360 +x19 = 15637.888 +x20 = 17360 +x21 = 17360 +x22 = 17360 +x23 = 14283.53024 +x24 = 17360 +x25 = 17360 +x26 = 17360 +x27 = 9281.22263 +x28 = 17360 +x29 = 17360 +x30 = 8748.398178 +x31 = 17360 +x32 = 17360 +x33 = 3236.582794 +x34 = 17360 +x35 = 12622.80876 +x36 = 17360 +x37 = 17360 +x38 = 17360 +x39 = 13943.27424 +x40 = 17360 +x41 = 17360 +x42 = 17360 +x43 = 15290.688 +x44 = 17360 +x45 = 17360 +x46 = 16665.6 +x47 = 17360 +x48 = 17360 +x49 = 17360 +x50 = 17360 +x51 = 1887.314667 +x52 = 17360 +x53 = 5398.256436 +x54 = 17360 +x55 = 17360 +x56 = 17360 +x57 = 8980.850078 +x58 = 17360 +x59 = 17360 +x60 = 17360 +x61 = 12636.55788 +x62 = 17360 +x63 = 15985.088 +x64 = 17360 +x65 = 13603.01824 +x66 = 17360 +x67 = 17360 +x68 = 17360 +x69 = 14950.432 +x70 = 17360 +x71 = 17360 +x72 = 17360 +x73 = 14950.432 +x74 = 17360 +x75 = 17360 +x76 = 17360 +x77 = 14950.432 +x78 = 17360 +x79 = 17360 +x80 = 17360 +x81 = 17360 +x82 = 17360 +x83 = 15637.888 +x84 = 16665.6 +x85 = 17360 +x86 = 16318.4 +x87 = 17360 +x88 = 17360 +x89 = 16318.4 +x90 = 17360 +x91 = 17360 +x92 = 16318.4 +x93 = 17360 +x94 = 17360 +x95 = 16318.4 +x96 = 17360 +x97 = 17360 +x98 = 16665.6 +x99 = 17360 +x100 = 17360 +x101 = 17360 +x102 = 17360 +x103 = 16665.6 +x104 = 17360 +x105 = 17360 +x106 = 15985.088 +x107 = 17360 +x108 = 16665.6 +x109 = 17360 +x110 = 17360 +x111 = 15971.2 +x112 = 17360 +x113 = 17360 +x114 = 17360 +x115 = 13609.96224 +x116 = 17360 +x117 = 15637.888 +x118 = 17360 +x119 = 17360 +x120 = 17360 +x121 = 14283.53024 +x122 = 17360 +x123 = 17360 +x124 = 17360 +x125 = 9281.22263 +x126 = 17360 +x127 = 17360 +x128 = 8748.398178 +x129 = 17360 +x130 = 17360 +x131 = 3236.582794 +x132 = 17360 +x133 = 12622.80876 +x134 = 17360 +x135 = 17360 +x136 = 17360 +x137 = 13943.27424 +x138 = 17360 +x139 = 17360 +x140 = 17360 +x141 = 15290.688 +x142 = 17360 +x143 = 17360 +x144 = 16665.6 +x145 = 17360 +x146 = 17360 +x147 = 17360 +x148 = 17360 +x149 = 1887.314667 +x150 = 17360 +x151 = 5398.256436 +x152 = 17360 +x153 = 17360 +x154 = 17360 +x155 = 8980.850078 +x156 = 17360 +x157 = 17360 +x158 = 17360 +x159 = 12636.55788 +x160 = 17360 +x161 = 15985.088 +x162 = 17360 +x163 = 13603.01824 +x164 = 17360 +x165 = 17360 +x166 = 17360 +x167 = 14950.432 +x168 = 17360 +x169 = 17360 +x170 = 17360 +x171 = 14950.432 +x172 = 17360 +x173 = 17360 +x174 = 17360 +x175 = 14950.432 +x176 = 17360 +x177 = 17360 +x178 = 17360 +x179 = 17360 +x180 = 17360 +x181 = 15637.888 +x182 = 16665.6 +x183 = 17360 +x184 = 16318.4 +x185 = 17360 +x186 = 17360 +x187 = 16318.4 +x188 = 17360 +x189 = 17360 +x190 = 16318.4 +x191 = 17360 +x192 = 17360 +x193 = 16318.4 +x194 = 17360 +x195 = 17360 +x196 = 16665.6 +x197 = 17360 +x198 = 17360 +x199 = 17360 +x200 = 17360 +x201 = 1 +x202 = 1 +x203 = 1 +x204 = 1 +x205 = 1 +x206 = 1 +x207 = 1 +x208 = 1 +x209 = 1 +x210 = 1 +x211 = 1 +x212 = 1 +x213 = 1 +x214 = 1 +x215 = 1 +x216 = 1 +x217 = 1 +x218 = 1 +x219 = 1 +x220 = 1 +x221 = 1 +x222 = 1 +x223 = 1 +x224 = 1 +x225 = 1 +x226 = 1 +x227 = 1 +x228 = 1 +x229 = 1 +x230 = 1 +x231 = 1 +x232 = 1 +x233 = 1 +x234 = 1 +x235 = 1 +x236 = 1 +x237 = 1 +x238 = 1 +x239 = 1 +x240 = 1 +x241 = 1 +x242 = 1 +x243 = 1 +x244 = 1 +x245 = 1 +x246 = 1 +x247 = 1 +x248 = 1 +x249 = 1 +x250 = 1 +x251 = 1 +x252 = 1 +x253 = 1 +x254 = 1 +x255 = 1 +x256 = 1 +x257 = 1 +x258 = 1 +x259 = 1 +x260 = 1 +x261 = 1 +x262 = 1 +x263 = 1 +x264 = 1 +x265 = 1 +x266 = 1 +x267 = 1 +x268 = 1 +x269 = 1 +x270 = 1 +x271 = 1 +x272 = 1 +x273 = 1 +x274 = 1 +x275 = 1 +x276 = 1 +x277 = 1 +x278 = 1 +x279 = 1 +x280 = 1 +x281 = 1 +x282 = 1 +x283 = 1 +x284 = 1 +x285 = 1 +x286 = 1 +x287 = 1 +x288 = 1 +x289 = 1 +x290 = 1 +x291 = 1 +x292 = 1 +x293 = 1 +x294 = 1 +x295 = 1 +x296 = 1 +x297 = 1 +x298 = 1 +x299 = 0 +x300 = 0 +x301 = 0 +x302 = 0 +x303 = 0 +x304 = 0 +x305 = 0 +x306 = 0 +x307 = 0 +x308 = 0 +x309 = 0 +x310 = 0 +x311 = 0 +x312 = 0 +x313 = 0 +x314 = 0 +x315 = 0 +x316 = 0 +x317 = 0 +x318 = 0 +x319 = 0 +x320 = 0 +x321 = 0 +x322 = 0 +x323 = 0 +x324 = 0 +x325 = 0 +x326 = 0 +x327 = 0 +x328 = 0 +x329 = 0 +x330 = 0 +x331 = 0 +x332 = 0 +x333 = 0 +x334 = 0 +x335 = 0 +x336 = 0 +x337 = 0 +x338 = 0 +x339 = 0 +x340 = 0 +x341 = 0 +x342 = 0 +x343 = 0 +x344 = 0 +x345 = 0 +x346 = 0 +x347 = 0 +x348 = 0 +x349 = 0 +x350 = 0 +x351 = 0 +x352 = 0 +x353 = 0 +x354 = 0 +x355 = 0 +x356 = 0 +x357 = 0 +x358 = 0 +x359 = 0 +x360 = 0 +x361 = 1.5 +x362 = 69 +x363 = 520.5 +x364 = 495.299805 +x365 = 754.0998539 +x366 = 1198.5 +x367 = 2188.799805 +x368 = 594.4 +x369 = 51.4 +x370 = 75.6 +x371 = 563.0998539 +x372 = 1533.099854 +x373 = 556.299805 +x374 = 167.8 +x375 = 975.799805 +x376 = 1642.9 +x377 = 347.099854 +x378 = 262.799805 +x379 = 62 +x380 = 395.9 +x381 = 691.7 +x382 = 936.7 +x383 = 791.099854 +x384 = 106.7 +x385 = 393.7 +x386 = 173.7 +x387 = 466.2 +x388 = 34 +x389 = 116.9 +x390 = 103.4 +x391 = 552.099854 +x392 = 0 +x393 = 0 +x394 = 0 +x395 = 0 +x396 = 0 +x397 = 0 +x398 = 0 +x399 = 0 +x400 = 0 +x401 = 0 +x402 = 0 +x403 = 0 +x404 = 0 +x405 = 0 +x406 = 0 +x407 = 0 +x408 = 0 +x409 = 0 +x410 = 0 +x411 = 0 +x412 = 0 +x413 = 0 +x414 = 0 +x415 = 0 +x416 = 0 +x417 = 0 +x418 = 0 +x419 = 0 +x420 = 0 +x421 = 0 +x422 = 0 +*** ./ppl_lpsol -s -p1 -oobtained -n modglob.mps +Feasible problem. diff --git a/demos/ppl_lpsol/glpk_set_d_eps.c b/demos/ppl_lpsol/glpk_set_d_eps.c new file mode 100644 index 000000000..dc710f318 --- /dev/null +++ b/demos/ppl_lpsol/glpk_set_d_eps.c @@ -0,0 +1,286 @@ +/* Utilities extracted from GLPK's 4.44 (see below for copyright and + licensing information). + + The rest of this comment block applies to everything outside + the "Begin GLPK code" and "End GLPK code" marks. + + Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> + Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) + + +This file is part of the Parma Polyhedra Library (PPL). + +The PPL 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 3 of the License, or (at your +option) any later version. + +The PPL 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 02111-1307, USA. + +For the most up-to-date information see the Parma Polyhedra Library +site: http://www.cs.unipr.it/ppl/ . */ + +#include <gmp.h> +#include <assert.h> +#include <math.h> +#include <float.h> +#include <stdlib.h> + +static int fp2rat(double x, double eps, double *p, double *q); + +#define static +#define xassert assert + +/* Begin GLPK code */ +/* Extracted from GLPK's 4.44 glpapi07.c (exact simplex solver). */ +/*********************************************************************** +* This code is part of GLPK (GNU Linear Programming Kit). +* +* Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, +* 2009, 2010 Andrew Makhorin, Department for Applied Informatics, +* Moscow Aviation Institute, Moscow, Russia. All rights reserved. +* E-mail: <mao@gnu.org>. +* +* GLPK 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 3 of the License, or +* (at your option) any later version. +* +* GLPK 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 GLPK. If not, see <http://www.gnu.org/licenses/>. +***********************************************************************/ + +static void set_d_eps(mpq_t x, double val) +{ /* convert double val to rational x obtaining a more adequate + fraction than provided by mpq_set_d due to allowing a small + approximation error specified by a given relative tolerance; + for example, mpq_set_d would give the following + 1/3 ~= 0.333333333333333314829616256247391... -> + -> 6004799503160661/18014398509481984 + while this routine gives exactly 1/3 */ + int s, n, j; + double f, p, q, eps = 1e-9; + mpq_t temp; + xassert(-DBL_MAX <= val && val <= +DBL_MAX); +#if 1 /* 30/VII-2008 */ + if (val == floor(val)) + { /* if val is integral, do not approximate */ + mpq_set_d(x, val); + goto done; + } +#endif + if (val > 0.0) + s = +1; + else if (val < 0.0) + s = -1; + else + { mpq_set_si(x, 0, 1); + goto done; + } + f = frexp(fabs(val), &n); + /* |val| = f * 2^n, where 0.5 <= f < 1.0 */ + fp2rat(f, 0.1 * eps, &p, &q); + /* f ~= p / q, where p and q are integers */ + mpq_init(temp); + mpq_set_d(x, p); + mpq_set_d(temp, q); + mpq_div(x, x, temp); + mpq_set_si(temp, 1, 1); + for (j = 1; j <= abs(n); j++) + mpq_add(temp, temp, temp); + if (n > 0) + mpq_mul(x, x, temp); + else if (n < 0) + mpq_div(x, x, temp); + mpq_clear(temp); + if (s < 0) mpq_neg(x, x); + /* check that the desired tolerance has been attained */ + xassert(fabs(val - mpq_get_d(x)) <= eps * (1.0 + fabs(val))); +done: return; +} +/* End GLPK code */ + +#undef static +#undef xassert + +void +fatal(const char* format, ...); + +#define xassert assert +#define xerror fatal +static + +/* Begin GLPK code */ +/* Extracted from GLPK's 4.44 glplib03.c (miscellaneous library routines). */ + +/*********************************************************************** +* This code is part of GLPK (GNU Linear Programming Kit). +* +* Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, +* 2009, 2010 Andrew Makhorin, Department for Applied Informatics, +* Moscow Aviation Institute, Moscow, Russia. All rights reserved. +* E-mail: <mao@gnu.org>. +* +* GLPK 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 3 of the License, or +* (at your option) any later version. +* +* GLPK 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 GLPK. If not, see <http://www.gnu.org/licenses/>. +***********************************************************************/ + +/*********************************************************************** +* NAME +* +* fp2rat - convert floating-point number to rational number +* +* SYNOPSIS +* +* #include "glplib.h" +* int fp2rat(double x, double eps, double *p, double *q); +* +* DESCRIPTION +* +* Given a floating-point number 0 <= x < 1 the routine fp2rat finds +* its "best" rational approximation p / q, where p >= 0 and q > 0 are +* integer numbers, such that |x - p / q| <= eps. +* +* RETURNS +* +* The routine fp2rat returns the number of iterations used to achieve +* the specified precision eps. +* +* EXAMPLES +* +* For x = sqrt(2) - 1 = 0.414213562373095 and eps = 1e-6 the routine +* gives p = 408 and q = 985, where 408 / 985 = 0.414213197969543. +* +* BACKGROUND +* +* It is well known that every positive real number x can be expressed +* as the following continued fraction: +* +* x = b[0] + a[1] +* ------------------------ +* b[1] + a[2] +* ----------------- +* b[2] + a[3] +* ---------- +* b[3] + ... +* +* where: +* +* a[k] = 1, k = 0, 1, 2, ... +* +* b[k] = floor(x[k]), k = 0, 1, 2, ... +* +* x[0] = x, +* +* x[k] = 1 / frac(x[k-1]), k = 1, 2, 3, ... +* +* To find the "best" rational approximation of x the routine computes +* partial fractions f[k] by dropping after k terms as follows: +* +* f[k] = A[k] / B[k], +* +* where: +* +* A[-1] = 1, A[0] = b[0], B[-1] = 0, B[0] = 1, +* +* A[k] = b[k] * A[k-1] + a[k] * A[k-2], +* +* B[k] = b[k] * B[k-1] + a[k] * B[k-2]. +* +* Once the condition +* +* |x - f[k]| <= eps +* +* has been satisfied, the routine reports p = A[k] and q = B[k] as the +* final answer. +* +* In the table below here is some statistics obtained for one million +* random numbers uniformly distributed in the range [0, 1). +* +* eps max p mean p max q mean q max k mean k +* ------------------------------------------------------------- +* 1e-1 8 1.6 9 3.2 3 1.4 +* 1e-2 98 6.2 99 12.4 5 2.4 +* 1e-3 997 20.7 998 41.5 8 3.4 +* 1e-4 9959 66.6 9960 133.5 10 4.4 +* 1e-5 97403 211.7 97404 424.2 13 5.3 +* 1e-6 479669 669.9 479670 1342.9 15 6.3 +* 1e-7 1579030 2127.3 3962146 4257.8 16 7.3 +* 1e-8 26188823 6749.4 26188824 13503.4 19 8.2 +* +* REFERENCES +* +* W. B. Jones and W. J. Thron, "Continued Fractions: Analytic Theory +* and Applications," Encyclopedia on Mathematics and Its Applications, +* Addison-Wesley, 1980. */ + +int fp2rat(double x, double eps, double *p, double *q) +{ int k; + double xk, Akm1, Ak, Bkm1, Bk, ak, bk, fk, temp; + if (!(0.0 <= x && x < 1.0)) + xerror("fp2rat: x = %g; number out of range\n", x); + for (k = 0; ; k++) + { xassert(k <= 100); + if (k == 0) + { /* x[0] = x */ + xk = x; + /* A[-1] = 1 */ + Akm1 = 1.0; + /* A[0] = b[0] = floor(x[0]) = 0 */ + Ak = 0.0; + /* B[-1] = 0 */ + Bkm1 = 0.0; + /* B[0] = 1 */ + Bk = 1.0; + } + else + { /* x[k] = 1 / frac(x[k-1]) */ + temp = xk - floor(xk); + xassert(temp != 0.0); + xk = 1.0 / temp; + /* a[k] = 1 */ + ak = 1.0; + /* b[k] = floor(x[k]) */ + bk = floor(xk); + /* A[k] = b[k] * A[k-1] + a[k] * A[k-2] */ + temp = bk * Ak + ak * Akm1; + Akm1 = Ak, Ak = temp; + /* B[k] = b[k] * B[k-1] + a[k] * B[k-2] */ + temp = bk * Bk + ak * Bkm1; + Bkm1 = Bk, Bk = temp; + } + /* f[k] = A[k] / B[k] */ + fk = Ak / Bk; +#if 0 + print("%.*g / %.*g = %.*g", DBL_DIG, Ak, DBL_DIG, Bk, DBL_DIG, + fk); +#endif + if (fabs(x - fk) <= eps) break; + } + *p = Ak; + *q = Bk; + return k; +} +/* End GLPK code */ diff --git a/demos/ppl_lpsol/ppl_lpsol.1 b/demos/ppl_lpsol/ppl_lpsol.1 new file mode 100644 index 000000000..8e48b534e --- /dev/null +++ b/demos/ppl_lpsol/ppl_lpsol.1 @@ -0,0 +1,99 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1. +.TH PPL_LPSOL "1" "February 2011" "ppl_lpsol 0.11.2" "User Commands" +.SH NAME +ppl_lpsol \- a PPL-based mixed integer programming problem solver +.SH SYNOPSIS +.B ppl_lpsol +[\fIOPTION\fR]... [\fIFILE\fR] +.SH DESCRIPTION +Reads a file in MPS format and attempts solution using the optimization +algorithms provided by the PPL. +.PP +See the +.IR "GNU Linear Programming Kit: Reference Manual (Version 4.38)" +for information on the MPS format. +.SH OPTIONS +.TP +\fB\-c\fR, \fB\-\-check\fR[=\fITHRESHOLD\fR] checks the obtained results using GLPK; +optima are checked with a tolerance of +THRESHOLD (default 1e\-09); input data +are also perturbed the same way as GLPK does +.TP +\fB\-i\fR, \fB\-\-incremental\fR +solves the problem incrementally +.TP +\fB\-m\fR, \fB\-\-min\fR +minimizes the objective function +.TP +\fB\-M\fR, \fB\-\-max\fR +maximizes the objective function (default) +.TP +\fB\-n\fR, \fB\-\-no\-optimization\fR +checks for satisfiability only +.TP +\fB\-r\fR, \fB\-\-no\-mip\fR +consider integer variables as real variables +.TP +\fB\-CSECS\fR, \fB\-\-max\-cpu\fR=\fISECS\fR +limits CPU usage to SECS seconds +.TP +\fB\-RMB\fR, \fB\-\-max\-memory\fR=\fIMB\fR +limits memory usage to MB megabytes +.TP +\fB\-h\fR, \fB\-\-help\fR +prints this help text to stdout +.TP +\fB\-oPATH\fR, \fB\-\-output\fR=\fIPATH\fR +appends output to PATH +.TP +\fB\-e\fR, \fB\-\-enumerate\fR +use the (expensive!) enumeration method +.TP +\fB\-pM\fR, \fB\-\-pricing\fR=\fIM\fR +use pricing method M for simplex (assumes \fB\-s\fR); +M is an int from 0 to 2, default 0: +0 \fB\-\-\fR> steepest\-edge using floating point +1 \fB\-\-\fR> steepest\-edge using exact arithmetic +2 \fB\-\-\fR> textbook +.TP +\fB\-s\fR, \fB\-\-simplex\fR +use the simplex method +.TP +\fB\-t\fR, \fB\-\-timings\fR +prints timings to stderr +.TP +\fB\-v\fR, \fB\-\-verbosity\fR=\fILEVEL\fR +sets verbosity level (from 0 to 4, default 3): +0 \fB\-\-\fR> quiet: no output except for errors and +.IP +explicitly required notifications +.IP +1 \fB\-\-\fR> solver state only +2 \fB\-\-\fR> state + optimal value +3 \fB\-\-\fR> state + optimal value + optimum location +4 \fB\-\-\fR> lots of output +.TP +\fB\-V\fR, \fB\-\-version\fR +prints version information to stdout +.SH AVAILABILITY +The latest version of the Parma Polyhedra Library and all the documentation +is available at \fBhttp://www.cs.unipr.it/ppl/\fR . +.SH NOTES +The options \fB\-CSECS\fR (\fB\-\-max\-cpu\fR=\fISECS\fR) and +\fB\-t\fR (\fB\-\-timings\fR) are not available on some platforms. +.SH AUTHOR +See the file \fBCREDITS\fR in the source distribution or use the command +\fBppl\-config \-\-credits\fR for a list of contributors. +.SH COPYRIGHT +Copyright (C) 2001\-2010 Roberto Bagnara <bagnara@cs.unipr.it> +Copyright (C) 2010\-2011 BUGSENG srl (http://bugseng.com) +.br +This is free software; see the file \fBCOPYING\fR in the source +distribution or use the command \fBppl\-config \-\-copying\fR to +obtain the copying conditions. There is NO warranty; not even for +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +.SH "SEE ALSO" +.BR ppl-config(1) +.sp +Andrew Makhorin. +.IR "GNU Linear Programming Kit: Reference Manual (Version 4.31)". diff --git a/demos/ppl_lpsol/ppl_lpsol.c b/demos/ppl_lpsol/ppl_lpsol.c new file mode 100644 index 000000000..cef707e3b --- /dev/null +++ b/demos/ppl_lpsol/ppl_lpsol.c @@ -0,0 +1,1418 @@ +/* Solve linear programming problems by either vertex/point enumeration + or the primal simplex algorithm. + Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> + Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) + +This file is part of the Parma Polyhedra Library (PPL). + +The PPL 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 3 of the License, or (at your +option) any later version. + +The PPL 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 02111-1307, USA. + +For the most up-to-date information see the Parma Polyhedra Library +site: http://www.cs.unipr.it/ppl/ . */ + +#include <ppl-config.h> +#include "ppl_c.h" +#include <gmp.h> +#include <stdio.h> +#include <assert.h> +#include <limits.h> +#include <time.h> +#include <stdarg.h> +#include <stdlib.h> +#include <errno.h> +#include <string.h> +#include <math.h> + +#if defined(PPL_HAVE_GLPK_GLPK_H) +#include <glpk/glpk.h> +#elif defined(PPL_HAVE_GLPK_H) +#include <glpk.h> +#endif + +#ifdef PPL_HAVE_GETOPT_H +# include <getopt.h> + +/* Try to accommodate non-GNU implementations of `getopt()'. */ +#if !defined(no_argument) && defined(NO_ARG) +#define no_argument NO_ARG +#endif + +#if !defined(required_argument) && defined(REQUIRED_ARG) +#define required_argument REQUIRED_ARG +#endif + +#if !defined(optional_argument) && defined(OPTIONAL_ARG) +#define optional_argument OPTIONAL_ARG +#endif + +#endif /* defined(PPL_HAVE_GETOPT_H) */ + +#ifdef PPL_HAVE_UNISTD_H +/* Include this for `getopt()': especially important if we do not have + <getopt.h>. */ +# include <unistd.h> +#endif + +#ifdef PPL_HAVE_SIGNAL_H +# include <signal.h> +#endif + +#ifdef PPL_HAVE_SYS_TIME_H +# include <sys/time.h> +#endif + +#ifdef PPL_HAVE_SYS_RESOURCE_H +/* This should be included after <time.h> and <sys/time.h> so as to make + sure we have the definitions for, e.g., `ru_utime'. */ +# include <sys/resource.h> +#endif + +#if PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 10 +# error "PPL version 0.10 or following is required" +#endif + +static const char* ppl_source_version = PPL_VERSION; + +#ifdef __GNUC__ +# define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +#else +# define ATTRIBUTE_UNUSED +#endif + +#if PPL_HAVE_DECL_GETRUSAGE +# define PPL_LPSOL_SUPPORTS_TIMINGS +#endif + +#if defined(PPL_HAVE_SYS_RESOURCE_H) \ + && (defined(SA_ONESHOT) || defined(SA_RESETHAND)) +# define PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME +#endif + +#ifdef PPL_HAVE_GETOPT_H +static struct option long_options[] = { + {"check", optional_argument, 0, 'c'}, + {"help", no_argument, 0, 'h'}, + {"incremental", no_argument, 0, 'i'}, + {"min", no_argument, 0, 'm'}, + {"max", no_argument, 0, 'M'}, + {"no-optimization", no_argument, 0, 'n'}, + {"no-mip", no_argument, 0, 'r'}, + {"max-cpu", required_argument, 0, 'C'}, + {"max-memory", required_argument, 0, 'R'}, + {"output", required_argument, 0, 'o'}, + {"pricing", required_argument, 0, 'p'}, + {"enumerate", no_argument, 0, 'e'}, + {"simplex", no_argument, 0, 's'}, +#ifdef PPL_LPSOL_SUPPORTS_TIMINGS + {"timings", no_argument, 0, 't'}, +#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */ + {"verbosity", required_argument, 0, 'v'}, + {"version", no_argument, 0, 'V'}, + {0, 0, 0, 0} +}; +#endif + +#define USAGE_STRING0 \ + "Usage: %s [OPTION]... [FILE]\n" \ + "Reads a file in MPS format and attempts solution using the optimization\n" \ + "algorithms provided by the PPL.\n\n" \ + "Options:\n" \ + " -c, --check[=THRESHOLD] checks the obtained results using GLPK;\n" \ + " optima are checked with a tolerance of\n" \ + " THRESHOLD (default %.10g); input data\n" \ + " are also perturbed the same way as GLPK does\n" \ + " -i, --incremental solves the problem incrementally\n" +#define USAGE_STRING1 \ + " -m, --min minimizes the objective function\n" \ + " -M, --max maximizes the objective function (default)\n" \ + " -n, --no-optimization checks for satisfiability only\n" \ + " -r, --no-mip consider integer variables as real variables\n" \ + " -CSECS, --max-cpu=SECS limits CPU usage to SECS seconds\n" \ + " -RMB, --max-memory=MB limits memory usage to MB megabytes\n" \ + " -h, --help prints this help text to stdout\n" \ + " -oPATH, --output=PATH appends output to PATH\n" +#define USAGE_STRING2 \ + " -e, --enumerate use the (expensive!) enumeration method\n" \ + " -pM, --pricing=M use pricing method M for simplex (assumes -s);\n" \ + " M is an int from 0 to 2, default 0:\n" \ + " 0 --> steepest-edge using floating point\n" \ + " 1 --> steepest-edge using exact arithmetic\n" \ + " 2 --> textbook\n" \ + " -s, --simplex use the simplex method\n" +#ifdef PPL_LPSOL_SUPPORTS_TIMINGS +#define USAGE_STRING3 \ + " -t, --timings prints timings to stderr\n" +#else /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */ +#define USAGE_STRING3 \ + "" +#endif /* !defined(PPL_LPSOL_SUPPORTS_TIMINGS) */ +#define USAGE_STRING4 \ + " -v, --verbosity=LEVEL sets verbosity level (from 0 to 4, default 3):\n" \ + " 0 --> quiet: no output except for errors and\n" \ + " explicitly required notifications\n" \ + " 1 --> solver state only\n" \ + " 2 --> state + optimal value\n" \ + " 3 --> state + optimal value + optimum location\n" \ + " 4 --> lots of output\n" \ + " -V, --version prints version information to stdout\n" +#ifndef PPL_HAVE_GETOPT_H +#define USAGE_STRING5 \ + "\n" \ + "NOTE: this version does not support long options.\n" +#else /* defined(PPL_HAVE_GETOPT_H) */ +#define USAGE_STRING5 \ + "" +#endif /* !defined(PPL_HAVE_GETOPT_H) */ +#define USAGE_STRING6 \ + "\n" \ + "Report bugs to <ppl-devel@cs.unipr.it>.\n" + + +#define OPTION_LETTERS "bc::eimnMC:R:ho:p:rstVv:" + +static const char* program_name = 0; +static unsigned long max_bytes_of_virtual_memory = 0; +static const char* output_argument = 0; +FILE* output_file = NULL; +static int check_results = 0; +static int use_simplex = 0; +static int pricing_method = 0; +static int verbosity = 3; +static int maximize = 1; +static int incremental = 0; +static int no_optimization = 0; +static int no_mip = 0; +static int check_results_failed = 0; +static double check_threshold = 0.0; +static const double default_check_threshold = 0.000000001; + +#ifdef PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME +static unsigned long max_seconds_of_cpu_time = 0; +#endif /* defined (PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME) */ + +#ifdef PPL_LPSOL_SUPPORTS_TIMINGS +static int print_timings = 0; +#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */ + +static void +my_exit(int status) { + (void) ppl_finalize(); + exit(status); +} + +void +fatal(const char* format, ...) { + va_list ap; + fprintf(stderr, "%s: ", program_name); + va_start(ap, format); + vfprintf(stderr, format, ap); + va_end(ap); + fprintf(stderr, "\n"); + my_exit(1); +} + +#if 0 +static void +warning(const char* format, ...) { + va_list ap; + va_start(ap, format); + fprintf(stderr, "%s: warning: ", program_name); + vfprintf(stderr, format, ap); + fprintf(stderr, "\n"); + va_end(ap); +} +#endif + +static void +error(const char* format, ...) { + va_list ap; + fprintf(stderr, "%s: ", program_name); + va_start(ap, format); + vfprintf(stderr, format, ap); + va_end(ap); + fprintf(stderr, "\n"); + if (output_argument) { + va_start(ap, format); + vfprintf(output_file, format, ap); + va_end(ap); + fprintf(output_file, "\n"); + } +} + +static const char* +get_ppl_version() { + const char* p; + (void) ppl_version(&p); + return p; +} + +static const char* +get_ppl_banner() { + const char* p; + (void) ppl_banner(&p); + return p; +} + +static void +process_options(int argc, char* argv[]) { +#ifdef PPL_HAVE_GETOPT_H + int option_index; +#endif + int enumerate_required = 0; + int simplex_required = 0; + int incremental_required = 0; + int no_optimization_required = 0; + int no_mip_required = 0; + int c; + char* endptr; + long l; + double d; + + while (1) { +#ifdef PPL_HAVE_GETOPT_H + option_index = 0; + c = getopt_long(argc, argv, OPTION_LETTERS, long_options, &option_index); +#else + c = getopt(argc, argv, OPTION_LETTERS); +#endif + if (c == EOF) + break; + + switch (c) { + case 0: + break; + + case 'c': + check_results = 1; + if (optarg) { + d = strtod(optarg, &endptr); + if (*endptr || errno == ERANGE || d < 0.0) + fatal("only a non-negative floating point number can `-c'"); + else + check_threshold = d; + } + else + check_threshold = default_check_threshold; + break; + + case 'm': + maximize = 0; + break; + + case 'M': + maximize = 1; + break; + + case '?': + case 'h': + fprintf(stdout, USAGE_STRING0, argv[0], default_check_threshold); + fputs(USAGE_STRING1, stdout); + fputs(USAGE_STRING2, stdout); + fputs(USAGE_STRING3, stdout); + fputs(USAGE_STRING4, stdout); + my_exit(0); + break; + +#ifdef PPL_LPSOL_SUPPORTS_TIMINGS + + case 'C': + l = strtol(optarg, &endptr, 10); + if (*endptr || l < 0) + fatal("a non-negative integer must follow `-C'"); + else + max_seconds_of_cpu_time = l; + break; + +#endif /* defined (PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME) */ + + case 'R': + l = strtol(optarg, &endptr, 10); + if (*endptr || l < 0) + fatal("a non-negative integer must follow `-R'"); + else if (((unsigned long) l) > ULONG_MAX/(1024*1024)) + max_bytes_of_virtual_memory = ULONG_MAX; + else + max_bytes_of_virtual_memory = l*1024*1024; + break; + + case 'o': + output_argument = optarg; + break; + + case 'p': + l = strtol(optarg, &endptr, 10); + if (*endptr || l < 0 || l > 2) + fatal("0 or 1 or 2 must follow `-p'"); + else + pricing_method = l; + break; + + case 'e': + enumerate_required = 1; + break; + + case 's': + simplex_required = 1; + break; + +#ifdef PPL_LPSOL_SUPPORTS_TIMINGS + + case 't': + print_timings = 1; + break; + +#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */ + + case 'v': + l = strtol(optarg, &endptr, 10); + if (*endptr || l < 0 || l > 4) + fatal("verbosity must be an integer between 0 and 4"); + else + verbosity = l; + break; + + case 'V': + fprintf(stdout, "%s\n", PPL_VERSION); + my_exit(0); + break; + + case 'i': + incremental_required = 1; + break; + + case 'n': + no_optimization_required = 1; + break; + + case 'r': + no_mip_required = 1; + break; + + default: + abort(); + } + } + + if (enumerate_required + && (simplex_required + || incremental_required)) + fatal("-e option is incompatible with -i and -s"); + + if (enumerate_required) + use_simplex = 0; + else if (simplex_required) + use_simplex = 1; + + if (incremental_required) + incremental = 1; + + if (no_optimization_required) + no_optimization = 1; + + if (no_mip_required) + no_mip = 1; + + if (optind >= argc) { + if (verbosity >= 4) + fprintf(stderr, + "Parma Polyhedra Library version:\n%s\n\n" + "Parma Polyhedra Library banner:\n%s\n", + get_ppl_version(), + get_ppl_banner()); + else + fatal("no input files"); + } + + if (argc - optind > 1) + /* We have multiple input files. */ + fatal("only one input file is accepted"); + + if (output_argument) { + output_file = fopen(output_argument, "a"); + if (output_file == NULL) + fatal("cannot open output file `%s'", output_argument); + } + else + output_file = stdout; +} + +#ifdef PPL_LPSOL_SUPPORTS_TIMINGS + +/* To save the time when start_clock is called. */ +static struct timeval saved_ru_utime; + +static void +start_clock() { + struct rusage rsg; + if (getrusage(RUSAGE_SELF, &rsg) != 0) + fatal("getrusage failed: %s", strerror(errno)); + else + saved_ru_utime = rsg.ru_utime; +} + +static void +print_clock(FILE* f) { + struct rusage rsg; + if (getrusage(RUSAGE_SELF, &rsg) != 0) + fatal("getrusage failed: %s", strerror(errno)); + else { + time_t current_secs = rsg.ru_utime.tv_sec; + time_t current_usecs = rsg.ru_utime.tv_usec; + time_t saved_secs = saved_ru_utime.tv_sec; + time_t saved_usecs = saved_ru_utime.tv_usec; + int secs; + int hsecs; + if (current_usecs < saved_usecs) { + hsecs = (((1000000 + current_usecs) - saved_usecs) + 5000) / 10000; + secs = (current_secs - saved_secs) -1; + } + else { + hsecs = ((current_usecs - saved_usecs) + 5000) / 10000; + secs = current_secs - saved_secs; + } + assert(hsecs >= 0 && hsecs < 100 && secs >= 0); + fprintf(f, "%d.%.2d", secs, hsecs); + } +} + +#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */ + +#ifdef PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME + +void +set_alarm_on_cpu_time(unsigned seconds, void (*handler)(int)) { + sigset_t mask; + struct sigaction s; + struct rlimit t; + + sigemptyset(&mask); + + s.sa_handler = handler; + s.sa_mask = mask; +#if defined(SA_ONESHOT) + s.sa_flags = SA_ONESHOT; +#elif defined(SA_RESETHAND) + s.sa_flags = SA_RESETHAND; +#else +# error "Either SA_ONESHOT or SA_RESETHAND must be defined." +#endif + + if (sigaction(SIGXCPU, &s, 0) != 0) + fatal("sigaction failed: %s", strerror(errno)); + + if (getrlimit(RLIMIT_CPU, &t) != 0) + fatal("getrlimit failed: %s", strerror(errno)); + + if (seconds < t.rlim_cur) { + t.rlim_cur = seconds; + if (setrlimit(RLIMIT_CPU, &t) != 0) + fatal("setrlimit failed: %s", strerror(errno)); + } +} + +#endif /* defined(PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME) */ + +#if PPL_HAVE_DECL_RLIMIT_AS + +void +limit_virtual_memory(unsigned long bytes) { + struct rlimit t; + + if (getrlimit(RLIMIT_AS, &t) != 0) + fatal("getrlimit failed: %s", strerror(errno)); + + if (bytes < t.rlim_cur) { + t.rlim_cur = bytes; + if (setrlimit(RLIMIT_AS, &t) != 0) + fatal("setrlimit failed: %s", strerror(errno)); + } +} + +#else + +void +limit_virtual_memory(unsigned long bytes ATTRIBUTE_UNUSED) { +} + +#endif /* !PPL_HAVE_DECL_RLIMIT_AS */ + +#ifdef PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME + +static void +my_timeout(int dummy ATTRIBUTE_UNUSED) { + fprintf(stderr, "TIMEOUT\n"); + if (output_argument) + fprintf(output_file, "TIMEOUT\n"); + my_exit(0); +} + +#endif /* defined(PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME) */ + +static mpz_t tmp_z; +static mpq_t tmp1_q; +static mpq_t tmp2_q; +static ppl_Coefficient_t ppl_coeff; +static LPX* glpk_lp; +static int glpk_lp_problem_kind; +static int glpk_lp_num_int; +static ppl_dimension_type* integer_variables; + +static void +maybe_check_results(const int ppl_status, const double ppl_optimum_value) { + const char* ppl_status_string; + const char* glpk_status_string; + int glpk_status; + int treat_as_lp = 0; + if (!check_results) + return; + + /* Disable GLPK output. */ + lpx_set_int_parm(glpk_lp, LPX_K_MSGLEV, 0); + + if (no_mip || glpk_lp_problem_kind == LPX_LP) + treat_as_lp = 1; + + lpx_set_obj_dir(glpk_lp, (maximize ? LPX_MAX : LPX_MIN)); + + if (treat_as_lp) { + /* Set the problem class to LP: MIP problems are thus treated as + LP ones. */ + lpx_set_class(glpk_lp, LPX_LP); + lpx_exact(glpk_lp); + glpk_status = lpx_get_status(glpk_lp); + } + else { + /* MIP case. */ + lpx_intopt(glpk_lp); + glpk_status = lpx_mip_status(glpk_lp); + } + /* If no_optimization is enabled, the second case is not possibile. */ + if (!((ppl_status == PPL_MIP_PROBLEM_STATUS_UNFEASIBLE + && (glpk_status == LPX_NOFEAS || glpk_status == LPX_I_NOFEAS)) + || (ppl_status == PPL_MIP_PROBLEM_STATUS_UNBOUNDED + && (glpk_status == LPX_UNBND || glpk_status == LPX_I_UNDEF)) + || (ppl_status == PPL_MIP_PROBLEM_STATUS_OPTIMIZED + && ((glpk_status == LPX_OPT || glpk_status == LPX_I_OPT) + /* If no_optimization is enabled, check if the problem is + unbounded for GLPK. */ + || (no_optimization && (glpk_status == LPX_UNBND + || glpk_status == LPX_I_UNDEF)))))) { + + if (ppl_status == PPL_MIP_PROBLEM_STATUS_UNFEASIBLE) + ppl_status_string = "unfeasible"; + else if (ppl_status == PPL_MIP_PROBLEM_STATUS_UNBOUNDED) + ppl_status_string = "unbounded"; + else if (ppl_status == PPL_MIP_PROBLEM_STATUS_OPTIMIZED) + ppl_status_string = "optimizable"; + else + ppl_status_string = "<?>"; + + switch (glpk_status) { + case LPX_NOFEAS: + glpk_status_string = "unfeasible"; + break; + case LPX_UNBND: + glpk_status_string = "unbounded"; + break; + case LPX_OPT: + glpk_status_string = "optimizable"; + break; + case LPX_I_NOFEAS: + glpk_status_string = "unfeasible"; + break; + case LPX_I_OPT: + glpk_status_string = "optimizable"; + break; + case LPX_I_UNDEF: + glpk_status_string = "undefined"; + break; + default: + glpk_status_string = "<?>"; + break; + } + + error("check failed: for GLPK the problem is %s, not %s", + glpk_status_string, ppl_status_string); + + check_results_failed = 1; + } + else if (!no_optimization + && ppl_status == PPL_MIP_PROBLEM_STATUS_OPTIMIZED) { + + double glpk_optimum_value = treat_as_lp ? lpx_get_obj_val(glpk_lp) + : lpx_mip_obj_val(glpk_lp); + + if (fabs(ppl_optimum_value - glpk_optimum_value) > check_threshold) { + error("check failed: for GLPK the problem's optimum is %.20g," + " not %.20g", glpk_optimum_value, ppl_optimum_value); + check_results_failed = 1; + } + } + return; +} + + +static const char* +variable_output_function(ppl_dimension_type var) { + const char* name = lpx_get_col_name(glpk_lp, var+1); + if (name != NULL) + return name; + else + return 0; +} + +static void +add_constraints(ppl_Linear_Expression_t ppl_le, + int type, mpq_t rational_lb, mpq_t rational_ub, mpz_t den_lcm, + ppl_Constraint_System_t ppl_cs) { + ppl_Constraint_t ppl_c; + ppl_Linear_Expression_t ppl_le2; + switch (type) { + case LPX_FR: + break; + + case LPX_LO: + mpz_mul(tmp_z, den_lcm, mpq_numref(rational_lb)); + mpz_divexact(tmp_z, tmp_z, mpq_denref(rational_lb)); + mpz_neg(tmp_z, tmp_z); + ppl_assign_Coefficient_from_mpz_t(ppl_coeff, tmp_z); + ppl_Linear_Expression_add_to_inhomogeneous(ppl_le, ppl_coeff); + ppl_new_Constraint(&ppl_c, ppl_le, PPL_CONSTRAINT_TYPE_GREATER_OR_EQUAL); + if (verbosity >= 4) { + ppl_io_fprint_Constraint(output_file, ppl_c); + fprintf(output_file, "\n"); + } + ppl_Constraint_System_insert_Constraint(ppl_cs, ppl_c); + ppl_delete_Constraint(ppl_c); + break; + + case LPX_UP: + mpz_mul(tmp_z, den_lcm, mpq_numref(rational_ub)); + mpz_divexact(tmp_z, tmp_z, mpq_denref(rational_ub)); + mpz_neg(tmp_z, tmp_z); + ppl_assign_Coefficient_from_mpz_t(ppl_coeff, tmp_z); + ppl_Linear_Expression_add_to_inhomogeneous(ppl_le, ppl_coeff); + ppl_new_Constraint(&ppl_c, ppl_le, + PPL_CONSTRAINT_TYPE_LESS_OR_EQUAL); + if (verbosity >= 4) { + ppl_io_fprint_Constraint(output_file, ppl_c); + fprintf(output_file, "\n"); + } + ppl_Constraint_System_insert_Constraint(ppl_cs, ppl_c); + ppl_delete_Constraint(ppl_c); + break; + + case LPX_DB: + ppl_new_Linear_Expression_from_Linear_Expression(&ppl_le2, ppl_le); + + mpz_mul(tmp_z, den_lcm, mpq_numref(rational_lb)); + mpz_divexact(tmp_z, tmp_z, mpq_denref(rational_lb)); + mpz_neg(tmp_z, tmp_z); + ppl_assign_Coefficient_from_mpz_t(ppl_coeff, tmp_z); + ppl_Linear_Expression_add_to_inhomogeneous(ppl_le, ppl_coeff); + ppl_new_Constraint(&ppl_c, ppl_le, PPL_CONSTRAINT_TYPE_GREATER_OR_EQUAL); + if (verbosity >= 4) { + ppl_io_fprint_Constraint(output_file, ppl_c); + fprintf(output_file, "\n"); + } + ppl_Constraint_System_insert_Constraint(ppl_cs, ppl_c); + ppl_delete_Constraint(ppl_c); + + mpz_mul(tmp_z, den_lcm, mpq_numref(rational_ub)); + mpz_divexact(tmp_z, tmp_z, mpq_denref(rational_ub)); + mpz_neg(tmp_z, tmp_z); + ppl_assign_Coefficient_from_mpz_t(ppl_coeff, tmp_z); + ppl_Linear_Expression_add_to_inhomogeneous(ppl_le2, ppl_coeff); + ppl_new_Constraint(&ppl_c, ppl_le2, PPL_CONSTRAINT_TYPE_LESS_OR_EQUAL); + ppl_delete_Linear_Expression(ppl_le2); + if (verbosity >= 4) { + ppl_io_fprint_Constraint(output_file, ppl_c); + fprintf(output_file, "\n"); + } + ppl_Constraint_System_insert_Constraint(ppl_cs, ppl_c); + ppl_delete_Constraint(ppl_c); + break; + + case LPX_FX: + mpz_mul(tmp_z, den_lcm, mpq_numref(rational_lb)); + mpz_divexact(tmp_z, tmp_z, mpq_denref(rational_lb)); + mpz_neg(tmp_z, tmp_z); + ppl_assign_Coefficient_from_mpz_t(ppl_coeff, tmp_z); + ppl_Linear_Expression_add_to_inhomogeneous(ppl_le, ppl_coeff); + ppl_new_Constraint(&ppl_c, ppl_le, + PPL_CONSTRAINT_TYPE_EQUAL); + if (verbosity >= 4) { + ppl_io_fprint_Constraint(output_file, ppl_c); + fprintf(output_file, "\n"); + } + ppl_Constraint_System_insert_Constraint(ppl_cs, ppl_c); + ppl_delete_Constraint(ppl_c); + break; + + default: + fatal("internal error"); + break; + } +} + +static int +solve_with_generators(ppl_Constraint_System_t ppl_cs, + ppl_const_Linear_Expression_t ppl_objective_le, + ppl_Coefficient_t optimum_n, + ppl_Coefficient_t optimum_d, + ppl_Generator_t point) { + ppl_Polyhedron_t ppl_ph; + int optimum_found = 0; + int empty; + int unbounded; + int included; + + /* Create the polyhedron (recycling the data structures of ppl_cs). */ + ppl_new_C_Polyhedron_recycle_Constraint_System(&ppl_ph, ppl_cs); + +#ifdef PPL_LPSOL_SUPPORTS_TIMINGS + + if (print_timings) { + fprintf(stderr, "Time to create a PPL polyhedron: "); + print_clock(stderr); + fprintf(stderr, " s\n"); + start_clock(); + } + +#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */ + + empty = ppl_Polyhedron_is_empty(ppl_ph); + +#ifdef PPL_LPSOL_SUPPORTS_TIMINGS + + if (print_timings) { + fprintf(stderr, "Time to check for emptiness: "); + print_clock(stderr); + fprintf(stderr, " s\n"); + start_clock(); + } + +#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */ + + if (empty) { + if (verbosity >= 1) + fprintf(output_file, "Unfeasible problem.\n"); + maybe_check_results(PPL_MIP_PROBLEM_STATUS_UNFEASIBLE, 0.0); + goto exit; + } + + if (!empty && no_optimization) { + if (verbosity >= 1) + fprintf(output_file, "Feasible problem.\n"); + /* Kludge: let's pass PPL_MIP_PROBLEM_STATUS_OPTIMIZED, + to let work `maybe_check_results'. */ + maybe_check_results(PPL_MIP_PROBLEM_STATUS_OPTIMIZED, 0.0); + goto exit; + } + + /* Check whether the problem is unbounded. */ + unbounded = maximize + ? !ppl_Polyhedron_bounds_from_above(ppl_ph, ppl_objective_le) + : !ppl_Polyhedron_bounds_from_below(ppl_ph, ppl_objective_le); + +#ifdef PPL_LPSOL_SUPPORTS_TIMINGS + + if (print_timings) { + fprintf(stderr, "Time to check for unboundedness: "); + print_clock(stderr); + fprintf(stderr, " s\n"); + start_clock(); + } + +#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */ + + if (unbounded) { + if (verbosity >= 1) + fprintf(output_file, "Unbounded problem.\n"); + maybe_check_results(PPL_MIP_PROBLEM_STATUS_UNBOUNDED, 0.0); + goto exit; + } + + optimum_found = maximize + ? ppl_Polyhedron_maximize_with_point(ppl_ph, ppl_objective_le, + optimum_n, optimum_d, &included, + point) + : ppl_Polyhedron_minimize_with_point(ppl_ph, ppl_objective_le, + optimum_n, optimum_d, &included, + point); + +#ifdef PPL_LPSOL_SUPPORTS_TIMINGS + + if (print_timings) { + fprintf(stderr, "Time to find the optimum: "); + print_clock(stderr); + fprintf(stderr, " s\n"); + start_clock(); + } + +#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */ + + if (!optimum_found) + fatal("internal error"); + + if (!included) + fatal("internal error"); + + exit: + ppl_delete_Polyhedron(ppl_ph); + return optimum_found; +} + +static int +solve_with_simplex(ppl_const_Constraint_System_t cs, + ppl_const_Linear_Expression_t objective, + ppl_Coefficient_t optimum_n, + ppl_Coefficient_t optimum_d, + ppl_Generator_t point) { + ppl_MIP_Problem_t ppl_mip; + int optimum_found = 0; + int pricing = 0; + int status = 0; + int satisfiable = 0; + ppl_dimension_type space_dim; + ppl_const_Constraint_t c; + ppl_const_Generator_t g; + ppl_Constraint_System_const_iterator_t i; + ppl_Constraint_System_const_iterator_t iend; + int counter; + int mode = maximize + ? PPL_OPTIMIZATION_MODE_MAXIMIZATION + : PPL_OPTIMIZATION_MODE_MINIMIZATION; + + ppl_Constraint_System_space_dimension(cs, &space_dim); + ppl_new_MIP_Problem_from_space_dimension(&ppl_mip, space_dim); + switch (pricing_method) { + case 0: + pricing = PPL_MIP_PROBLEM_CONTROL_PARAMETER_PRICING_STEEPEST_EDGE_FLOAT; + break; + case 1: + pricing = PPL_MIP_PROBLEM_CONTROL_PARAMETER_PRICING_STEEPEST_EDGE_EXACT; + break; + case 2: + pricing = PPL_MIP_PROBLEM_CONTROL_PARAMETER_PRICING_TEXTBOOK; + break; + default: + fatal("ppl_lpsol internal error"); + } + ppl_MIP_Problem_set_control_parameter(ppl_mip, pricing); + ppl_MIP_Problem_set_objective_function(ppl_mip, objective); + ppl_MIP_Problem_set_optimization_mode(ppl_mip, mode); + if (!no_mip) + ppl_MIP_Problem_add_to_integer_space_dimensions(ppl_mip, integer_variables, + glpk_lp_num_int); + if (incremental) { + /* Add the constraints of `cs' one at a time. */ + ppl_new_Constraint_System_const_iterator(&i); + ppl_new_Constraint_System_const_iterator(&iend); + ppl_Constraint_System_begin(cs, i); + ppl_Constraint_System_end(cs, iend); + + counter = 0; + while (!ppl_Constraint_System_const_iterator_equal_test(i, iend)) { + ++counter; + if (verbosity >= 4) + fprintf(output_file, "\nSolving constraint %d\n", counter); + ppl_Constraint_System_const_iterator_dereference(i, &c); + ppl_MIP_Problem_add_constraint(ppl_mip, c); + + if (no_optimization) { + satisfiable = ppl_MIP_Problem_is_satisfiable(ppl_mip); + if (!satisfiable) + break; + } + else + status = ppl_MIP_Problem_solve(ppl_mip); + ppl_Constraint_System_const_iterator_increment(i); + } + ppl_delete_Constraint_System_const_iterator(i); + ppl_delete_Constraint_System_const_iterator(iend); + } + + else { + ppl_MIP_Problem_add_constraints(ppl_mip, cs); + if (no_optimization) + satisfiable = ppl_MIP_Problem_is_satisfiable(ppl_mip); + else + status = ppl_MIP_Problem_solve(ppl_mip); + } + +#ifdef PPL_LPSOL_SUPPORTS_TIMINGS + + if (print_timings) { + fprintf(stderr, "Time to solve the problem: "); + print_clock(stderr); + fprintf(stderr, " s\n"); + start_clock(); + } + +#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */ + + if ((no_optimization && !satisfiable) + || (!no_optimization && status == PPL_MIP_PROBLEM_STATUS_UNFEASIBLE)) { + if (verbosity >= 1) + fprintf(output_file, "Unfeasible problem.\n"); + maybe_check_results(status, 0.0); + goto exit; + } + else if (no_optimization && satisfiable) { + if (verbosity >= 1) + fprintf(output_file, "Feasible problem.\n"); + /* Kludge: let's pass PPL_MIP_PROBLEM_STATUS_OPTIMIZED, + to let work `maybe_check_results'. */ + maybe_check_results(PPL_MIP_PROBLEM_STATUS_OPTIMIZED, 0.0); + goto exit; + } + else if (status == PPL_MIP_PROBLEM_STATUS_UNBOUNDED) { + if (verbosity >= 1) + fprintf(output_file, "Unbounded problem.\n"); + maybe_check_results(status, 0.0); + goto exit; + } + else if (status == PPL_MIP_PROBLEM_STATUS_OPTIMIZED) { + ppl_MIP_Problem_optimal_value(ppl_mip, optimum_n, optimum_d); + ppl_MIP_Problem_optimizing_point(ppl_mip, &g); + ppl_assign_Generator_from_Generator(point, g); + optimum_found = 1; + goto exit; + } + else + fatal("internal error"); + + exit: + ppl_delete_MIP_Problem(ppl_mip); + return optimum_found; +} + +static void +set_mpq_t_from_double(mpq_t q, double d) { + void set_d_eps(mpq_t x, double val); + if (check_results) + set_d_eps(q, d); + else + mpq_set_d(q, d); +} + +static void +solve(char* file_name) { + ppl_Constraint_System_t ppl_cs; +#ifndef NDEBUG + ppl_Constraint_System_t ppl_cs_copy; +#endif + ppl_Generator_t optimum_location; + ppl_Linear_Expression_t ppl_le; + int dimension, row, num_rows, column, nz, i, j, type; + int* coefficient_index; + double lb, ub; + double* coefficient_value; + mpq_t rational_lb, rational_ub; + mpq_t* rational_coefficient; + mpq_t* objective; + ppl_Linear_Expression_t ppl_objective_le; + ppl_Coefficient_t optimum_n; + ppl_Coefficient_t optimum_d; + mpq_t optimum; + mpz_t den_lcm; + int optimum_found; + +#ifdef PPL_LPSOL_SUPPORTS_TIMINGS + + if (print_timings) + start_clock(); + +#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */ + + if (verbosity == 0) { + /* FIXME: find a way to suppress output from lpx_read_mps. */ + } + + glpk_lp = lpx_read_mps(file_name); + + if (glpk_lp == NULL) + fatal("cannot read MPS file `%s'", file_name); + +#ifdef PPL_LPSOL_SUPPORTS_TIMINGS + + if (print_timings) { + fprintf(stderr, "Time to read the input file: "); + print_clock(stderr); + fprintf(stderr, " s\n"); + start_clock(); + } + +#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */ + + glpk_lp_problem_kind = lpx_get_class(glpk_lp); + if (glpk_lp_problem_kind == LPX_MIP && !no_mip && !use_simplex) + fatal("the enumeration solving method can not handle MIP problems"); + + dimension = lpx_get_num_cols(glpk_lp); + + /* Read variables constrained to be integer. */ + if (glpk_lp_problem_kind == LPX_MIP && !no_mip && use_simplex) { + if (verbosity >= 4) + fprintf(output_file, "Integer variables:\n"); + glpk_lp_num_int = lpx_get_num_int(glpk_lp); + integer_variables = (ppl_dimension_type*) + malloc((glpk_lp_num_int + 1)*sizeof(ppl_dimension_type)); + for (i = 0, j = 0; i < dimension; ++i) + if (lpx_get_col_kind(glpk_lp, i+1) == LPX_IV) { + integer_variables[j] = i; + if (verbosity >= 4) { + ppl_io_fprint_variable(output_file, i); + fprintf(output_file, " "); + } + ++j; + } + } + coefficient_index = (int*) malloc((dimension+1)*sizeof(int)); + coefficient_value = (double*) malloc((dimension+1)*sizeof(double)); + rational_coefficient = (mpq_t*) malloc((dimension+1)*sizeof(mpq_t)); + + + ppl_new_Constraint_System(&ppl_cs); + + mpq_init(rational_lb); + mpq_init(rational_ub); + for (i = 1; i <= dimension; ++i) + mpq_init(rational_coefficient[i]); + + mpz_init(den_lcm); + + if (verbosity >= 4) + fprintf(output_file, "\nConstraints:\n"); + + /* Set up the row (ordinary) constraints. */ + num_rows = lpx_get_num_rows(glpk_lp); + for (row = 1; row <= num_rows; ++row) { + /* Initialize the least common multiple computation. */ + mpz_set_si(den_lcm, 1); + /* Set `nz' to the number of non-zero coefficients. */ + nz = lpx_get_mat_row(glpk_lp, row, coefficient_index, coefficient_value); + for (i = 1; i <= nz; ++i) { + set_mpq_t_from_double(rational_coefficient[i], coefficient_value[i]); + /* Update den_lcm. */ + mpz_lcm(den_lcm, den_lcm, mpq_denref(rational_coefficient[i])); + } + lpx_get_row_bnds(glpk_lp, row, &type, &lb, &ub); + set_mpq_t_from_double(rational_lb, lb); + mpz_lcm(den_lcm, den_lcm, mpq_denref(rational_lb)); + set_mpq_t_from_double(rational_ub, ub); + mpz_lcm(den_lcm, den_lcm, mpq_denref(rational_ub)); + + ppl_new_Linear_Expression_with_dimension(&ppl_le, dimension); + + for (i = 1; i <= nz; ++i) { + mpz_mul(tmp_z, den_lcm, mpq_numref(rational_coefficient[i])); + mpz_divexact(tmp_z, tmp_z, mpq_denref(rational_coefficient[i])); + ppl_assign_Coefficient_from_mpz_t(ppl_coeff, tmp_z); + ppl_Linear_Expression_add_to_coefficient(ppl_le, coefficient_index[i]-1, + ppl_coeff); + } + + add_constraints(ppl_le, type, rational_lb, rational_ub, den_lcm, ppl_cs); + + ppl_delete_Linear_Expression(ppl_le); + } + + free(coefficient_value); + for (i = 1; i <= dimension; ++i) + mpq_clear(rational_coefficient[i]); + free(rational_coefficient); + free(coefficient_index); + +#ifndef NDEBUG + ppl_new_Constraint_System_from_Constraint_System(&ppl_cs_copy, ppl_cs); +#endif + + /* + FIXME: here we could build the polyhedron and minimize it before + adding the variable bounds. + */ + + /* Set up the columns constraints, i.e., variable bounds. */ + for (column = 1; column <= dimension; ++column) { + lpx_get_col_bnds(glpk_lp, column, &type, &lb, &ub); + + set_mpq_t_from_double(rational_lb, lb); + set_mpq_t_from_double(rational_ub, ub); + + /* Initialize the least common multiple computation. */ + mpz_set_si(den_lcm, 1); + mpz_lcm(den_lcm, den_lcm, mpq_denref(rational_lb)); + mpz_lcm(den_lcm, den_lcm, mpq_denref(rational_ub)); + + ppl_new_Linear_Expression_with_dimension(&ppl_le, dimension); + ppl_assign_Coefficient_from_mpz_t(ppl_coeff, den_lcm); + ppl_Linear_Expression_add_to_coefficient(ppl_le, column-1, ppl_coeff); + + add_constraints(ppl_le, type, rational_lb, rational_ub, den_lcm, ppl_cs); + + ppl_delete_Linear_Expression(ppl_le); + } + + mpq_clear(rational_ub); + mpq_clear(rational_lb); + + /* Deal with the objective function. */ + objective = (mpq_t*) malloc((dimension+1)*sizeof(mpq_t)); + + /* Initialize the least common multiple computation. */ + mpz_set_si(den_lcm, 1); + + mpq_init(objective[0]); + set_mpq_t_from_double(objective[0], lpx_get_obj_coef(glpk_lp, 0)); + for (i = 1; i <= dimension; ++i) { + mpq_init(objective[i]); + set_mpq_t_from_double(objective[i], lpx_get_obj_coef(glpk_lp, i)); + /* Update den_lcm. */ + mpz_lcm(den_lcm, den_lcm, mpq_denref(objective[i])); + } + + /* Set the ppl_objective_le to be the objective function. */ + ppl_new_Linear_Expression_with_dimension(&ppl_objective_le, dimension); + /* Set value for objective function's inhomogeneous term. */ + mpz_mul(tmp_z, den_lcm, mpq_numref(objective[0])); + mpz_divexact(tmp_z, tmp_z, mpq_denref(objective[0])); + ppl_assign_Coefficient_from_mpz_t(ppl_coeff, tmp_z); + ppl_Linear_Expression_add_to_inhomogeneous(ppl_objective_le, ppl_coeff); + /* Set values for objective function's variable coefficients. */ + for (i = 1; i <= dimension; ++i) { + mpz_mul(tmp_z, den_lcm, mpq_numref(objective[i])); + mpz_divexact(tmp_z, tmp_z, mpq_denref(objective[i])); + ppl_assign_Coefficient_from_mpz_t(ppl_coeff, tmp_z); + ppl_Linear_Expression_add_to_coefficient(ppl_objective_le, i-1, ppl_coeff); + } + + if (verbosity >= 4) { + fprintf(output_file, "Objective function:\n"); + if (mpz_cmp_si(den_lcm, 1) != 0) + fprintf(output_file, "("); + ppl_io_fprint_Linear_Expression(output_file, ppl_objective_le); + } + + for (i = 0; i <= dimension; ++i) + mpq_clear(objective[i]); + free(objective); + + if (verbosity >= 4) { + if (mpz_cmp_si(den_lcm, 1) != 0) { + fprintf(output_file, ")/"); + mpz_out_str(output_file, 10, den_lcm); + } + fprintf(output_file, "\n%s\n", + (maximize ? "Maximizing." : "Minimizing.")); + } + + ppl_new_Coefficient(&optimum_n); + ppl_new_Coefficient(&optimum_d); + ppl_new_Generator_zero_dim_point(&optimum_location); + + optimum_found = use_simplex + ? solve_with_simplex(ppl_cs, + ppl_objective_le, + optimum_n, + optimum_d, + optimum_location) + : solve_with_generators(ppl_cs, + ppl_objective_le, + optimum_n, + optimum_d, + optimum_location); + + ppl_delete_Linear_Expression(ppl_objective_le); + + if (glpk_lp_problem_kind == LPX_MIP) + free(integer_variables); + + if (optimum_found) { + mpq_init(optimum); + ppl_Coefficient_to_mpz_t(optimum_n, tmp_z); + mpq_set_num(optimum, tmp_z); + ppl_Coefficient_to_mpz_t(optimum_d, tmp_z); + mpz_mul(tmp_z, tmp_z, den_lcm); + mpq_set_den(optimum, tmp_z); + if (verbosity == 1) + fprintf(output_file, "Optimized problem.\n"); + if (verbosity >= 2) + fprintf(output_file, "Optimum value: %.10g\n", mpq_get_d(optimum)); + if (verbosity >= 3) { + fprintf(output_file, "Optimum location:\n"); + ppl_Generator_divisor(optimum_location, ppl_coeff); + ppl_Coefficient_to_mpz_t(ppl_coeff, tmp_z); + for (i = 0; i < dimension; ++i) { + mpz_set(mpq_denref(tmp1_q), tmp_z); + ppl_Generator_coefficient(optimum_location, i, ppl_coeff); + ppl_Coefficient_to_mpz_t(ppl_coeff, mpq_numref(tmp1_q)); + ppl_io_fprint_variable(output_file, i); + fprintf(output_file, " = %.10g\n", mpq_get_d(tmp1_q)); + } + } +#ifndef NDEBUG + { + ppl_Polyhedron_t ph; + unsigned int relation; + ppl_new_C_Polyhedron_recycle_Constraint_System(&ph, ppl_cs_copy); + ppl_delete_Constraint_System(ppl_cs_copy); + relation = ppl_Polyhedron_relation_with_Generator(ph, optimum_location); + ppl_delete_Polyhedron(ph); + assert(relation == PPL_POLY_GEN_RELATION_SUBSUMES); + } +#endif + maybe_check_results(PPL_MIP_PROBLEM_STATUS_OPTIMIZED, + mpq_get_d(optimum)); + mpq_clear(optimum); + } + + ppl_delete_Constraint_System(ppl_cs); + ppl_delete_Coefficient(optimum_d); + ppl_delete_Coefficient(optimum_n); + ppl_delete_Generator(optimum_location); + + lpx_delete_prob(glpk_lp); +} + +static void +error_handler(enum ppl_enum_error_code code, + const char* description) { + if (output_argument) + fprintf(output_file, "PPL error code %d: %s\n", code, description); + fatal("PPL error code %d: %s", code, description); +} + +#if !PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK +void +ppl_set_GMP_memory_allocation_functions(void) { +} +#endif + +#if defined(NDEBUG) + +#if !(defined(PPL_GLPK_HAS_GLP_TERM_OUT) && defined(GLP_OFF)) + +#if defined(PPL_GLPK_HAS_GLP_TERM_HOOK) \ + || defined(PPL_GLPK_HAS__GLP_LIB_PRINT_HOOK) + +static int +glpk_message_interceptor(void* info, const char* msg) { + (void) info; + (void) msg; + return 1; +} + +#elif defined(PPL_GLPK_HAS_LIB_SET_PRINT_HOOK) + +static int +glpk_message_interceptor(void* info, char* msg) { + (void) info; + (void) msg; + return 1; +} + +#endif /* !(defined(PPL_GLPK_HAS_GLP_TERM_HOOK) + || defined(PPL_GLPK_HAS__GLP_LIB_PRINT_HOOK)) + && defined(PPL_GLPK_HAS_LIB_SET_PRINT_HOOK) */ + +#endif /* !(defined(PPL_GLPK_HAS_GLP_TERM_OUT) && defined(GLP_OFF)) */ + +#endif /* defined(NDEBUG) */ + +int +main(int argc, char* argv[]) { +#if defined(PPL_GLPK_HAS__GLP_LIB_PRINT_HOOK) + extern void _glp_lib_print_hook(int (*func)(void *info, const char *buf), + void *info); +#endif + program_name = argv[0]; + if (ppl_initialize() < 0) + fatal("cannot initialize the Parma Polyhedra Library"); + + /* The PPL solver does not use floating point numbers, except + perhaps for the steepest edge heuristics. In contrast, GLPK does + use them, so it is best to restore the rounding mode as it was + prior to the PPL initialization. */ + if (ppl_restore_pre_PPL_rounding() < 0) + fatal("cannot restore the rounding mode"); + + if (ppl_set_error_handler(error_handler) < 0) + fatal("cannot install the custom error handler"); + + if (strcmp(ppl_source_version, get_ppl_version()) != 0) + fatal("was compiled with PPL version %s, but linked with version %s", + ppl_source_version, get_ppl_version()); + + if (ppl_io_set_variable_output_function(variable_output_function) < 0) + fatal("cannot install the custom variable output function"); + +#if defined(NDEBUG) +#if defined(PPL_GLPK_HAS_GLP_TERM_OUT) && defined(GLP_OFF) + glp_term_out(GLP_OFF); +#elif defined(PPL_GLPK_HAS_GLP_TERM_HOOK) + glp_term_hook(glpk_message_interceptor, 0); +#elif defined(PPL_GLPK_HAS__GLP_LIB_PRINT_HOOK) + _glp_lib_print_hook(glpk_message_interceptor, 0); +#elif defined(PPL_GLPK_HAS_LIB_SET_PRINT_HOOK) + lib_set_print_hook(0, glpk_message_interceptor); +#endif +#endif + + /* Process command line options. */ + process_options(argc, argv); + + /* Initialize globals. */ + mpz_init(tmp_z); + mpq_init(tmp1_q); + mpq_init(tmp2_q); + ppl_new_Coefficient(&ppl_coeff); + +#ifdef PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME + + if (max_seconds_of_cpu_time > 0) + set_alarm_on_cpu_time(max_seconds_of_cpu_time, my_timeout); + +#endif /* defined (PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME) */ + + if (max_bytes_of_virtual_memory > 0) + limit_virtual_memory(max_bytes_of_virtual_memory); + + while (optind < argc) { + if (check_results) + check_results_failed = 0; + + solve(argv[optind++]); + + if (check_results && check_results_failed) + break; + } + + /* Finalize globals. */ + ppl_delete_Coefficient(ppl_coeff); + mpq_clear(tmp2_q); + mpq_clear(tmp1_q); + mpz_clear(tmp_z); + + /* Close output file, if any. */ + if (output_argument) + fclose(output_file); + + my_exit((check_results && check_results_failed) ? 1 : 0); + + /* This is just to avoid a compiler warning. */ + return 0; +} diff --git a/demos/ppl_pips/Makefile.am b/demos/ppl_pips/Makefile.am new file mode 100644 index 000000000..57be02096 --- /dev/null +++ b/demos/ppl_pips/Makefile.am @@ -0,0 +1,126 @@ +# Automake source file for the Parma Polyhedra Library. +# Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> +# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) +# +# This file is part of the Parma Polyhedra Library (PPL). +# +# The PPL 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 3 of the License, or (at your +# option) any later version. +# +# The PPL 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 02111-1307, USA. +# +# For the most up-to-date information see the Parma Polyhedra Library +# site: http://www.cs.unipr.it/ppl/ . + +SUBDIRS = examples + +if VALGRIND_TESTS_ENABLED + +CHECKER = \ +$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \ +--num-callers=40 --leak-resolution=high \ +--suppressions=$(top_srcdir)/tests/valgrind_suppressions + +else !VALGRIND_TESTS_ENABLED + +CHECKER = + +endif !VALGRIND_TESTS_ENABLED + +AM_CPPFLAGS = \ +-I$(top_builddir) \ +-I$(top_builddir)/src \ +-I$(top_srcdir)/utils \ +@extra_includes@ + +bin_PROGRAMS = ppl_pips +ppl_pips_SOURCES = ppl_pips.cc +ppl_pips_LDADD = \ +$(top_builddir)/src/libppl.la \ +$(top_builddir)/utils/libppl_utils.a \ +@extra_libraries@ + +dist_man_MANS = \ +ppl_pips.1 + +piplib_pips.o: $(srcdir)/ppl_pips.cc $(top_builddir)/utils/libppl_utils.a + $(CXXCOMPILE) -c -o $@ -DUSE_PIPLIB $(srcdir)/ppl_pips.cc + +piplib_pips: piplib_pips.o + $(CXXLINK) $< -lpip -lgmpxx -lgmp $(top_builddir)/utils/libppl_utils.a + +EXTRA_DIST = \ +expected_mpz \ +expected_mpz_a \ +expected_int8 \ +expected_int8_a \ +expected_int16 \ +expected_int16_a \ +expected_int32 \ +expected_int32_a \ +expected_int64 \ +expected_int64_a + +if HAVE_MD5SUM + +COEFFICIENT_MNEMONIC = @coefficient_mnemonic@ + +if ASSERTIONS_ENABLED + +TOUGH_EXAMPLES_IF_ASSERTIONS_ENABLED = + +EXPECTED = expected_$(COEFFICIENT_MNEMONIC)_a + +else !ASSERTIONS_ENABLED + +EXPECTED = expected_$(COEFFICIENT_MNEMONIC) + +endif !ASSERTIONS_ENABLED + +TOUGH_EXAMPLES = \ +$(TOUGH_EXAMPLES_IF_ASSERTIONS_ENABLED) + +check-local: ppl_pips$(EXEEXT) + echo $(TOUGH_EXAMPLES) >tough_examples + echo $(ECHO_N) "$(ECHO_C)" >obtained + export LC_ALL=C; \ + for path in $(srcdir)/examples/*.dat; \ + do \ + file=`basename $$path`; \ + $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \ + echo $(ECHO_N) $$file " $(ECHO_C)" >>obtained; \ + echo ppl_pips$(EXEEXT) -p $$path; \ + $(CHECKER) ./ppl_pips$(EXEEXT) -p $$path \ + | tr -d '\015' | $(TEXT_MD5SUM) >>obtained; \ + done + for path in $(srcdir)/examples/*.pip; \ + do \ + file=`basename $$path`; \ + $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \ + echo $(ECHO_N) $$file " $(ECHO_C)" >>obtained; \ + echo ppl_pips$(EXEEXT) -P $$path; \ + $(CHECKER) ./ppl_pips$(EXEEXT) -P $$path \ + | tr -d '\015' | $(TEXT_MD5SUM) >>obtained; \ + done + diff obtained $(srcdir)/$(EXPECTED) + +MOSTLYCLEANFILES = \ +tough_examples \ +obtained + +endif HAVE_MD5SUM + +$(top_builddir)/utils/libppl_utils.a: + $(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/utils libppl_utils.a + +$(top_builddir)/src/libppl.la: + $(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la diff --git a/demos/ppl_pips/Makefile.in b/demos/ppl_pips/Makefile.in new file mode 100644 index 000000000..d3f9459ca --- /dev/null +++ b/demos/ppl_pips/Makefile.in @@ -0,0 +1,973 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ + +# Automake source file for the Parma Polyhedra Library. +# Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> +# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) +# +# This file is part of the Parma Polyhedra Library (PPL). +# +# The PPL 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 3 of the License, or (at your +# option) any later version. +# +# The PPL 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 02111-1307, USA. +# +# For the most up-to-date information see the Parma Polyhedra Library +# site: http://www.cs.unipr.it/ppl/ . + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@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 = ppl_pips$(EXEEXT) +subdir = demos/ppl_pips +DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \ + $(top_srcdir)/m4/ac_check_fpu_control.m4 \ + $(top_srcdir)/m4/ac_check_gmp.m4 \ + $(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \ + $(top_srcdir)/m4/ac_check_swi_prolog.m4 \ + $(top_srcdir)/m4/ac_check_xsb_prolog.m4 \ + $(top_srcdir)/m4/ac_check_yap.m4 \ + $(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \ + $(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \ + $(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \ + $(top_srcdir)/m4/ac_cxx_limit_memory.m4 \ + $(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \ + $(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \ + $(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \ + $(top_srcdir)/m4/ac_prog_jar.m4 \ + $(top_srcdir)/m4/ac_prog_java.m4 \ + $(top_srcdir)/m4/ac_prog_javac.m4 \ + $(top_srcdir)/m4/ac_prog_javah.m4 \ + $(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \ + $(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" +PROGRAMS = $(bin_PROGRAMS) +am_ppl_pips_OBJECTS = ppl_pips.$(OBJEXT) +ppl_pips_OBJECTS = $(am_ppl_pips_OBJECTS) +ppl_pips_DEPENDENCIES = $(top_builddir)/src/libppl.la \ + $(top_builddir)/utils/libppl_utils.a +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +SOURCES = $(ppl_pips_SOURCES) +DIST_SOURCES = $(ppl_pips_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 +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 = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +man1dir = $(mandir)/man1 +NROFF = nroff +MANS = $(dist_man_MANS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ + distdir +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CIAO_PROLOG = @CIAO_PROLOG@ +CIAO_PROLOG_INCLUDE_OPTIONS = @CIAO_PROLOG_INCLUDE_OPTIONS@ +CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +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@ +GNU_PROLOG = @GNU_PROLOG@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +ISODATE = @ISODATE@ +JAR = @JAR@ +JAVA = @JAVA@ +JAVAC = @JAVAC@ +JAVAH = @JAVAH@ +JNIFLAGS = @JNIFLAGS@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBEXT = @LIBEXT@ +LIBGMP = @LIBGMP@ +LIBGMPXX = @LIBGMPXX@ +LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@ +LIBGMP_PREFIX = @LIBGMP_PREFIX@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBGMP = @LTLIBGMP@ +LTLIBGMPXX = @LTLIBGMPXX@ +LTLIBOBJS = @LTLIBOBJS@ +M4 = @M4@ +M4_DEBUGFILE = @M4_DEBUGFILE@ +MAKEINFO = @MAKEINFO@ +MD5SUM = @MD5SUM@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OCAMLBEST = @OCAMLBEST@ +OCAMLBUILD = @OCAMLBUILD@ +OCAMLC = @OCAMLC@ +OCAMLCDOTOPT = @OCAMLCDOTOPT@ +OCAMLDEP = @OCAMLDEP@ +OCAMLDOC = @OCAMLDOC@ +OCAMLLIB = @OCAMLLIB@ +OCAMLMKLIB = @OCAMLMKLIB@ +OCAMLMKTOP = @OCAMLMKTOP@ +OCAMLOPT = @OCAMLOPT@ +OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@ +OCAMLVERSION = @OCAMLVERSION@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PPL_VERSION_BETA = @PPL_VERSION_BETA@ +PPL_VERSION_MAJOR = @PPL_VERSION_MAJOR@ +PPL_VERSION_MINOR = @PPL_VERSION_MINOR@ +PPL_VERSION_REVISION = @PPL_VERSION_REVISION@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SHREXT = @SHREXT@ +SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@ +STRIP = @STRIP@ +SWI_PROLOG = @SWI_PROLOG@ +SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@ +SWI_PROLOG_LD = @SWI_PROLOG_LD@ +SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@ +TEXT_MD5SUM = @TEXT_MD5SUM@ +VALGRIND = @VALGRIND@ +VERSION = @VERSION@ +XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@ +YAP_PROLOG = @YAP_PROLOG@ +YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@ +YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@ +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_CXX = @ac_ct_CXX@ +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@ +ciao_prolog = @ciao_prolog@ +coefficient_mnemonic = @coefficient_mnemonic@ +datadir = @datadir@ +datarootdir = @datarootdir@ +debug_flag = @debug_flag@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extra_includes = @extra_includes@ +extra_libraries = @extra_libraries@ +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@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +mlgmp_dir = @mlgmp_dir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +required_instantiations = @required_instantiations@ +required_instantiations_c_cxx_headers = @required_instantiations_c_cxx_headers@ +required_instantiations_c_cxx_objects = @required_instantiations_c_cxx_objects@ +required_instantiations_c_cxx_sources = @required_instantiations_c_cxx_sources@ +required_instantiations_canonical_names = @required_instantiations_canonical_names@ +required_instantiations_java_classes = @required_instantiations_java_classes@ +required_instantiations_java_cxx_headers = @required_instantiations_java_cxx_headers@ +required_instantiations_java_cxx_headers_sources = @required_instantiations_java_cxx_headers_sources@ +required_instantiations_java_cxx_objects = @required_instantiations_java_cxx_objects@ +required_instantiations_java_cxx_sources = @required_instantiations_java_cxx_sources@ +required_instantiations_java_sources = @required_instantiations_java_sources@ +required_instantiations_ocaml_cxx_headers = @required_instantiations_ocaml_cxx_headers@ +required_instantiations_ocaml_cxx_objects = @required_instantiations_ocaml_cxx_objects@ +required_instantiations_ocaml_cxx_sources = @required_instantiations_ocaml_cxx_sources@ +required_instantiations_prolog_cxx_headers = @required_instantiations_prolog_cxx_headers@ +required_instantiations_prolog_cxx_objects = @required_instantiations_prolog_cxx_objects@ +required_instantiations_prolog_cxx_sources = @required_instantiations_prolog_cxx_sources@ +required_instantiations_prolog_generated_test_sources = @required_instantiations_prolog_generated_test_sources@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sicstus_prolog = @sicstus_prolog@ +srcdir = @srcdir@ +subdirs = @subdirs@ +swi_prolog = @swi_prolog@ +swi_prolog_ld = @swi_prolog_ld@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +uudecode = @uudecode@ +xsb_prolog = @xsb_prolog@ +yap_prolog = @yap_prolog@ +SUBDIRS = examples +@VALGRIND_TESTS_ENABLED_FALSE@CHECKER = +@VALGRIND_TESTS_ENABLED_TRUE@CHECKER = \ +@VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \ +@VALGRIND_TESTS_ENABLED_TRUE@--num-callers=40 --leak-resolution=high \ +@VALGRIND_TESTS_ENABLED_TRUE@--suppressions=$(top_srcdir)/tests/valgrind_suppressions + +AM_CPPFLAGS = \ +-I$(top_builddir) \ +-I$(top_builddir)/src \ +-I$(top_srcdir)/utils \ +@extra_includes@ + +ppl_pips_SOURCES = ppl_pips.cc +ppl_pips_LDADD = \ +$(top_builddir)/src/libppl.la \ +$(top_builddir)/utils/libppl_utils.a \ +@extra_libraries@ + +dist_man_MANS = \ +ppl_pips.1 + +EXTRA_DIST = \ +expected_mpz \ +expected_mpz_a \ +expected_int8 \ +expected_int8_a \ +expected_int16 \ +expected_int16_a \ +expected_int32 \ +expected_int32_a \ +expected_int64 \ +expected_int64_a + +@HAVE_MD5SUM_TRUE@COEFFICIENT_MNEMONIC = @coefficient_mnemonic@ +@ASSERTIONS_ENABLED_TRUE@@HAVE_MD5SUM_TRUE@TOUGH_EXAMPLES_IF_ASSERTIONS_ENABLED = +@ASSERTIONS_ENABLED_FALSE@@HAVE_MD5SUM_TRUE@EXPECTED = expected_$(COEFFICIENT_MNEMONIC) +@ASSERTIONS_ENABLED_TRUE@@HAVE_MD5SUM_TRUE@EXPECTED = expected_$(COEFFICIENT_MNEMONIC)_a +@HAVE_MD5SUM_TRUE@TOUGH_EXAMPLES = \ +@HAVE_MD5SUM_TRUE@$(TOUGH_EXAMPLES_IF_ASSERTIONS_ENABLED) + +@HAVE_MD5SUM_TRUE@MOSTLYCLEANFILES = \ +@HAVE_MD5SUM_TRUE@tough_examples \ +@HAVE_MD5SUM_TRUE@obtained + +all: all-recursive + +.SUFFIXES: +.SUFFIXES: .cc .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) --foreign demos/ppl_pips/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign demos/ppl_pips/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 +$(am__aclocal_m4_deps): +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p || test -f $$p1; \ + then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list +ppl_pips$(EXEEXT): $(ppl_pips_OBJECTS) $(ppl_pips_DEPENDENCIES) + @rm -f ppl_pips$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(ppl_pips_OBJECTS) $(ppl_pips_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppl_pips.Po@am__quote@ + +.cc.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cc.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cc.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@am__fastdepCXX_FALSE@ $(AM_V_CXX) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-man1: $(dist_man_MANS) + @$(NORMAL_INSTALL) + test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" + @list=''; test -n "$(man1dir)" || exit 0; \ + { for i in $$list; do echo "$$i"; done; \ + l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ + done; } + +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man1dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + test -z "$$files" || { \ + echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(man1dir)" && rm -f $$files; } + +# 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): + @fail= 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; \ + ($(am__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): + @fail= 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; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__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) + set x; \ + 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 || \ + set "$$@" "$$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; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + 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)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @list='$(MANS)'; if test -n "$$list"; then \ + list=`for p in $$list; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ + if test -n "$$list" && \ + grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ + echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ + grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ + echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ + echo " typically \`make maintainer-clean' will remove them" >&2; \ + exit 1; \ + else :; fi; \ + else :; fi + @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 "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$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; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +@HAVE_MD5SUM_FALSE@check-local: +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-local +check: check-recursive +all-am: Makefile $(PROGRAMS) $(MANS) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +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: + -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: install-man + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: install-binPROGRAMS + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: install-man1 + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-man + +uninstall-man: uninstall-man1 + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) check-am \ + ctags-recursive install-am install-strip tags-recursive + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am check-local clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags ctags-recursive 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-man1 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-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ + uninstall-binPROGRAMS uninstall-man uninstall-man1 + + +piplib_pips.o: $(srcdir)/ppl_pips.cc $(top_builddir)/utils/libppl_utils.a + $(CXXCOMPILE) -c -o $@ -DUSE_PIPLIB $(srcdir)/ppl_pips.cc + +piplib_pips: piplib_pips.o + $(CXXLINK) $< -lpip -lgmpxx -lgmp $(top_builddir)/utils/libppl_utils.a + +@HAVE_MD5SUM_TRUE@check-local: ppl_pips$(EXEEXT) +@HAVE_MD5SUM_TRUE@ echo $(TOUGH_EXAMPLES) >tough_examples +@HAVE_MD5SUM_TRUE@ echo $(ECHO_N) "$(ECHO_C)" >obtained +@HAVE_MD5SUM_TRUE@ export LC_ALL=C; \ +@HAVE_MD5SUM_TRUE@ for path in $(srcdir)/examples/*.dat; \ +@HAVE_MD5SUM_TRUE@ do \ +@HAVE_MD5SUM_TRUE@ file=`basename $$path`; \ +@HAVE_MD5SUM_TRUE@ $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \ +@HAVE_MD5SUM_TRUE@ echo $(ECHO_N) $$file " $(ECHO_C)" >>obtained; \ +@HAVE_MD5SUM_TRUE@ echo ppl_pips$(EXEEXT) -p $$path; \ +@HAVE_MD5SUM_TRUE@ $(CHECKER) ./ppl_pips$(EXEEXT) -p $$path \ +@HAVE_MD5SUM_TRUE@ | tr -d '\015' | $(TEXT_MD5SUM) >>obtained; \ +@HAVE_MD5SUM_TRUE@ done +@HAVE_MD5SUM_TRUE@ for path in $(srcdir)/examples/*.pip; \ +@HAVE_MD5SUM_TRUE@ do \ +@HAVE_MD5SUM_TRUE@ file=`basename $$path`; \ +@HAVE_MD5SUM_TRUE@ $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \ +@HAVE_MD5SUM_TRUE@ echo $(ECHO_N) $$file " $(ECHO_C)" >>obtained; \ +@HAVE_MD5SUM_TRUE@ echo ppl_pips$(EXEEXT) -P $$path; \ +@HAVE_MD5SUM_TRUE@ $(CHECKER) ./ppl_pips$(EXEEXT) -P $$path \ +@HAVE_MD5SUM_TRUE@ | tr -d '\015' | $(TEXT_MD5SUM) >>obtained; \ +@HAVE_MD5SUM_TRUE@ done +@HAVE_MD5SUM_TRUE@ diff obtained $(srcdir)/$(EXPECTED) + +$(top_builddir)/utils/libppl_utils.a: + $(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/utils libppl_utils.a + +$(top_builddir)/src/libppl.la: + $(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la + +# 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/demos/ppl_pips/examples/Makefile.am b/demos/ppl_pips/examples/Makefile.am new file mode 100644 index 000000000..942b1756a --- /dev/null +++ b/demos/ppl_pips/examples/Makefile.am @@ -0,0 +1,48 @@ +# Automake source file for the Parma Polyhedra Library. +# Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> +# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) +# +# This file is part of the Parma Polyhedra Library (PPL). +# +# The PPL 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 3 of the License, or (at your +# option) any later version. +# +# The PPL 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 02111-1307, USA. +# +# For the most up-to-date information see the Parma Polyhedra Library +# site: http://www.cs.unipr.it/ppl/ . + +DAT_FILES = \ +invert.dat \ +linear.dat \ +lineri.dat \ +loz.dat \ +max.dat \ +maxb.dat \ +pairi.dat \ +petit.dat \ +rairoi.dat \ +test02.dat \ +test12i.dat + +PIP_FILES = \ +big.pip \ +brisebarre.pip \ +cg1.pip \ +esced.pip \ +ex2.pip \ +fimmel.pip \ +max.pip \ +sor1d.pip \ +square.pip + +dist_noinst_DATA = $(DAT_FILES) $(PIP_FILES) diff --git a/demos/ppl_pips/examples/Makefile.in b/demos/ppl_pips/examples/Makefile.in new file mode 100644 index 000000000..53af9c7f9 --- /dev/null +++ b/demos/ppl_pips/examples/Makefile.in @@ -0,0 +1,518 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ + +# Automake source file for the Parma Polyhedra Library. +# Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> +# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) +# +# This file is part of the Parma Polyhedra Library (PPL). +# +# The PPL 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 3 of the License, or (at your +# option) any later version. +# +# The PPL 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 02111-1307, USA. +# +# For the most up-to-date information see the Parma Polyhedra Library +# site: http://www.cs.unipr.it/ppl/ . + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@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 = demos/ppl_pips/examples +DIST_COMMON = README $(dist_noinst_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \ + $(top_srcdir)/m4/ac_check_fpu_control.m4 \ + $(top_srcdir)/m4/ac_check_gmp.m4 \ + $(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \ + $(top_srcdir)/m4/ac_check_swi_prolog.m4 \ + $(top_srcdir)/m4/ac_check_xsb_prolog.m4 \ + $(top_srcdir)/m4/ac_check_yap.m4 \ + $(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \ + $(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \ + $(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \ + $(top_srcdir)/m4/ac_cxx_limit_memory.m4 \ + $(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \ + $(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \ + $(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \ + $(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \ + $(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \ + $(top_srcdir)/m4/ac_prog_jar.m4 \ + $(top_srcdir)/m4/ac_prog_java.m4 \ + $(top_srcdir)/m4/ac_prog_javac.m4 \ + $(top_srcdir)/m4/ac_prog_javah.m4 \ + $(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \ + $(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +SOURCES = +DIST_SOURCES = +DATA = $(dist_noinst_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CIAO_PROLOG = @CIAO_PROLOG@ +CIAO_PROLOG_INCLUDE_OPTIONS = @CIAO_PROLOG_INCLUDE_OPTIONS@ +CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +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@ +GNU_PROLOG = @GNU_PROLOG@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +ISODATE = @ISODATE@ +JAR = @JAR@ +JAVA = @JAVA@ +JAVAC = @JAVAC@ +JAVAH = @JAVAH@ +JNIFLAGS = @JNIFLAGS@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBEXT = @LIBEXT@ +LIBGMP = @LIBGMP@ +LIBGMPXX = @LIBGMPXX@ +LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@ +LIBGMP_PREFIX = @LIBGMP_PREFIX@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBGMP = @LTLIBGMP@ +LTLIBGMPXX = @LTLIBGMPXX@ +LTLIBOBJS = @LTLIBOBJS@ +M4 = @M4@ +M4_DEBUGFILE = @M4_DEBUGFILE@ +MAKEINFO = @MAKEINFO@ +MD5SUM = @MD5SUM@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OCAMLBEST = @OCAMLBEST@ +OCAMLBUILD = @OCAMLBUILD@ +OCAMLC = @OCAMLC@ +OCAMLCDOTOPT = @OCAMLCDOTOPT@ +OCAMLDEP = @OCAMLDEP@ +OCAMLDOC = @OCAMLDOC@ +OCAMLLIB = @OCAMLLIB@ +OCAMLMKLIB = @OCAMLMKLIB@ +OCAMLMKTOP = @OCAMLMKTOP@ +OCAMLOPT = @OCAMLOPT@ +OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@ +OCAMLVERSION = @OCAMLVERSION@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PERL = @PERL@ +PPL_VERSION_BETA = @PPL_VERSION_BETA@ +PPL_VERSION_MAJOR = @PPL_VERSION_MAJOR@ +PPL_VERSION_MINOR = @PPL_VERSION_MINOR@ +PPL_VERSION_REVISION = @PPL_VERSION_REVISION@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +SHREXT = @SHREXT@ +SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@ +STRIP = @STRIP@ +SWI_PROLOG = @SWI_PROLOG@ +SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@ +SWI_PROLOG_LD = @SWI_PROLOG_LD@ +SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@ +TEXT_MD5SUM = @TEXT_MD5SUM@ +VALGRIND = @VALGRIND@ +VERSION = @VERSION@ +XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@ +YAP_PROLOG = @YAP_PROLOG@ +YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@ +YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@ +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_CXX = @ac_ct_CXX@ +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@ +ciao_prolog = @ciao_prolog@ +coefficient_mnemonic = @coefficient_mnemonic@ +datadir = @datadir@ +datarootdir = @datarootdir@ +debug_flag = @debug_flag@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +extra_includes = @extra_includes@ +extra_libraries = @extra_libraries@ +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@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +mlgmp_dir = @mlgmp_dir@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +required_instantiations = @required_instantiations@ +required_instantiations_c_cxx_headers = @required_instantiations_c_cxx_headers@ +required_instantiations_c_cxx_objects = @required_instantiations_c_cxx_objects@ +required_instantiations_c_cxx_sources = @required_instantiations_c_cxx_sources@ +required_instantiations_canonical_names = @required_instantiations_canonical_names@ +required_instantiations_java_classes = @required_instantiations_java_classes@ +required_instantiations_java_cxx_headers = @required_instantiations_java_cxx_headers@ +required_instantiations_java_cxx_headers_sources = @required_instantiations_java_cxx_headers_sources@ +required_instantiations_java_cxx_objects = @required_instantiations_java_cxx_objects@ +required_instantiations_java_cxx_sources = @required_instantiations_java_cxx_sources@ +required_instantiations_java_sources = @required_instantiations_java_sources@ +required_instantiations_ocaml_cxx_headers = @required_instantiations_ocaml_cxx_headers@ +required_instantiations_ocaml_cxx_objects = @required_instantiations_ocaml_cxx_objects@ +required_instantiations_ocaml_cxx_sources = @required_instantiations_ocaml_cxx_sources@ +required_instantiations_prolog_cxx_headers = @required_instantiations_prolog_cxx_headers@ +required_instantiations_prolog_cxx_objects = @required_instantiations_prolog_cxx_objects@ +required_instantiations_prolog_cxx_sources = @required_instantiations_prolog_cxx_sources@ +required_instantiations_prolog_generated_test_sources = @required_instantiations_prolog_generated_test_sources@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sicstus_prolog = @sicstus_prolog@ +srcdir = @srcdir@ +subdirs = @subdirs@ +swi_prolog = @swi_prolog@ +swi_prolog_ld = @swi_prolog_ld@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +uudecode = @uudecode@ +xsb_prolog = @xsb_prolog@ +yap_prolog = @yap_prolog@ +DAT_FILES = \ +invert.dat \ +linear.dat \ +lineri.dat \ +loz.dat \ +max.dat \ +maxb.dat \ +pairi.dat \ +petit.dat \ +rairoi.dat \ +test02.dat \ +test12i.dat + +PIP_FILES = \ +big.pip \ +brisebarre.pip \ +cg1.pip \ +esced.pip \ +ex2.pip \ +fimmel.pip \ +max.pip \ +sor1d.pip \ +square.pip + +dist_noinst_DATA = $(DAT_FILES) $(PIP_FILES) +all: all-am + +.SUFFIXES: +$(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) --foreign demos/ppl_pips/examples/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign demos/ppl_pips/examples/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 +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +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 "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$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 $(DATA) +installdirs: +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) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool 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-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-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am + + +# 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/demos/ppl_pips/examples/README b/demos/ppl_pips/examples/README new file mode 100644 index 000000000..6b4681618 --- /dev/null +++ b/demos/ppl_pips/examples/README @@ -0,0 +1,8 @@ +The examples in this directory have been taken from PipLib 1.4.0 [1], +which is released under the GNU Lesser General Public License, version 2.1 +or later [2]. + +-------- + +[1] http://www.piplib.org/ +[2] http://www.gnu.org/licenses/lgpl-2.1.html diff --git a/demos/ppl_pips/examples/big.pip b/demos/ppl_pips/examples/big.pip new file mode 100644 index 000000000..c93c08fcb --- /dev/null +++ b/demos/ppl_pips/examples/big.pip @@ -0,0 +1,9 @@ +0 3 + +1 + +4 5 +1 -1 0 1 0 +1 0 -1 1 0 +1 -1 3 -2 12 +1 2 -1 -1 3 diff --git a/demos/ppl_pips/examples/brisebarre.pip b/demos/ppl_pips/examples/brisebarre.pip new file mode 100644 index 000000000..f5a83979d --- /dev/null +++ b/demos/ppl_pips/examples/brisebarre.pip @@ -0,0 +1,33 @@ +# ---------------------- CONTEXT ---------------------- +0 2 + +-1 + +# ----------------------- DOMAIN ---------------------- +26 6 +1 3 0 0 0 -98300 +1 -3 0 0 0 98308 +1 432 36 6 1 -14757611 +1 -432 -36 -6 -1 14758510 +1 54 9 3 1 -1923190 +1 -54 -9 -3 -1 1923303 +1 48 12 6 3 -1782238 +1 -48 -12 -6 -3 1782339 +1 27 9 6 4 -1045164 +1 -27 -9 -6 -4 1045221 +1 432 180 150 125 -17434139 +1 -432 -180 -150 -125 17435038 +1 6 3 3 3 -252443 +1 -6 -3 -3 -3 252456 +1 432 252 294 343 -18949275 +1 -432 -252 -294 -343 18950174 +1 27 18 24 32 -1234720 +1 -27 -18 -24 -32 1234777 +1 48 36 54 81 -2288453 +1 -48 -36 -54 -81 2288554 +1 54 45 75 125 -2684050 +1 -54 -45 -75 -125 2684163 +1 432 396 726 1331 -22386005 +1 -432 -396 -726 -1331 22386904 +1 3 3 6 12 -162072 +1 -3 -3 -6 -12 162080 diff --git a/demos/ppl_pips/examples/cg1.pip b/demos/ppl_pips/examples/cg1.pip new file mode 100644 index 000000000..78e31f187 --- /dev/null +++ b/demos/ppl_pips/examples/cg1.pip @@ -0,0 +1,15 @@ +2 4 + 1 1 0 -1 + 1 -1 1 0 + +-1 + +8 7 + 1 0 1 0 -1 0 0 + 1 0 -1 0 1 0 0 + 1 1 0 0 0 -1 0 + 1 -1 0 0 0 1 0 + 1 0 1 0 0 0 -1 + 1 0 -1 0 0 1 0 + 1 0 -1 1 0 0 -1 + 1 0 0 -1 0 1 0 diff --git a/demos/ppl_pips/examples/esced.pip b/demos/ppl_pips/examples/esced.pip new file mode 100644 index 000000000..891c281b1 --- /dev/null +++ b/demos/ppl_pips/examples/esced.pip @@ -0,0 +1,21 @@ +0 2 + +-1 + +16 18 +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 0 0 0 -1 0 0 1 0 0 0 0 +1 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 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 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 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 -1 0 0 0 0 0 0 0 0 1 -1 0 0 0 0 0 0 +0 0 0 0 0 0 -1 0 0 0 0 0 1 -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 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 1 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 1 -1 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 0 0 0 0 0 0 0 0 0 0 -1 diff --git a/demos/ppl_pips/examples/ex2.pip b/demos/ppl_pips/examples/ex2.pip new file mode 100644 index 000000000..bb59848c8 --- /dev/null +++ b/demos/ppl_pips/examples/ex2.pip @@ -0,0 +1,9 @@ +1 5 +1 -1 1 1 0 + +-1 + +3 7 +1 0 -1 0 1 0 0 +1 -1 0 0 0 1 0 +1 1 1 -1 0 0 0 diff --git a/demos/ppl_pips/examples/fimmel.pip b/demos/ppl_pips/examples/fimmel.pip new file mode 100644 index 000000000..a6dee417c --- /dev/null +++ b/demos/ppl_pips/examples/fimmel.pip @@ -0,0 +1,12 @@ +0 4 + +-1 + +7 6 +1 2 6 0 0 -9 +1 5 -3 0 0 0 +1 2 -10 0 0 15 +1 -2 6 0 0 -3 +1 -2 -6 0 0 17 +1 0 1 -1 0 0 +1 1 0 0 -1 0 diff --git a/demos/ppl_pips/examples/invert.dat b/demos/ppl_pips/examples/invert.dat new file mode 100644 index 000000000..8f472fcc2 --- /dev/null +++ b/demos/ppl_pips/examples/invert.dat @@ -0,0 +1,10 @@ +( (Lower bound on j after loop inversion + (unknowns j i) + (parameters k m n)) + 2 3 3 1 -1 1 + ( #[0 -1 0 0 1 0] + #[-1 0 0 0 0 1] + #[1 1 0 -1 0 0] + ) + ( #[-1 1 1 0]) +) diff --git a/demos/ppl_pips/examples/linear.dat b/demos/ppl_pips/examples/linear.dat new file mode 100644 index 000000000..65d5a513e --- /dev/null +++ b/demos/ppl_pips/examples/linear.dat @@ -0,0 +1,10 @@ +((linearisation d'un tableau 100 100) + 2 1 4 1 -1 1 + (#[100 1 0 -1] + #[-100 -1 0 1] + #[-1 0 99 0] + #[0 -1 99 0] + ) + (#[-1 9999] + ) +) diff --git a/demos/ppl_pips/examples/lineri.dat b/demos/ppl_pips/examples/lineri.dat new file mode 100644 index 000000000..4c13e66ab --- /dev/null +++ b/demos/ppl_pips/examples/lineri.dat @@ -0,0 +1,9 @@ +((linearisation d'un tableau 100 100) + 1 1 3 1 -1 1 + (#[-1 99 0] + #[-100 0 1] + #[100 99 -1] + ) + (#[-1 9999] + ) +) diff --git a/demos/ppl_pips/examples/loz.dat b/demos/ppl_pips/examples/loz.dat new file mode 100644 index 000000000..234dd9cc6 --- /dev/null +++ b/demos/ppl_pips/examples/loz.dat @@ -0,0 +1,15 @@ +( + ( Solving MIN(i-2.j) under the following constraints: + Unknowns may be negative. + Order: + f' i' j' constant G P n' + ) + 3 3 5 0 4 1 + ( + #[ 0 1 1 20 -2 -4 4 ] + #[ 1 -1 2 0 -2 0 0 ] + #[ 0 -1 -1 0 2 0 0 ] + #[ 0 1 -1 10 0 -2 2 ] + #[ 0 -1 1 10 0 -2 2 ] + ) + ( )) diff --git a/demos/ppl_pips/examples/max.dat b/demos/ppl_pips/examples/max.dat new file mode 100644 index 000000000..fdb71c595 --- /dev/null +++ b/demos/ppl_pips/examples/max.dat @@ -0,0 +1,9 @@ +((a maximization problem) + 2 1 4 0 -1 1 + (#[-1 0 0 1] + #[0 -1 0 1] + #[-1 3 12 -2] + #[2 -1 3 -1] + ) + () +) diff --git a/demos/ppl_pips/examples/max.pip b/demos/ppl_pips/examples/max.pip new file mode 100644 index 000000000..e8af57b9f --- /dev/null +++ b/demos/ppl_pips/examples/max.pip @@ -0,0 +1,9 @@ +0 3 + +-1 + +4 5 +1 -1 0 1 0 +1 0 -1 1 0 +1 -1 3 -2 12 +1 2 -1 -1 3 diff --git a/demos/ppl_pips/examples/maxb.dat b/demos/ppl_pips/examples/maxb.dat new file mode 100644 index 000000000..02db81a97 --- /dev/null +++ b/demos/ppl_pips/examples/maxb.dat @@ -0,0 +1,9 @@ +((a maximization problem) + 2 1 4 0 3 1 + (#[-1 0 0 1] + #[0 -1 0 1] + #[-1 3 12 -2] + #[2 -1 3 -1] + ) + () +) diff --git a/demos/ppl_pips/examples/pairi.dat b/demos/ppl_pips/examples/pairi.dat new file mode 100644 index 000000000..9f604cda2 --- /dev/null +++ b/demos/ppl_pips/examples/pairi.dat @@ -0,0 +1,7 @@ +((les nombres pairs) + 1 1 2 0 -1 1 + (#[2 0 -1] + #[-6 1 3] + ) + () +) diff --git a/demos/ppl_pips/examples/petit.dat b/demos/ppl_pips/examples/petit.dat new file mode 100644 index 000000000..5d23e19aa --- /dev/null +++ b/demos/ppl_pips/examples/petit.dat @@ -0,0 +1,9 @@ +((( a b c d e f g h i j k l m n o p q r s t u v w x y z 1)()) + 3 0 3 0 -1 1 + (#[1 0 0 -2] + #[1 2 0 -3] + #[1 2 3 -7] + ) + () + ) + diff --git a/demos/ppl_pips/examples/rairoi.dat b/demos/ppl_pips/examples/rairoi.dat new file mode 100644 index 000000000..09f6d0b4b --- /dev/null +++ b/demos/ppl_pips/examples/rairoi.dat @@ -0,0 +1,9 @@ +((test du papier RAIRO) + 2 3 4 0 -1 1 + (#[-1 0 0 0 1 0] + #[0 -1 0 0 0 1] + #[-2 -1 0 -1 2 1] + #[2 1 0 1 -2 -1] + ) + () +) diff --git a/demos/ppl_pips/examples/sor1d.pip b/demos/ppl_pips/examples/sor1d.pip new file mode 100644 index 000000000..3b3dc6153 --- /dev/null +++ b/demos/ppl_pips/examples/sor1d.pip @@ -0,0 +1,28 @@ +2 4 + 1 1 0 0 + 1 0 1 0 + +-1 + +20 8 + + 0 -1 0 0 0 0 0 2 + 0 0 -1 0 0 0 0 1 + 0 0 0 -1 0 0 0 2 + 0 0 0 0 -1 0 0 4 + 1 0 0 0 1 0 0 -2 + 1 -2 0 2 1 0 0 -4 + 1 0 0 0 -1 0 1 -1 + 1 2 0 -2 -1 0 0 5 + 1 0 0 1 0 0 0 -1 + 1 0 -2 1 0 0 0 0 + 1 -2 0 2 0 0 1 -5 + 1 0 0 -1 0 1 0 0 + 1 0 2 -1 0 0 0 1 + 1 2 0 -2 0 0 0 3 + 1 0 1 0 0 0 0 0 + 1 -2 4 0 0 0 1 -3 + 1 0 -2 0 0 1 0 0 + 1 2 -4 0 0 0 0 3 + 1 2 0 0 0 0 0 1 + 1 -2 0 0 0 2 1 -5 diff --git a/demos/ppl_pips/examples/square.pip b/demos/ppl_pips/examples/square.pip new file mode 100644 index 000000000..7bb3f0c90 --- /dev/null +++ b/demos/ppl_pips/examples/square.pip @@ -0,0 +1,9 @@ +0 3 + +-1 + +4 5 +1 1 0 0 0 +1 -1 0 1 0 +1 0 1 0 0 +1 0 -1 1 0 diff --git a/demos/ppl_pips/examples/test02.dat b/demos/ppl_pips/examples/test02.dat new file mode 100644 index 000000000..f0f8e1832 --- /dev/null +++ b/demos/ppl_pips/examples/test02.dat @@ -0,0 +1,20 @@ +( ( Four parts in the file: + - comments (here !), + - Information line: here "2 2 5 0 -1 1" meaning 2 unknown, + 2 parameters, 5 inequalities for domain, 1 ineq. for context, + no big parameter (-1) and integer solution requested (1). + - List of domain inequalities: #[ 2 3 -8 0 0] meaning + (2)*i + (3)*j + (-8)*1 + (0)*m + (0)*n >= 0. + - List of context inequalities: #[ 0 1 -3] meaning + (0)*m + (1)*n + (-3)*1 >= 0. + ) + 2 2 5 1 -1 1 + ( #[ 2 3 -8 0 0] + #[ 4 -1 -4 0 0] + #[-1 0 0 0 1] + #[ 0 1 0 0 0] + #[ 0 -1 0 1 0] + ) + ( #[ 0 1 -3] + ) +) diff --git a/demos/ppl_pips/examples/test12i.dat b/demos/ppl_pips/examples/test12i.dat new file mode 100644 index 000000000..5881897b4 --- /dev/null +++ b/demos/ppl_pips/examples/test12i.dat @@ -0,0 +1,17 @@ +((variables : a b c d ...., pas de parametres) + 12 0 12 0 -1 1 + (#[1 0 0 0 0 0 0 0 0 0 0 0 -2] + #[1 2 0 0 0 0 0 0 0 0 0 0 -3] + #[1 2 3 0 0 0 0 0 0 0 0 0 -7] + #[1 2 3 4 0 0 0 0 0 0 0 0 -25] + #[1 2 3 4 5 0 0 0 0 0 0 0 -121] + #[1 2 3 4 5 6 0 0 0 0 0 0 -721] + #[1 2 3 4 5 6 7 0 0 0 0 0 -5041] + #[1 2 3 4 5 6 7 8 0 0 0 0 -40321] + #[1 2 3 4 5 6 7 8 9 0 0 0 -362881] + #[1 2 3 4 5 6 7 8 9 10 0 0 -3628801] + #[1 2 3 4 5 6 7 8 9 10 11 0 -39916801] + #[1 2 3 4 5 6 7 8 9 10 11 12 -479001601] + ) + () +) diff --git a/demos/ppl_pips/expected_int16 b/demos/ppl_pips/expected_int16 new file mode 100644 index 000000000..b471d6b5c --- /dev/null +++ b/demos/ppl_pips/expected_int16 @@ -0,0 +1,20 @@ +invert.dat 89eb267478eb8675de9602be9bb92f9e - +linear.dat d41d8cd98f00b204e9800998ecf8427e - +lineri.dat d41d8cd98f00b204e9800998ecf8427e - +loz.dat 558273607bb0eec59c713980a8722ac8 - +max.dat 2c3f32340ed2ea04d070dd311e9ca188 - +maxb.dat bc9d718f581cd7da4bbd7f0293749315 - +pairi.dat 205989eb31ec0705adce45b63d5bebfe - +petit.dat dd796c3d2afd2b7fb25a661c4137973f - +rairoi.dat 6aa01aa8b58429c4dfe33fad609306d5 - +test02.dat be9c80fb6dda6212d060a2295771f8cb - +test12i.dat d41d8cd98f00b204e9800998ecf8427e - +big.pip bc9d718f581cd7da4bbd7f0293749315 - +brisebarre.pip d41d8cd98f00b204e9800998ecf8427e - +cg1.pip 2571d40371dd1f1661348b08945e8a98 - +esced.pip 7f4b69aed82cc0f498e7931ac1dbf92f - +ex2.pip 89eb267478eb8675de9602be9bb92f9e - +fimmel.pip d41d8cd98f00b204e9800998ecf8427e - +max.pip 2c3f32340ed2ea04d070dd311e9ca188 - +sor1d.pip 80f93132ed5d70b6371d5bf5fa627376 - +square.pip 65a57d1e7ccb8196f81fa6e701164b69 - diff --git a/demos/ppl_pips/expected_int16_a b/demos/ppl_pips/expected_int16_a new file mode 100644 index 000000000..b471d6b5c --- /dev/null +++ b/demos/ppl_pips/expected_int16_a @@ -0,0 +1,20 @@ +invert.dat 89eb267478eb8675de9602be9bb92f9e - +linear.dat d41d8cd98f00b204e9800998ecf8427e - +lineri.dat d41d8cd98f00b204e9800998ecf8427e - +loz.dat 558273607bb0eec59c713980a8722ac8 - +max.dat 2c3f32340ed2ea04d070dd311e9ca188 - +maxb.dat bc9d718f581cd7da4bbd7f0293749315 - +pairi.dat 205989eb31ec0705adce45b63d5bebfe - +petit.dat dd796c3d2afd2b7fb25a661c4137973f - +rairoi.dat 6aa01aa8b58429c4dfe33fad609306d5 - +test02.dat be9c80fb6dda6212d060a2295771f8cb - +test12i.dat d41d8cd98f00b204e9800998ecf8427e - +big.pip bc9d718f581cd7da4bbd7f0293749315 - +brisebarre.pip d41d8cd98f00b204e9800998ecf8427e - +cg1.pip 2571d40371dd1f1661348b08945e8a98 - +esced.pip 7f4b69aed82cc0f498e7931ac1dbf92f - +ex2.pip 89eb267478eb8675de9602be9bb92f9e - +fimmel.pip d41d8cd98f00b204e9800998ecf8427e - +max.pip 2c3f32340ed2ea04d070dd311e9ca188 - +sor1d.pip 80f93132ed5d70b6371d5bf5fa627376 - +square.pip 65a57d1e7ccb8196f81fa6e701164b69 - diff --git a/demos/ppl_pips/expected_int32 b/demos/ppl_pips/expected_int32 new file mode 100644 index 000000000..d3581a371 --- /dev/null +++ b/demos/ppl_pips/expected_int32 @@ -0,0 +1,20 @@ +invert.dat 89eb267478eb8675de9602be9bb92f9e - +linear.dat 1f73e09130d92979eb4388cbbab7f389 - +lineri.dat d41d8cd98f00b204e9800998ecf8427e - +loz.dat 558273607bb0eec59c713980a8722ac8 - +max.dat 2c3f32340ed2ea04d070dd311e9ca188 - +maxb.dat bc9d718f581cd7da4bbd7f0293749315 - +pairi.dat 205989eb31ec0705adce45b63d5bebfe - +petit.dat dd796c3d2afd2b7fb25a661c4137973f - +rairoi.dat 6aa01aa8b58429c4dfe33fad609306d5 - +test02.dat be9c80fb6dda6212d060a2295771f8cb - +test12i.dat d41d8cd98f00b204e9800998ecf8427e - +big.pip bc9d718f581cd7da4bbd7f0293749315 - +brisebarre.pip d41d8cd98f00b204e9800998ecf8427e - +cg1.pip 2571d40371dd1f1661348b08945e8a98 - +esced.pip 7f4b69aed82cc0f498e7931ac1dbf92f - +ex2.pip 89eb267478eb8675de9602be9bb92f9e - +fimmel.pip 2dd9b24df50572c15981dd3faf8c74a4 - +max.pip 2c3f32340ed2ea04d070dd311e9ca188 - +sor1d.pip 80f93132ed5d70b6371d5bf5fa627376 - +square.pip 65a57d1e7ccb8196f81fa6e701164b69 - diff --git a/demos/ppl_pips/expected_int32_a b/demos/ppl_pips/expected_int32_a new file mode 100644 index 000000000..d3581a371 --- /dev/null +++ b/demos/ppl_pips/expected_int32_a @@ -0,0 +1,20 @@ +invert.dat 89eb267478eb8675de9602be9bb92f9e - +linear.dat 1f73e09130d92979eb4388cbbab7f389 - +lineri.dat d41d8cd98f00b204e9800998ecf8427e - +loz.dat 558273607bb0eec59c713980a8722ac8 - +max.dat 2c3f32340ed2ea04d070dd311e9ca188 - +maxb.dat bc9d718f581cd7da4bbd7f0293749315 - +pairi.dat 205989eb31ec0705adce45b63d5bebfe - +petit.dat dd796c3d2afd2b7fb25a661c4137973f - +rairoi.dat 6aa01aa8b58429c4dfe33fad609306d5 - +test02.dat be9c80fb6dda6212d060a2295771f8cb - +test12i.dat d41d8cd98f00b204e9800998ecf8427e - +big.pip bc9d718f581cd7da4bbd7f0293749315 - +brisebarre.pip d41d8cd98f00b204e9800998ecf8427e - +cg1.pip 2571d40371dd1f1661348b08945e8a98 - +esced.pip 7f4b69aed82cc0f498e7931ac1dbf92f - +ex2.pip 89eb267478eb8675de9602be9bb92f9e - +fimmel.pip 2dd9b24df50572c15981dd3faf8c74a4 - +max.pip 2c3f32340ed2ea04d070dd311e9ca188 - +sor1d.pip 80f93132ed5d70b6371d5bf5fa627376 - +square.pip 65a57d1e7ccb8196f81fa6e701164b69 - diff --git a/demos/ppl_pips/expected_int64 b/demos/ppl_pips/expected_int64 new file mode 100644 index 000000000..c04a9d5e3 --- /dev/null +++ b/demos/ppl_pips/expected_int64 @@ -0,0 +1,20 @@ +invert.dat 89eb267478eb8675de9602be9bb92f9e - +linear.dat 1f73e09130d92979eb4388cbbab7f389 - +lineri.dat 7b21035f6f07e68b8c0e2893a649f0ef - +loz.dat 558273607bb0eec59c713980a8722ac8 - +max.dat 2c3f32340ed2ea04d070dd311e9ca188 - +maxb.dat bc9d718f581cd7da4bbd7f0293749315 - +pairi.dat 205989eb31ec0705adce45b63d5bebfe - +petit.dat dd796c3d2afd2b7fb25a661c4137973f - +rairoi.dat 6aa01aa8b58429c4dfe33fad609306d5 - +test02.dat be9c80fb6dda6212d060a2295771f8cb - +test12i.dat 9c4f4bd2f5327b9ba442e4e294078282 - +big.pip bc9d718f581cd7da4bbd7f0293749315 - +brisebarre.pip 3051dbe7ea7bf04e8890ddd41013a9dc - +cg1.pip 2571d40371dd1f1661348b08945e8a98 - +esced.pip 7f4b69aed82cc0f498e7931ac1dbf92f - +ex2.pip 89eb267478eb8675de9602be9bb92f9e - +fimmel.pip 2dd9b24df50572c15981dd3faf8c74a4 - +max.pip 2c3f32340ed2ea04d070dd311e9ca188 - +sor1d.pip 80f93132ed5d70b6371d5bf5fa627376 - +square.pip 65a57d1e7ccb8196f81fa6e701164b69 - diff --git a/demos/ppl_pips/expected_int64_a b/demos/ppl_pips/expected_int64_a new file mode 100644 index 000000000..c04a9d5e3 --- /dev/null +++ b/demos/ppl_pips/expected_int64_a @@ -0,0 +1,20 @@ +invert.dat 89eb267478eb8675de9602be9bb92f9e - +linear.dat 1f73e09130d92979eb4388cbbab7f389 - +lineri.dat 7b21035f6f07e68b8c0e2893a649f0ef - +loz.dat 558273607bb0eec59c713980a8722ac8 - +max.dat 2c3f32340ed2ea04d070dd311e9ca188 - +maxb.dat bc9d718f581cd7da4bbd7f0293749315 - +pairi.dat 205989eb31ec0705adce45b63d5bebfe - +petit.dat dd796c3d2afd2b7fb25a661c4137973f - +rairoi.dat 6aa01aa8b58429c4dfe33fad609306d5 - +test02.dat be9c80fb6dda6212d060a2295771f8cb - +test12i.dat 9c4f4bd2f5327b9ba442e4e294078282 - +big.pip bc9d718f581cd7da4bbd7f0293749315 - +brisebarre.pip 3051dbe7ea7bf04e8890ddd41013a9dc - +cg1.pip 2571d40371dd1f1661348b08945e8a98 - +esced.pip 7f4b69aed82cc0f498e7931ac1dbf92f - +ex2.pip 89eb267478eb8675de9602be9bb92f9e - +fimmel.pip 2dd9b24df50572c15981dd3faf8c74a4 - +max.pip 2c3f32340ed2ea04d070dd311e9ca188 - +sor1d.pip 80f93132ed5d70b6371d5bf5fa627376 - +square.pip 65a57d1e7ccb8196f81fa6e701164b69 - diff --git a/demos/ppl_pips/expected_int8 b/demos/ppl_pips/expected_int8 new file mode 100644 index 000000000..3d0d19947 --- /dev/null +++ b/demos/ppl_pips/expected_int8 @@ -0,0 +1,20 @@ +invert.dat 89eb267478eb8675de9602be9bb92f9e - +linear.dat d41d8cd98f00b204e9800998ecf8427e - +lineri.dat d41d8cd98f00b204e9800998ecf8427e - +loz.dat d41d8cd98f00b204e9800998ecf8427e - +max.dat d41d8cd98f00b204e9800998ecf8427e - +maxb.dat d41d8cd98f00b204e9800998ecf8427e - +pairi.dat 205989eb31ec0705adce45b63d5bebfe - +petit.dat dd796c3d2afd2b7fb25a661c4137973f - +rairoi.dat 6aa01aa8b58429c4dfe33fad609306d5 - +test02.dat d41d8cd98f00b204e9800998ecf8427e - +test12i.dat d41d8cd98f00b204e9800998ecf8427e - +big.pip d41d8cd98f00b204e9800998ecf8427e - +brisebarre.pip d41d8cd98f00b204e9800998ecf8427e - +cg1.pip 2571d40371dd1f1661348b08945e8a98 - +esced.pip 7f4b69aed82cc0f498e7931ac1dbf92f - +ex2.pip 89eb267478eb8675de9602be9bb92f9e - +fimmel.pip d41d8cd98f00b204e9800998ecf8427e - +max.pip d41d8cd98f00b204e9800998ecf8427e - +sor1d.pip 80f93132ed5d70b6371d5bf5fa627376 - +square.pip 65a57d1e7ccb8196f81fa6e701164b69 - diff --git a/demos/ppl_pips/expected_int8_a b/demos/ppl_pips/expected_int8_a new file mode 100644 index 000000000..3d0d19947 --- /dev/null +++ b/demos/ppl_pips/expected_int8_a @@ -0,0 +1,20 @@ +invert.dat 89eb267478eb8675de9602be9bb92f9e - +linear.dat d41d8cd98f00b204e9800998ecf8427e - +lineri.dat d41d8cd98f00b204e9800998ecf8427e - +loz.dat d41d8cd98f00b204e9800998ecf8427e - +max.dat d41d8cd98f00b204e9800998ecf8427e - +maxb.dat d41d8cd98f00b204e9800998ecf8427e - +pairi.dat 205989eb31ec0705adce45b63d5bebfe - +petit.dat dd796c3d2afd2b7fb25a661c4137973f - +rairoi.dat 6aa01aa8b58429c4dfe33fad609306d5 - +test02.dat d41d8cd98f00b204e9800998ecf8427e - +test12i.dat d41d8cd98f00b204e9800998ecf8427e - +big.pip d41d8cd98f00b204e9800998ecf8427e - +brisebarre.pip d41d8cd98f00b204e9800998ecf8427e - +cg1.pip 2571d40371dd1f1661348b08945e8a98 - +esced.pip 7f4b69aed82cc0f498e7931ac1dbf92f - +ex2.pip 89eb267478eb8675de9602be9bb92f9e - +fimmel.pip d41d8cd98f00b204e9800998ecf8427e - +max.pip d41d8cd98f00b204e9800998ecf8427e - +sor1d.pip 80f93132ed5d70b6371d5bf5fa627376 - +square.pip 65a57d1e7ccb8196f81fa6e701164b69 - diff --git a/demos/ppl_pips/expected_mpz b/demos/ppl_pips/expected_mpz new file mode 100644 index 000000000..c04a9d5e3 --- /dev/null +++ b/demos/ppl_pips/expected_mpz @@ -0,0 +1,20 @@ +invert.dat 89eb267478eb8675de9602be9bb92f9e - +linear.dat 1f73e09130d92979eb4388cbbab7f389 - +lineri.dat 7b21035f6f07e68b8c0e2893a649f0ef - +loz.dat 558273607bb0eec59c713980a8722ac8 - +max.dat 2c3f32340ed2ea04d070dd311e9ca188 - +maxb.dat bc9d718f581cd7da4bbd7f0293749315 - +pairi.dat 205989eb31ec0705adce45b63d5bebfe - +petit.dat dd796c3d2afd2b7fb25a661c4137973f - +rairoi.dat 6aa01aa8b58429c4dfe33fad609306d5 - +test02.dat be9c80fb6dda6212d060a2295771f8cb - +test12i.dat 9c4f4bd2f5327b9ba442e4e294078282 - +big.pip bc9d718f581cd7da4bbd7f0293749315 - +brisebarre.pip 3051dbe7ea7bf04e8890ddd41013a9dc - +cg1.pip 2571d40371dd1f1661348b08945e8a98 - +esced.pip 7f4b69aed82cc0f498e7931ac1dbf92f - +ex2.pip 89eb267478eb8675de9602be9bb92f9e - +fimmel.pip 2dd9b24df50572c15981dd3faf8c74a4 - +max.pip 2c3f32340ed2ea04d070dd311e9ca188 - +sor1d.pip 80f93132ed5d70b6371d5bf5fa627376 - +square.pip 65a57d1e7ccb8196f81fa6e701164b69 - diff --git a/demos/ppl_pips/expected_mpz_a b/demos/ppl_pips/expected_mpz_a new file mode 100644 index 000000000..c04a9d5e3 --- /dev/null +++ b/demos/ppl_pips/expected_mpz_a @@ -0,0 +1,20 @@ +invert.dat 89eb267478eb8675de9602be9bb92f9e - +linear.dat 1f73e09130d92979eb4388cbbab7f389 - +lineri.dat 7b21035f6f07e68b8c0e2893a649f0ef - +loz.dat 558273607bb0eec59c713980a8722ac8 - +max.dat 2c3f32340ed2ea04d070dd311e9ca188 - +maxb.dat bc9d718f581cd7da4bbd7f0293749315 - +pairi.dat 205989eb31ec0705adce45b63d5bebfe - +petit.dat dd796c3d2afd2b7fb25a661c4137973f - +rairoi.dat 6aa01aa8b58429c4dfe33fad609306d5 - +test02.dat be9c80fb6dda6212d060a2295771f8cb - +test12i.dat 9c4f4bd2f5327b9ba442e4e294078282 - +big.pip bc9d718f581cd7da4bbd7f0293749315 - +brisebarre.pip 3051dbe7ea7bf04e8890ddd41013a9dc - +cg1.pip 2571d40371dd1f1661348b08945e8a98 - +esced.pip 7f4b69aed82cc0f498e7931ac1dbf92f - +ex2.pip 89eb267478eb8675de9602be9bb92f9e - +fimmel.pip 2dd9b24df50572c15981dd3faf8c74a4 - +max.pip 2c3f32340ed2ea04d070dd311e9ca188 - +sor1d.pip 80f93132ed5d70b6371d5bf5fa627376 - +square.pip 65a57d1e7ccb8196f81fa6e701164b69 - diff --git a/demos/ppl_pips/ppl_pips.1 b/demos/ppl_pips/ppl_pips.1 new file mode 100644 index 000000000..e762cdaeb --- /dev/null +++ b/demos/ppl_pips/ppl_pips.1 @@ -0,0 +1,137 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1. +.TH PPL_PIPS "1" "February 2011" "ppl_pips 0.11.2" "User Commands" +.SH NAME +ppl_pips \- a PPL-based parametric integer programming problem solver +.SH SYNOPSIS +.B ppl_pips +[\fIOPTION\fR]... [\fIFILE\fR] +.SH DESCRIPTION +Reads the definition of a Parametric Integer Programming problem +and displays the lexicographic minimum in terms of the values of the +parameters. +.SH OPTIONS +.TP +\fB\-RMB\fR, \fB\-\-max\-memory\fR=\fIMB\fR +limits memory usage to MB megabytes +.TP +\fB\-h\fR, \fB\-\-help\fR +prints this help text to stdout +.TP +\fB\-oPATH\fR, \fB\-\-output\fR=\fIPATH\fR +appends output to PATH +.TP +\fB\-P\fR, \fB\-\-polylib\fR +reads problem in PolyLib format (default) +.TP +\fB\-p\fR, \fB\-\-piplib\fR +reads problem in PipLib format +.TP +\fB\-t\fR, \fB\-\-timings\fR +prints timings to stderr +.TP +\fB\-v\fR, \fB\-\-verbose\fR +produces lots of output +.TP +\fB\-i\fR, \fB\-\-iterations\fR=\fIN\fR +executes the resolution N times (default=1) +.TP +\fB\-V\fR, \fB\-\-version\fR +prints version information to stdout +.TP +\fB\-cPATH\fR, \fB\-\-check\fR=\fIPATH\fR +checks if the result is equal to what is in PATH +.SS "Cut generation options:" +.TP +\fB\-f\fR, \fB\-\-cut\-first\fR +uses the first non\-integer row (default) +.TP +\fB\-d\fR, \fB\-\-cut\-deepest\fR +tries to generate the deepest cut +.TP +\fB\-a\fR, \fB\-\-cut\-all\fR +always generates all possible cuts +.SS "Pivot row strategy options:" +.TP +\fB\-F\fR, \fB\-\-row\-first\fR +uses the first row with negative parameter (default) +.TP +\fB\-M\fR, \fB\-\-row\-max\fR +chooses row generating the lexico\-maximal pivot column +.SH AVAILABILITY +The latest version of the Parma Polyhedra Library and all the documentation +is available at \fBhttp://www.cs.unipr.it/ppl/\fR . +.SH NOTES +The options \fB\-CSECS\fR (\fB\-\-max\-cpu\fR=\fISECS\fR) and +\fB\-t\fR (\fB\-\-timings\fR) are not available on some platforms. +.sp +The PolyLib format is as follows: +.TP +- +The first row describes the context matrix (i.e., constraints on the +parameters). The first value is the number of rows (which can be zero) +and the second value is the number of columns. The number of parameters +is the number of columns minus 2. +.TP +- +Starting from the second row, there are the rows of the context matrix, +if any. Each row, which represents a constraint of the form +.B "c1*p1 + ... + cn*pn + c0 =/>= 0", +contains: +the value 0 if the constraint is an equality, 1 if it is an inequality; +the coefficients of the parameters +.B "c1, ..., cn"; +the constant term +.B "c0". +For example, the inequality constraint on two parameters +.B "p1 + 2*p2 - 1 >= 0" +is encoded by the row +.B "1 1 2 -1". +.TP +- +The following row contains the parameter number for the so-called +.IR "big parameter". +If no big parameter is used, the value is -1. +.TP +- +The following rows encode the problem inequality matrix. +As for the context matrix, the first two values are the dimensions of the +matrix. The number of variables is the number of columns in the matrix +minus the number of parameters minus 2. +Each row, which represents a constraint of the form +.B "d1*v1 + ... + dm*vm + c1*p1 + ... + cn*pn + c0 =/>= 0", +contains: +the value 0 if the constraint is an equality, 1 if it is an inequality; +the coefficients of the variables +.B "d1, ..., dm"; +the coefficients of the parameters +.B "c1, ..., cn"; +the constant term +.B "c0". +.sp +The PipLib format is described in Section 2.2 of +.IR "PIP/PipLib: A Solver for Parametric Integer Programming Problems" +(see below). +.SH AUTHOR +See the file \fBCREDITS\fR in the source distribution or use the command +\fBppl\-config \-\-credits\fR for a list of contributors. +.SH "REPORTING BUGS" +Report bugs to <ppl\-devel@cs.unipr.it>. +.SH COPYRIGHT +Copyright (C) 2001\-2010 Roberto Bagnara <bagnara@cs.unipr.it> +Copyright (C) 2010\-2011 BUGSENG srl (http://bugseng.com) +.br +This is free software; see the file \fBCOPYING\fR in the source +distribution or use the command \fBppl\-config \-\-copying\fR to +obtain the copying conditions. There is NO warranty; not even for +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +.SH "SEE ALSO" +.BR ppl-config(1) +.sp +Paul Feautrier. +.IR "Parametric Integer Programming". +RAIRO Recherche Operationnelle, 22(3):243-268, 1988. +.sp +Paul Feautrier, Jean-Francois Collard, and Cedric Bastoul. +.IR "PIP/PipLib: A Solver for Parametric Integer Programming Problems", +5.0 edition, July 2007. +Distributed with PIP/PipLib 1.4.0. diff --git a/demos/ppl_pips/ppl_pips.cc b/demos/ppl_pips/ppl_pips.cc new file mode 100644 index 000000000..faec6854f --- /dev/null +++ b/demos/ppl_pips/ppl_pips.cc @@ -0,0 +1,841 @@ +/* A sort of clone of the cddlib test program `lcdd'. + Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> + Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com) + +This file is part of the Parma Polyhedra Library (PPL). + +The PPL 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 3 of the License, or (at your +option) any later version. + +The PPL 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 02111-1307, USA. + +For the most up-to-date information see the Parma Polyhedra Library +site: http://www.cs.unipr.it/ppl/ . */ + +//#define USE_PIPLIB 1 + +#if (!defined(USE_PPL) && !defined(USE_PIPLIB)) +#define USE_PPL 1 +#elif (defined(USE_PPL) && defined(USE_PIPLIB)) +#error "Exactly one among USE_PPL and USE_PIPLIB must be defined." +#endif + +#if defined(USE_PPL) + +#include "ppl.hh" + +namespace PPL = Parma_Polyhedra_Library; + +#if PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 11 +#error "PPL version 0.11 or following is required" +#endif + +typedef PPL::C_Polyhedron POLYHEDRON_TYPE; + +#if !PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK +extern "C" void +ppl_set_GMP_memory_allocation_functions(void) { +} +#endif + +#elif defined(USE_PIPLIB) + +#error "PipLib not supported yet" + +#endif + +#include "timings.hh" +#include <gmpxx.h> +#include <vector> +#include <set> +#include <climits> +#include <cassert> +#include <cstdarg> +#include <csignal> +#include <cerrno> +#include <cstring> +#include <cstdio> +#include <cstdlib> +#include <iostream> +#include <fstream> +#include <sstream> +#include <stdexcept> +#include <memory> + +#ifdef PPL_HAVE_GETOPT_H +#include <getopt.h> + +// Try to accommodate non-GNU implementations of `getopt()'. +#if !defined(no_argument) && defined(NO_ARG) +#define no_argument NO_ARG +#endif + +#if !defined(required_argument) && defined(REQUIRED_ARG) +#define required_argument REQUIRED_ARG +#endif + +#if !defined(optional_argument) && defined(OPTIONAL_ARG) +#define optional_argument OPTIONAL_ARG +#endif + +#endif // defined(PPL_HAVE_GETOPT_H) + +#ifdef PPL_HAVE_UNISTD_H +// Include this for `getopt()': especially important if we do not have +// <getopt.h>. +# include <unistd.h> +#endif + +#ifdef PPL_HAVE_SYS_TIME_H +# include <sys/time.h> +#endif + +#ifdef PPL_HAVE_SYS_RESOURCE_H +// This should be included after <time.h> and <sys/time.h> so as to make +// sure we have the definitions for, e.g., `ru_utime'. +# include <sys/resource.h> +#endif + +namespace { + +PPL::PIP_Problem::Control_Parameter_Value cutting_strategy + = PPL::PIP_Problem::CUTTING_STRATEGY_FIRST; + +PPL::PIP_Problem::Control_Parameter_Value pivot_row_strategy + = PPL::PIP_Problem::PIVOT_ROW_STRATEGY_FIRST; + +int loop_iterations = 1; + +void +pip_display_sol(std::ostream& out, + const Parma_Polyhedra_Library::PIP_Tree pip, + const Parma_Polyhedra_Library::Variables_Set& parameters, + const Parma_Polyhedra_Library::Variables_Set& vars, + Parma_Polyhedra_Library::dimension_type space_dimension, + int indent = 0) { + using namespace std; + using namespace Parma_Polyhedra_Library::IO_Operators; + if (!pip) { + out << setw(indent*2) << "" << "_|_" << endl; + } + else { + for (PIP_Tree_Node::Artificial_Parameter_Sequence::const_iterator + i = pip->art_parameter_begin(), + i_end = pip->art_parameter_end(); + i != i_end; + ++i) { + out << setw(indent*2) << "" << "Parameter " + << Linear_Expression(Variable(space_dimension++)) + << " = " << *i << endl; + } + const Constraint_System &constraints = pip->constraints(); + bool constraints_empty = constraints.empty(); + if (!constraints_empty) { + out << setw(indent*2) << "" << "if "; + for (Constraint_System::const_iterator + cs_begin = constraints.begin(), + cs_end = constraints.end(), + i = cs_begin; i != cs_end; ++i) + out << ((i == cs_begin) ? "" : " and ") << *i; + out << " then" << endl; + } + const PIP_Decision_Node* dn = pip->as_decision(); + if (dn) { + pip_display_sol(out, dn->child_node(true), parameters, vars, + space_dimension, indent+1); + out << setw(indent*2) << "" << "else" << endl; + pip_display_sol(out, dn->child_node(false), parameters, vars, + space_dimension, indent+1); + } + else { + const PIP_Solution_Node* sn = pip->as_solution(); + out << setw(indent*2 + (constraints_empty ? 0 : 2)) << "" << "{"; + for (Variables_Set::const_iterator + v_begin = vars.begin(), + v_end = vars.end(), + i = v_begin; i != v_end; ++i) + out << ((i == v_begin) ? "" : " ; ") + << sn->parametric_values(Variable(*i)); + out << "}" << endl; + if (!constraints_empty) { + out << setw(indent*2) << "" << "else" << endl; + out << setw(indent*2+2) << "" << "_|_" << endl; + } + } + } +} + +class PIP_Parser { +public: + PIP_Parser() : pip() { + pip.set_control_parameter(cutting_strategy); + pip.set_control_parameter(pivot_row_strategy); + } + + virtual ~PIP_Parser() { + } + + const PPL::PIP_Problem& problem() const { + return pip; + } + + virtual bool read(std::istream& in) = 0; + + // output the solution in PipLib-like format + /* void output_solution_piplib(std::ostream& out) { + const PPL::Variables_Set& params = pip.parameter_space_dimensions(); + PPL::Variables_Set vars; + for (PPL::dimension_type i = 0; i < pip.space_dimension(); ++i) { + if (params.count(i) == 0) + vars.insert(i); + } + const PPL::PIP_Tree solution = pip.solution(); + out << "((" << comment << ")\n("; + pip_disp_sol_mat(out, solution, params, vars, pip.space_dimension()); + out << "))" << std::endl; + } */ + + // output the solution in "if-then-else" format + void output_solution_tree(std::ostream& out) { + const PPL::Variables_Set& params = pip.parameter_space_dimensions(); + PPL::Variables_Set vars; + for (PPL::dimension_type i = 0; i < pip.space_dimension(); ++i) { + if (params.count(i) == 0) + vars.insert(i); + } + const PPL::PIP_Tree solution = pip.solution(); + pip_display_sol(out, solution, params, vars, pip.space_dimension()); + } + + typedef std::vector<PPL::Coefficient> Coeff_Vector; + typedef std::vector<int> Int_Vector; + + bool update_pip(PPL::dimension_type num_vars, + PPL::dimension_type num_params, + PPL::dimension_type num_constraints, + PPL::dimension_type num_ctx_rows, + const Coeff_Vector& constraints, + const Coeff_Vector& context, + const Int_Vector& constraint_type, + const Int_Vector& ctx_type, + PPL::dimension_type bignum_column) { + pip.add_space_dimensions_and_embed(num_vars, num_params); + for (PPL::dimension_type k = 0, i = 0; i < num_constraints; ++i) { + PPL::Linear_Expression expr; + for (PPL::dimension_type j = 0; j < num_vars + num_params; ++j) + add_mul_assign(expr, constraints[k++], PPL::Variable(j)); + expr += constraints[k++]; + if (constraint_type[i]) + pip.add_constraint(PPL::Constraint(expr >= 0)); + else + pip.add_constraint(PPL::Constraint(expr == 0)); + } + if (num_params > 0) { + for (PPL::dimension_type k = 0, i = 0; i < num_ctx_rows; ++i) { + PPL::Linear_Expression expr; + for (PPL::dimension_type j = 0; j < num_params; ++j) + add_mul_assign(expr, context[k++], PPL::Variable(num_vars+j)); + expr += context[k++]; + if (ctx_type[i]) + pip.add_constraint(PPL::Constraint(expr >= 0)); + else + pip.add_constraint(PPL::Constraint(expr == 0)); + } + } + if (bignum_column != PPL::not_a_dimension()) + pip.set_big_parameter_dimension(bignum_column); + return true; + } + +protected: + // The problem object + PPL::PIP_Problem pip; +}; // class PIP_Parser + +class PIP_PolyLib_Parser : public PIP_Parser { +public: + PIP_PolyLib_Parser(): PIP_Parser() { + } + + bool read(std::istream& in) { + std::string line; + + PPL::dimension_type num_ctx_rows; + PPL::dimension_type num_params; + getline_nocomment(in, line); + { + std::istringstream sin(line); + sin >> num_ctx_rows >> num_params; + } + PPL_ASSERT(num_params >= 2); + num_params -= 2; + + Coeff_Vector context(num_ctx_rows * (1+num_params)); + Int_Vector ctx_type(num_ctx_rows); + for (PPL::dimension_type i = 0; i < num_ctx_rows; ++i) { + getline_nocomment(in, line); + std::istringstream sin(line); + sin >> ctx_type[i]; + for (PPL::dimension_type j = 0; j <= num_params; ++j) { + sin >> context[i * num_ctx_rows + j]; + } + } + + int bignum_column_coding; + getline_nocomment(in, line); + { + std::istringstream sin(line); + sin >> bignum_column_coding; + } + + PPL::dimension_type num_constraints; + PPL::dimension_type constraint_width; + PPL::dimension_type num_vars; + getline_nocomment(in, line); + { + std::istringstream sin(line); + sin >> num_constraints >> constraint_width; + } + constraint_width -= 1; + num_vars = constraint_width - num_params - 1; + + Coeff_Vector constraints(num_constraints * constraint_width); + Int_Vector constraint_type(num_constraints); + for (PPL::dimension_type i = 0; i < num_constraints; ++i) { + getline_nocomment(in, line); + std::istringstream sin(line); + sin >> constraint_type[i]; + for (PPL::dimension_type j = 0; j < constraint_width; ++j) { + sin >> constraints[i * constraint_width + j]; + } + } + + PPL::dimension_type bignum_column = (bignum_column_coding == -1) + ? PPL::not_a_dimension() + : (bignum_column_coding + num_vars - 1); + + bool result = update_pip(num_vars, num_params, + num_constraints, num_ctx_rows, + constraints, context, + constraint_type, ctx_type, + bignum_column); + return result; + } + +protected: + static void getline_nocomment(std::istream& in, std::string& s) { + do { + getline(in, s); + } while (s.size() == 0 || s[0] == '\r' || s[0] == '#'); + } +}; // class PIP_PolyLib_Parser + +class PIP_PipLib_Parser : public PIP_Parser { +public: + PIP_PipLib_Parser() + : PIP_Parser(), comment() { + } + + bool read(std::istream& in) { + if (!expect(in, '(')) + return false; + if (!expect(in, '(')) + return false; + if (!read_comment(in)) + return false; + + PPL::dimension_type num_vars; + PPL::dimension_type num_params; + in >> num_vars >> num_params; + + PPL::dimension_type num_constraints; + PPL::dimension_type num_ctx_rows; + in >> num_constraints >> num_ctx_rows; + + int bignum_column_coding; + in >> bignum_column_coding; + PPL::dimension_type bignum_column = (bignum_column_coding == -1) + ? PPL::not_a_dimension() + : (bignum_column_coding - 1); + + int solve_integer; + in >> solve_integer; + if (solve_integer != 1) { + std::cerr << "Can only solve integer problems." << std::endl; + return false; + } + + if (!expect(in, '(')) + return false; + PPL::dimension_type constraint_width = num_vars+num_params+1; + Coeff_Vector constraints(num_constraints * constraint_width); + Int_Vector constraint_type(num_constraints); + for (PPL::dimension_type i = 0; i < num_constraints; ++i) + constraint_type[i] = 1; + for (PPL::dimension_type i = 0; i < num_constraints; ++i) + if (!read_vector(in, i, constraint_width, num_vars, constraints)) + return false; + + Coeff_Vector context(num_ctx_rows * (1+num_params)); + Int_Vector ctx_type(num_ctx_rows); + for (PPL::dimension_type i = 0; i < num_ctx_rows; ++i) + ctx_type[i] = 1; + for (PPL::dimension_type i = 0; i < num_ctx_rows; ++i) + if (!read_vector(in, i, num_params+1, num_params, context)) + return false; + + bool result = update_pip(num_vars, num_params, + num_constraints, num_ctx_rows, + constraints, context, + constraint_type, ctx_type, + bignum_column); + return result; + } + +protected: + bool read_comment(std::istream& in) { + comment = ""; + int count = 1; + char c; + do { + if (!in.get(c)) + return false; + if (c == '(') + ++count; + else if (c == ')') + --count; + if (count > 0) + comment += c; + } while (count > 0); + return true; + } + + static bool expect(std::istream& in, char c) { + char a; + do { + in >> a; + } while (a != c && in.good()); + return a == c; + } + + static bool read_vector(std::istream& in, + PPL::dimension_type row_index, + PPL::dimension_type row_size, + PPL::dimension_type cst_col, + Coeff_Vector& tab) { + if (!expect(in, '#')) + return false; + if (!expect(in, '[')) + return false; + std::string s; + if (getline(in, s, ']').bad()) + return false; + std::istringstream iss(s); + PPL::dimension_type start_index = row_index * row_size; + PPL::dimension_type k = start_index; + for (PPL::dimension_type i = 0; i < cst_col; ++i) + if (!(iss >> tab[k++])) + return false; + if (!(iss >> tab[start_index + row_size - 1])) + return false; + for (PPL::dimension_type i = cst_col + 1; i < row_size; ++i) + if (!(iss >> tab[k++])) + return false; + return true; + } + + // The comment string in the source file + std::string comment; +}; // class PIP_PipLib_Parser + +#ifdef PPL_HAVE_GETOPT_H +struct option long_options[] = { + {"max-cpu", required_argument, 0, 'C'}, + {"max-memory", required_argument, 0, 'R'}, + {"help", no_argument, 0, 'h'}, + {"output", required_argument, 0, 'o'}, + {"polylib", no_argument, 0, 'P'}, + {"piplib", no_argument, 0, 'p'}, + {"timings", no_argument, 0, 't'}, + {"verbose", no_argument, 0, 'v'}, + {"iterations", required_argument, 0, 'i'}, +#if defined(USE_PPL) + {"version", no_argument, 0, 'V'}, + {"check", required_argument, 0, 'c'}, +#endif + {"cut-first", no_argument, 0, 'f'}, + {"cut-deepest", no_argument, 0, 'd'}, + {"cut-all", no_argument, 0, 'a'}, + {"row-first", no_argument, 0, 'F'}, + {"row-max", no_argument, 0, 'M'}, + {0, 0, 0, 0} +}; +#endif + +static const char* usage_string += "Usage: %s [OPTION]... [FILE]\n" +"Reads the definition of a Parametric Integer Programming problem\n" +"and displays the lexicographic minimum in terms of the values of the\n" +"parameters.\n\n" +"Options:\n" +" -RMB, --max-memory=MB limits memory usage to MB megabytes\n" +" -h, --help prints this help text to stdout\n" +" -oPATH, --output=PATH appends output to PATH\n" +" -P, --polylib reads problem in PolyLib format (default)\n" +" -p, --piplib reads problem in PipLib format\n" +" -t, --timings prints timings to stderr\n" +" -v, --verbose produces lots of output\n" +" -i, --iterations=N executes the resolution N times (default=1)\n" +#if defined(USE_PPL) +" -V, --version prints version information to stdout\n" +" -cPATH, --check=PATH checks if the result is equal to what is in PATH\n" +#endif +"\nCut generation options:\n" +" -f, --cut-first uses the first non-integer row (default)\n" +" -d, --cut-deepest tries to generate the deepest cut\n" +" -a, --cut-all always generates all possible cuts\n" +"\nPivot row strategy options:\n" +" -F, --row-first uses the first row with negative parameter (default)\n" +" -M, --row-max chooses row generating the lexico-maximal pivot column\n" +#ifndef PPL_HAVE_GETOPT_H +"\n" +"NOTE: this version does not support long options.\n" +#endif +"\n" +"Report bugs to <ppl-devel@cs.unipr.it>.\n"; + +#if defined(USE_PPL) +#define OPTION_LETTERS "R:ho:Pptvi:Vc:fdaFM" +#else +#define OPTION_LETTERS "R:ho:Pptvi:fdaFM" +#endif + +const char* program_name = 0; + +unsigned long max_bytes_of_virtual_memory = 0; +bool print_timings = false; +bool verbose = false; +const char* check_file_name = 0; + +void +fatal(const char* format, ...) { + va_list ap; + va_start(ap, format); + fprintf(stderr, "%s: ", program_name); + vfprintf(stderr, format, ap); + fprintf(stderr, "\n"); + va_end(ap); + exit(1); +} + +const char* input_file_name = 0; +std::istream* input_stream_p = 0; + +void +set_input(const char* file_name) { + if (input_stream_p && *input_stream_p != std::cin) + delete input_stream_p; + + if (file_name) { + input_stream_p = new std::ifstream(file_name, std::ios_base::in); + if (!*input_stream_p) + fatal("cannot open input file `%s'", file_name); + input_file_name = file_name; + } + else { + input_stream_p = &std::cin; + input_file_name = "<cin>"; + } +} + +std::istream& +input() { + assert(input_stream_p); + return *input_stream_p; +} + +const char* output_file_name = 0; +std::ostream* output_stream_p = 0; + +void +set_output(const char* file_name) { + if (output_stream_p && *output_stream_p != std::cout) + delete output_stream_p; + + if (file_name) { + output_stream_p = new std::ofstream(file_name, + std::ios_base::out + | std::ios_base::app); + if (!*output_stream_p) + fatal("cannot open output file `%s'", file_name); + output_file_name = file_name; + } + else { + output_stream_p = &std::cout; + output_file_name = "<cout>"; + } +} + +std::ostream& +output() { + assert(output_stream_p); + return *output_stream_p; +} + +bool piplib_format = false; + +} // namespace + +void +error(const char* format, ...) { + va_list ap; + va_start(ap, format); + fprintf(stderr, "%s: in `%s': ", program_name, input_file_name); + vfprintf(stderr, format, ap); + fprintf(stderr, "\n"); + va_end(ap); + exit(1); +} + +void +warning(const char* format, ...) { + va_list ap; + va_start(ap, format); + fprintf(stderr, "%s: Warning: in `%s': ", program_name, input_file_name); + vfprintf(stderr, format, ap); + fprintf(stderr, "\n"); + va_end(ap); +} + +#if PPL_HAVE_DECL_RLIMIT_AS + +void +limit_virtual_memory(const unsigned long bytes) { + struct rlimit t; + + if (getrlimit(RLIMIT_AS, &t) != 0) + fatal("getrlimit failed: %s", strerror(errno)); + + if (bytes < t.rlim_cur) { + t.rlim_cur = bytes; + if (setrlimit(RLIMIT_AS, &t) != 0) + fatal("setrlimit failed: %s", strerror(errno)); + } +} + +#else + +void +limit_virtual_memory(unsigned long) { +} + +#endif // !PPL_HAVE_DECL_RLIMIT_AS + +void +process_options(int argc, char* argv[]) { + while (true) { +#ifdef PPL_HAVE_GETOPT_H + int option_index = 0; + int c = getopt_long(argc, argv, OPTION_LETTERS, long_options, + &option_index); +#else + int c = getopt(argc, argv, OPTION_LETTERS); +#endif + + if (c == EOF) + break; + + char* endptr; + long l; + switch (c) { + case 0: + break; + + case '?': + case 'h': + fprintf(stdout, usage_string, argv[0]); + exit(0); + break; + + case 'R': + l = strtol(optarg, &endptr, 10); + if (*endptr || l < 0) + fatal("a non-negative integer must follow `-R'"); + else if (((unsigned long) l) > ULONG_MAX/(1024*1024)) + max_bytes_of_virtual_memory = ULONG_MAX; + else + max_bytes_of_virtual_memory = l*1024*1024; + break; + + case 'o': + output_file_name = optarg; + break; + + case 'P': + piplib_format = false; + break; + + case 'p': + piplib_format = true; + break; + + case 't': + print_timings = true; + break; + + case 'v': + verbose = true; + break; + + case 'i': + loop_iterations = strtol(optarg, &endptr, 10); + if (*endptr || loop_iterations < 1) + fatal("a positive integer must follow `-i'"); + break; + +#if defined(USE_PPL) + + case 'V': + fprintf(stdout, "%s\n", PPL_VERSION); + exit(0); + break; + + case 'c': + check_file_name = optarg; + break; + +#endif + + case 'f': + cutting_strategy = PPL::PIP_Problem::CUTTING_STRATEGY_FIRST; + break; + + case 'd': + cutting_strategy = PPL::PIP_Problem::CUTTING_STRATEGY_DEEPEST; + break; + + case 'a': + cutting_strategy = PPL::PIP_Problem::CUTTING_STRATEGY_ALL; + break; + + case 'F': + pivot_row_strategy = PPL::PIP_Problem::PIVOT_ROW_STRATEGY_FIRST; + break; + + case 'M': + pivot_row_strategy = PPL::PIP_Problem::PIVOT_ROW_STRATEGY_MAX_COLUMN; + break; + + default: + abort(); + } + } + + if (argc - optind > 1) + // We have multiple input files. + fatal("at most one input file is accepted"); + + // We have one input files. + if (optind < argc) + input_file_name = argv[optind]; + else + // If no input files have been specified: we will read from standard input. + assert(input_file_name == 0); +} + +void +maybe_start_clock() { + if (print_timings) + start_clock(); +} + +void +maybe_print_clock() { + if (print_timings) { + std::cerr << input_file_name << " "; + print_clock(std::cerr); + std::cerr << std::endl; + } +} + +int +main(int argc, char* argv[]) try { + program_name = argv[0]; + +#if defined(USE_PPL) + if (strcmp(PPL_VERSION, PPL::version()) != 0) + fatal("was compiled with PPL version %s, but linked with version %s", + PPL_VERSION, PPL::version()); + + if (verbose) + std::cerr << "Parma Polyhedra Library version:\n" << PPL::version() + << "\n\nParma Polyhedra Library banner:\n" << PPL::banner() + << std::endl; +#endif + + // Process command line options. + process_options(argc, argv); + + if (max_bytes_of_virtual_memory > 0) + limit_virtual_memory(max_bytes_of_virtual_memory); + + // Set up the input and output streams. + set_input(input_file_name); + set_output(output_file_name); + +// POLYHEDRON_TYPE ph; +// Representation rep = read_polyhedron(input(), ph); + std::auto_ptr<PIP_Parser> parser; + if (piplib_format) + parser.reset(new PIP_PipLib_Parser); + else + parser.reset(new PIP_PolyLib_Parser); + if (!parser->read(*input_stream_p)) + return 1; + + maybe_start_clock(); + + const PPL::PIP_Problem& pip = parser->problem(); + + if (loop_iterations == 1) { + // Compute the dual simplex on the problem. + pip.solve(); + // Write the solution. + parser->output_solution_tree(*output_stream_p); + } + else { + std::auto_ptr<PPL::PIP_Problem> pipp; + // Perform a time benchmark loop executing the resolution several times. + for (int i = 0; i < loop_iterations; ++i) { + pipp.reset(new PPL::PIP_Problem(pip)); + pipp->solve(); + } + } + +#if defined(USE_PPL) || defined(USE_PIPLIB) + maybe_print_clock(); +#endif + + return 0; +} +catch (const std::bad_alloc&) { + fatal("out of memory"); + exit(1); +} +catch (const std::overflow_error& e) { + fatal("arithmetic overflow (%s)", e.what()); + exit(1); +} +catch (...) { + fatal("internal error: please submit a bug report to ppl-devel@cs.unipr.it"); + exit(1); +} |