[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1033018: unblock: sudo/1.9.13p3-1



Control: tags -1 moreinfo

On 2023-03-15 20:11:28 +0100, Marc Haber wrote:
> Package: release.debian.org
> Severity: normal
> User: release.debian.org@packages.debian.org
> Usertags: unblock
> X-Debbugs-Cc: sudo@packages.debian.org
> Control: affects -1 + src:sudo
> 
> Please unblock package sudo
> 
> This package was uploaded to unstable before the freeze went in effect
> and without me realizing that it's a key package. The update is from
> 1.9.13p1 to 1.9.13p3, upstream patch releases fixing issues only.
> 
>     * Fix potential double free for CHROOT= rules
>       CVE-2023-27320. (Closes: #1032163)
>     * Fix --enable-static-sudoers regression
>     * check for overflow as result of fuzzing efforts
>     * Fix parser regression disallowing rules for user "list"
>     * Fix eventloop hang if there is /dev/tty data
>     * Fix sudo -l command args regression
>     * Fix sudo -l -U someuser regression
>     * Fix list privs regression
> 
> Ths biggest changes are in files generated by bison and flex (resulting from
> the parser fix to re-allow rules fot the user "list"), a number of changes are
> in the test suite that is not relevant for the resulting package.

The noise in the generated files makes the debdiff impossible to review.
Please provide a filtered debdiff without the noise in generated files.

Cheers

> 
> The "list" regression probably means that sudo -u list is not going to work, an
> idiom that is rather common for mailman installations.
> 
> Not starting bookworm with a patched sudo will make security support vastly
> easier than starting with an 1.9.13p1 with only the CVE fixed. This will leave
> the parser regressions that were only in unstable since 1.9.13p1 by the end of
> february 2012 in bookworm.
> 
> [ Checklist ]
>   [X] all changes are documented in the d/changelog
>   [X] I reviewed all changes and I approve them
>   [X] attach debdiff against the package in testing
> 
> [ Other info ]
> sudo 1.9.13p3 has only been in unstable for a week now, I am filing this
> nevertheless because of the CVE that is being fixed by this upload. Please
> decide wisely if and when this should go to bookworm. Should you reject this
> request, please let me know quickly so that I can put a CVE-reduces version of
> 1.9.13p1 in bookwor through t-p-u quickly.
> 
> unblock sudo/1.9.13p3-1

> diff -Nru sudo-1.9.13p1/ChangeLog sudo-1.9.13p3/ChangeLog
> --- sudo-1.9.13p1/ChangeLog	2023-02-16 19:46:48.000000000 +0100
> +++ sudo-1.9.13p3/ChangeLog	2023-03-04 18:00:50.000000000 +0100
> @@ -1,8 +1,127 @@
> +2023-03-04  Todd C. Miller  <Todd.Miller@sudo.ws>
> +
> +	* .hgtags:
> +	Added tag SUDO_1_9_13p3 for changeset 0bdd0b8469e3
> +	[fc4e872d6d89] [tip] <1.9>
> +
> +	* NEWS, configure, configure.ac:
> +	Sudo 1.9.13p3
> +	[0bdd0b8469e3] [SUDO_1_9_13p3] <1.9>
> +
> +2023-03-03  Todd C. Miller  <Todd.Miller@sudo.ws>
> +
> +	* plugins/sudoers/match.c, plugins/sudoers/parse.c,
> +	plugins/sudoers/parse.h:
> +	A user with "list" privs for root may not list all users. A user
> +	with "sudo ALL" for root _is_ allowed to list any user.
> +	[a3f7301ba4d3] <1.9>
> +
> +	* plugins/sudoers/policy.c:
> +	sudoers_policy_list: do not set runas_pw to list_pw when listing
> +	This change introduced in sudo 1.9.13 is not actually needed. The
> +	"list" pseudo-command checks are performed via runas_matches_pw()
> +	which does not use runas_pw. GitHub issue #248
> +	[84effa5ffaa1] <1.9>
> +
> +	* plugins/sudoers/logging.c, plugins/sudoers/parse.c,
> +	plugins/sudoers/sudoers.c:
> +	Fix "sudo -l command args", broken in sudo 1.9.13. The value of
> +	user_args should not contain the command to be run in "sudo -l
> +	command args", only the arguments of the command being checked. This
> +	restores the pre-1.9.13 behavior. GitHub issue #249
> +	[3e1225e7bf33] <1.9>
> +
> +2023-03-01  Todd C. Miller  <Todd.Miller@sudo.ws>
> +
> +	* src/exec_nopty.c, src/exec_pty.c:
> +	write_callback: only enable /dev/tty reader if the command is
> +	running This fixes a hang when there is /dev/tty data in a buffer to
> +	be flushed by the final call to del_io_events(). We do not want to
> +	re-enable the reader when flushing the buffers as part of
> +	pty_finish(). See PR #247 for analysis of the problem and how to
> +	reproduce it.
> +	[b7ea5b5e6a88] <1.9>
> +
> +2023-02-28  Todd C. Miller  <Todd.Miller@sudo.ws>
> +
> +	* plugins/sudoers/regress/testsudoers/test12.out.ok,
> +	plugins/sudoers/regress/testsudoers/test12.sh:
> +	Test non-fully qualified path name.
> +	[0a9e6e83fe15] <1.9>
> +
> +	* plugins/sudoers/Makefile.in:
> +	Fix removal of y.tab.[ch] when generating gram.[ch].
> +	[f69c86ecae66] <1.9>
> +
> +	* MANIFEST, plugins/sudoers/regress/sudoers/test30.in,
> +	plugins/sudoers/regress/sudoers/test30.json.ok,
> +	plugins/sudoers/regress/sudoers/test30.ldif.ok,
> +	plugins/sudoers/regress/sudoers/test30.ldif2sudo.ok,
> +	plugins/sudoers/regress/sudoers/test30.out.ok,
> +	plugins/sudoers/regress/sudoers/test30.sudo.ok,
> +	plugins/sudoers/regress/sudoers/test30.toke.ok:
> +	Add test for using "list" as user, runas and host.
> +	[ae2c84c73371] <1.9>
> +
> +	* plugins/sudoers/gram.c, plugins/sudoers/gram.y,
> +	plugins/sudoers/toke.c, plugins/sudoers/toke.l:
> +	Move handling of the "list" pseudo-command from lexer to parser. The
> +	special handling of "list" in the lexer meant it could not be used
> +	as a user, group or host, which was unintentional. GitHub issue
> +	#246.
> +	[efb3a4dea1da] <1.9>
> +
> +2023-02-27  Todd C. Miller  <Todd.Miller@sudo.ws>
> +
> +	* include/sudo_compat.h:
> +	Make the check for HAVE_DECL_NSIG consistent with other decl checks.
> +	[616c42c4adce] <1.9>
> +
> +2023-02-25  Todd C. Miller  <Todd.Miller@sudo.ws>
> +
> +	* .hgtags:
> +	Added tag SUDO_1_9_13p2 for changeset 2db7cee1cb77
> +	[b0af73801130] <1.9>
> +
> +	* NEWS, configure, configure.ac:
> +	Sudo 1.9.13p2.
> +	[2db7cee1cb77] [SUDO_1_9_13p2] <1.9>
> +
> +2023-02-23  Todd C. Miller  <Todd.Miller@sudo.ws>
> +
> +	* lib/util/lbuf.c:
> +	Add missing include of errno.h.
> +	[65ddd70d0c18] <1.9>
> +
> +	* lib/util/lbuf.c:
> +	sudo_lbuf_expand: check for overflow when rounding to the nearest
> +	power of 2. Problem deteced by oss-fuzz using the fuzz_sudoers
> +	fuzzer.
> +	[9357396fdaa0] <1.9>
> +
> +	* src/load_plugins.c:
> +	Fix --enable-static-sudoers, broken in sudo 1.9.13.
> +	sudo_qualify_plugin() should not try to fully-qualify the path to a
> +	statically-compiled plugin. GitHub issue #245
> +	[eca5f1f6555e] <1.9>
> +
> +2023-02-21  Todd C. Miller  <Todd.Miller@sudo.ws>
> +
> +	* MANIFEST, plugins/sudoers/match_command.c,
> +	plugins/sudoers/regress/fuzz/fuzz_sudoers.c,
> +	plugins/sudoers/regress/testsudoers/test20.out.ok,
> +	plugins/sudoers/regress/testsudoers/test20.sh,
> +	plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
> +	Fix potential double free for rules that include a CHROOT= option.
> +	If a rule with a CHROOT= option matches the user, host and runas,
> +	the user_cmnd variable could be freed twice.
> +	[2c1477233f48] <1.9>
> +
>  2023-02-16  Todd C. Miller  <Todd.Miller@sudo.ws>
>  
>  	* .hgtags:
>  	Added tag SUDO_1_9_13p1 for changeset 49e64402924f
> -	[97ae12488007] [tip] <1.9>
> +	[97ae12488007] <1.9>
>  
>  	* NEWS, configure, configure.ac:
>  	Merge sudo 1.9.13p1 from tip.
> diff -Nru sudo-1.9.13p1/configure sudo-1.9.13p3/configure
> --- sudo-1.9.13p1/configure	2023-02-16 19:43:30.000000000 +0100
> +++ sudo-1.9.13p3/configure	2023-03-04 17:59:59.000000000 +0100
> @@ -1,6 +1,6 @@
>  #! /bin/sh
>  # Guess values for system-dependent variables and create Makefiles.
> -# Generated by GNU Autoconf 2.72a for sudo 1.9.13p1.
> +# Generated by GNU Autoconf 2.72a for sudo 1.9.13p3.
>  #
>  # Report bugs to <https://bugzilla.sudo.ws/>.
>  #
> @@ -614,8 +614,8 @@
>  # Identity of this package.
>  PACKAGE_NAME='sudo'
>  PACKAGE_TARNAME='sudo'
> -PACKAGE_VERSION='1.9.13p1'
> -PACKAGE_STRING='sudo 1.9.13p1'
> +PACKAGE_VERSION='1.9.13p3'
> +PACKAGE_STRING='sudo 1.9.13p3'
>  PACKAGE_BUGREPORT='https://bugzilla.sudo.ws/'
>  PACKAGE_URL=''
>  
> @@ -1636,7 +1636,7 @@
>    # Omit some internal or obsolete options to make the list less imposing.
>    # This message is too long to be a string in the A/UX 3.1 sh.
>    cat <<_ACEOF
> -'configure' configures sudo 1.9.13p1 to adapt to many kinds of systems.
> +'configure' configures sudo 1.9.13p3 to adapt to many kinds of systems.
>  
>  Usage: $0 [OPTION]... [VAR=VALUE]...
>  
> @@ -1702,7 +1702,7 @@
>  
>  if test -n "$ac_init_help"; then
>    case $ac_init_help in
> -     short | recursive ) echo "Configuration of sudo 1.9.13p1:";;
> +     short | recursive ) echo "Configuration of sudo 1.9.13p3:";;
>     esac
>    cat <<\_ACEOF
>  
> @@ -1993,7 +1993,7 @@
>  test -n "$ac_init_help" && exit $ac_status
>  if $ac_init_version; then
>    cat <<\_ACEOF
> -sudo configure 1.9.13p1
> +sudo configure 1.9.13p3
>  generated by GNU Autoconf 2.72a
>  
>  Copyright (C) 2023 Free Software Foundation, Inc.
> @@ -2671,7 +2671,7 @@
>  This file contains any messages produced by compilers while
>  running configure, to aid debugging if configure makes a mistake.
>  
> -It was created by sudo $as_me 1.9.13p1, which was
> +It was created by sudo $as_me 1.9.13p3, which was
>  generated by GNU Autoconf 2.72a.  Invocation command line was
>  
>    $ $0$ac_configure_args_raw
> @@ -24806,40 +24806,9 @@
>  
>  			;;
>  		    *)
> -
> -if test ${LIBTLS+y}
> -then :
> -
> -  case " $LIBTLS " in #(
> -  *" $f "*) :
> -    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : LIBTLS already contains \$f"; } >&5
> -  (: LIBTLS already contains $f) 2>&5
> -  ac_status=$?
> -  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
> -  test $ac_status = 0; } ;; #(
> -  *) :
> -
> -     as_fn_append LIBTLS " $f"
> -     { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : LIBTLS=\"\$LIBTLS\""; } >&5
> -  (: LIBTLS="$LIBTLS") 2>&5
> -  ac_status=$?
> -  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
> -  test $ac_status = 0; }
> -     ;;
> -esac
> -
> -else case e in #(
> -  e)
> -  LIBTLS=$f
> -  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: : LIBTLS=\"\$LIBTLS\""; } >&5
> -  (: LIBTLS="$LIBTLS") 2>&5
> -  ac_status=$?
> -  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
> -  test $ac_status = 0; }
> -   ;;
> -esac
> -fi
> -
> +			# Do not use AX_APPEND_FLAG as it will break static builds by removing
> +			# duplicates such as -lz or -latomic which are needed by -lssl and -lcrypto
> +		        LIBTLS="$LIBTLS $f"
>  			;;
>  		esac
>  	    done
> @@ -36027,7 +35996,7 @@
>  # report actual input values of CONFIG_FILES etc. instead of their
>  # values after options handling.
>  ac_log="
> -This file was extended by sudo $as_me 1.9.13p1, which was
> +This file was extended by sudo $as_me 1.9.13p3, which was
>  generated by GNU Autoconf 2.72a.  Invocation command line was
>  
>    CONFIG_FILES    = $CONFIG_FILES
> @@ -36095,7 +36064,7 @@
>  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
>  ac_cs_config='$ac_cs_config_escaped'
>  ac_cs_version="\\
> -sudo config.status 1.9.13p1
> +sudo config.status 1.9.13p3
>  configured by $0, generated by GNU Autoconf 2.72a,
>    with options \\"\$ac_cs_config\\"
>  
> diff -Nru sudo-1.9.13p1/configure.ac sudo-1.9.13p3/configure.ac
> --- sudo-1.9.13p1/configure.ac	2023-02-16 19:43:30.000000000 +0100
> +++ sudo-1.9.13p3/configure.ac	2023-03-04 17:59:59.000000000 +0100
> @@ -18,7 +18,7 @@
>  dnl OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
>  dnl
>  AC_PREREQ([2.69])
> -AC_INIT([sudo], [1.9.13p1], [https://bugzilla.sudo.ws/], [sudo])
> +AC_INIT([sudo], [1.9.13p3], [https://bugzilla.sudo.ws/], [sudo])
>  AC_CONFIG_HEADERS([config.h pathnames.h])
>  AC_CONFIG_SRCDIR([src/sudo.c])
>  AC_CONFIG_AUX_DIR([scripts])
> diff -Nru sudo-1.9.13p1/debian/changelog sudo-1.9.13p3/debian/changelog
> --- sudo-1.9.13p1/debian/changelog	2023-02-18 13:03:19.000000000 +0100
> +++ sudo-1.9.13p3/debian/changelog	2023-03-08 21:17:05.000000000 +0100
> @@ -1,3 +1,18 @@
> +sudo (1.9.13p3-1) unstable; urgency=medium
> +
> +  * new upstream version:
> +    * Fix potential double free for CHROOT= rules
> +      CVE-2023-27320. (Closes: #1032163)
> +    * Fix --enable-static-sudoers regression
> +    * check for overflow as result of fuzzing efforts
> +    * Fix parser regression disallowing rules for user "list"
> +    * Fix eventloop hang if there is /dev/tty data
> +    * Fix sudo -l command args regression
> +    * Fix sudo -l -U someuser regression
> +    * Fix list privs regression
> +
> + -- Marc Haber <mh+debian-packages@zugschlus.de>  Wed, 08 Mar 2023 21:17:05 +0100
> +
>  sudo (1.9.13p1-1) unstable; urgency=medium
>  
>    * new upstream version 1.9.13p1
> diff -Nru sudo-1.9.13p1/debian/copyright sudo-1.9.13p3/debian/copyright
> --- sudo-1.9.13p1/debian/copyright	2023-02-18 13:03:19.000000000 +0100
> +++ sudo-1.9.13p3/debian/copyright	2023-03-08 21:17:05.000000000 +0100
> @@ -4,7 +4,7 @@
>  Source: https://www.sudo.ws/
>  
>  Files: *
> -Copyright: 1994-1996, 1998-2022  Todd C. Miller <Todd.Miller@sudo.ws>
> +Copyright: 1994-1996, 1998-2023  Todd C. Miller <Todd.Miller@sudo.ws>
>  License: ISC
>  
>  Files: src/selinux.c
> @@ -55,10 +55,123 @@
>  Copyright: 2014, Oracle and/or its affiliates.
>  License: ISC
>  
> +Files: plugins/sudoers/po/cs.po
> +Copyright: 2013-2023 Petr Pisar <petr.pisar@atlas.cz>
> +	2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
> +License: ISC
> +
> +Files: po/cs.po
> +Copyright: 2013-2023 Petr Pisar <petr.pisar@atlas.cz>
> +	2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
> +License: public-domain
> +
> +Files: plugins/sudoers/po/de.po
> +Copyright: 2001-2023 Jochen Hein <jochen@jochen.org>
> +	2013 Hendrik Knackstedt <hendrik.knackstedt@t-online.de>
> +	2015 Mario Blättermann  <mario.blaettermann@gmail.com>
> +	2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
> +License: public-domain
> +
> +Files: po/de.po
> +Copyright: 2012-2014 Jakob Kramer <jakob.kramer@gmx.de>
> +	2012, 2014-2017, 2019-2022 Mario Blättermann  <mario.blaettermann@gmail.com>
> +	2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
> +License: ISC
> +
> +Files: plugins/sudoers/po/eo.po
> +	po/eo.po
> +Copyright: 2013-2019 Felipe Castro <fefcas@gmail.com>
> +	2012, 2019-2023 Keith Bowes <zooplah@gmail.com>
> +	2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
> +License: ISC
> +
> +Files: plugins/sudoers/po/fr.po
> +Copyright: 2014-2016 Frédéric Hantrais <fhantrais@gmail.com>
> +	2023 Frédéric Marchal <fmarchal@perso.be>
> +	2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
> +License: public-domain
> +
> +Files: po/fr.po
> +Copyright: 2022-2023 Frédéric Marchal <fmarchal@perso.be>
> +	2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
> +License: public-domain
> +
> +Files: po/fur.po
> +Copyright: 2017, 2023 Fabio Tomat <f.t.public@gmail.com>
> +	2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
> +License: public-domain
> +
> +Files: plugins/sudoers/po/hr.po
> +Copyright: 2016-2023 Božidar Putanec <bozidarp@yahoo.com>
> +	2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
> +License: public-domain
> +
> +Files: po/hr.po
> +Copyright: 2012-2013 Tomislav Krznar <tomislav.krznar@gmail.com>
> +	2016-2023 Božidar Putanec <bozidarp@yahoo.com>
> +	2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
> +License: public-domain
> +
> +Files: plugins/sudoers/po/ja.po
> +	po/ja.po
> +Copyright: 2011 Yasuaki Taniguchi <yasuakit@gmail.com>
> +	2012, 2015-2023 Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>
> +	2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
> +License: public-domain
> +
> +Files: plugins/sudoers/po/ko.po
> +	po/ko.po
> +Copyright: 2016-2023 Seong-ho Cho <darkcircle.0426@gmail.com>
> +	2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
> +License: ISC
> +
> +Files: plugins/sudoers/po/pl.po
> +	po/pl.po
> +Copyright: 2011-2023 Jakub Bogusz <qboosh@pld-linux.org>
> +	2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
> +License: public-domain
> +
> +Files: plugins/sudoers/po/ro.po
> +	po/ro.po
> +Copyright: 2020 Florentina Mușat <florentina.musat.28@gmail.com>
> +	2021-2023 Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
> +	2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
> +License: ISC
> +
> +Files: plugins/sudoers/po/ru.po
> +Copyright: 2015 Artem Vorotnikov <artem@vorotnikov.me>
> +	2015, 2022 Pavel Maryanov <acid@jack.kiev.ua>
> +	2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
> +License: ISC
> +
>  Files: plugins/sudoers/po/sv.po
>  	po/sv.po
>  Copyright: 2012 Daniel Nylander <po@danielnylander.se>
>  	2016-2022 Sebastian Rasmussen <sebras@gmail.com>
> +	2021 Luna Jernberg <droidbittin@gmail.com>
> +License: public-domain
> +
> +Files: plugins/sudoers/po/uk.po
> +Copyright: 2011-2023 Yuri Chornoivan <yurchor@ukr.net>
> +	2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
> +License: public-domain
> +
> +Files: plugins/sudoers/po/zh_CN.po
> +Copyright: 2011-2018i Wylmer Wang <wantinghard@gmail.com>
> +	2019-2022 Boyuan Yang <073plan@gmail.com>
> +	2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
> +License: public-domain
> +
> +Files: plugins/sudoers/po/zh_TW.po
> +Copyright: 2019 Hugwalk <baozou0421@gmail.com>
> +	2019-2021 Yi-Jyun Pan <pan93412@gmail.com>
> +	2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
> +License: public-domain
> +
> +Files: po/zh_TW.po
> +Copyright: 2018 林博仁 (Buo-ren, Lin) <Buo.Ren.Lin@gmail.com> 
> +	2019-2021 Yi-Jyun Pan <pan93412@gmail.com>
> +	2011-2013 Todd C. Miller <Todd.Miller@courtesan.com>
>  License: public-domain
>  
>  Files: lib/util/mmap_alloc.c
> diff -Nru sudo-1.9.13p1/include/sudo_compat.h sudo-1.9.13p3/include/sudo_compat.h
> --- sudo-1.9.13p1/include/sudo_compat.h	2023-02-14 17:53:06.000000000 +0100
> +++ sudo-1.9.13p3/include/sudo_compat.h	2023-03-04 16:50:09.000000000 +0100
> @@ -205,7 +205,7 @@
>  #endif /* !HAVE_DECL_ERRNO */
>  
>  /* Not all systems define NSIG in signal.h */
> -#if !defined(HAVE_DECL_NSIG) || !HAVE_DECL_NSIG
> +#if defined(HAVE_DECL_NSIG) && !HAVE_DECL_NSIG
>  # if defined(HAVE_DECL__NSIG) && HAVE_DECL__NSIG
>  #  define NSIG _NSIG
>  # elif defined(HAVE_DECL___NSIG) && HAVE_DECL___NSIG
> diff -Nru sudo-1.9.13p1/lib/util/lbuf.c sudo-1.9.13p3/lib/util/lbuf.c
> --- sudo-1.9.13p1/lib/util/lbuf.c	2023-02-14 17:53:02.000000000 +0100
> +++ sudo-1.9.13p3/lib/util/lbuf.c	2023-02-23 17:14:45.000000000 +0100
> @@ -26,6 +26,7 @@
>  #include <stdlib.h>
>  #include <string.h>
>  #include <ctype.h>
> +#include <errno.h>
>  
>  #include "sudo_compat.h"
>  #include "sudo_debug.h"
> @@ -70,6 +71,7 @@
>      debug_decl(sudo_lbuf_expand, SUDO_DEBUG_UTIL);
>  
>      if (lbuf->len + extra + 1 <= lbuf->len) {
> +	errno = ENOMEM;
>  	sudo_debug_printf(SUDO_DEBUG_ERROR|SUDO_DEBUG_LINENO,
>  	    "integer overflow updating lbuf->len");
>  	lbuf->error = 1;
> @@ -80,6 +82,13 @@
>  	unsigned int new_size = sudo_pow2_roundup(lbuf->len + extra + 1);
>  	char *new_buf;
>  
> +	if (new_size < lbuf->size) {
> +	    errno = ENOMEM;
> +	    sudo_debug_printf(SUDO_DEBUG_ERROR|SUDO_DEBUG_LINENO,
> +		"integer overflow updating lbuf->size");
> +	    lbuf->error = 1;
> +	    debug_return_bool(false);
> +	}
>  	if (new_size < 1024)
>  	    new_size = 1024;
>  	if ((new_buf = realloc(lbuf->buf, new_size)) == NULL) {
> diff -Nru sudo-1.9.13p1/MANIFEST sudo-1.9.13p3/MANIFEST
> --- sudo-1.9.13p1/MANIFEST	2023-02-14 17:53:02.000000000 +0100
> +++ sudo-1.9.13p3/MANIFEST	2023-03-04 16:50:10.000000000 +0100
> @@ -995,6 +995,13 @@
>  plugins/sudoers/regress/sudoers/test3.ldif2sudo.ok
>  plugins/sudoers/regress/sudoers/test3.out.ok
>  plugins/sudoers/regress/sudoers/test3.toke.ok
> +plugins/sudoers/regress/sudoers/test30.in
> +plugins/sudoers/regress/sudoers/test30.json.ok
> +plugins/sudoers/regress/sudoers/test30.ldif.ok
> +plugins/sudoers/regress/sudoers/test30.ldif2sudo.ok
> +plugins/sudoers/regress/sudoers/test30.out.ok
> +plugins/sudoers/regress/sudoers/test30.sudo.ok
> +plugins/sudoers/regress/sudoers/test30.toke.ok
>  plugins/sudoers/regress/sudoers/test4.in
>  plugins/sudoers/regress/sudoers/test4.json.ok
>  plugins/sudoers/regress/sudoers/test4.ldif.ok
> @@ -1052,6 +1059,8 @@
>  plugins/sudoers/regress/testsudoers/test2.inc
>  plugins/sudoers/regress/testsudoers/test2.out.ok
>  plugins/sudoers/regress/testsudoers/test2.sh
> +plugins/sudoers/regress/testsudoers/test20.out.ok
> +plugins/sudoers/regress/testsudoers/test20.sh
>  plugins/sudoers/regress/testsudoers/test3.out.ok
>  plugins/sudoers/regress/testsudoers/test3.sh
>  plugins/sudoers/regress/testsudoers/test4.out.ok
> diff -Nru sudo-1.9.13p1/NEWS sudo-1.9.13p3/NEWS
> --- sudo-1.9.13p1/NEWS	2023-02-16 19:43:30.000000000 +0100
> +++ sudo-1.9.13p3/NEWS	2023-03-04 17:59:59.000000000 +0100
> @@ -1,3 +1,28 @@
> +What's new in Sudo 1.9.13p3
> +
> + * Fixed a bug introduced in sudo 1.9.13 that caused a syntax error
> +   when "list" was used as a user or host name.  GitHub issue #246.
> +
> + * Fixed a bug that could cause sudo to hang when running a command
> +   in a pseudo-terminal when there is still input buffered after a
> +   command has exited.
> +
> + * Fixed "sudo -U otheruser -l command".  This is a regression in
> +   sudo 1.9.13.  GitHub issue #248.
> +
> + * Fixed "sudo -l command args" when matching a command in sudoers
> +   with command line arguments.  This is a regression in sudo 1.9.13.
> +   GitHub issue #249.
> +
> +What's new in Sudo 1.9.13p2
> +
> + * Fixed the --enable-static-sudoers option, broken in sudo 1.9.13.
> +   GitHub issue #245.
> +
> + * Fixed a potential double-free bug when matching a sudoers rule
> +   that contains a per-command chroot directive (CHROOT=dir).  This
> +   bug was introduced in sudo 1.9.8.
> +
>  What's new in Sudo 1.9.13p1
>  
>   * Fixed a typo in the configure script that resulted in a line
> diff -Nru sudo-1.9.13p1/plugins/sudoers/gram.c sudo-1.9.13p3/plugins/sudoers/gram.c
> --- sudo-1.9.13p1/plugins/sudoers/gram.c	2023-02-14 17:53:02.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/gram.c	2023-03-04 16:50:10.000000000 +0100
> @@ -810,7 +810,7 @@
>  #endif /* !YYCOPY_NEEDED */
>  
>  /* YYFINAL -- State number of the termination state.  */
> -#define YYFINAL  89
> +#define YYFINAL  90
>  /* YYLAST -- Last index in YYTABLE.  */
>  #define YYLAST   332
>  
> @@ -819,9 +819,9 @@
>  /* YYNNTS -- Number of nonterminals.  */
>  #define YYNNTS  55
>  /* YYNRULES -- Number of rules.  */
> -#define YYNRULES  154
> +#define YYNRULES  155
>  /* YYNSTATES -- Number of states.  */
> -#define YYNSTATES  255
> +#define YYNSTATES  256
>  
>  /* YYMAXUTOK -- Last valid token kind.  */
>  #define YYMAXUTOK   310
> @@ -887,11 +887,11 @@
>       793,   794,   795,   798,   804,   807,   812,   817,   826,   835,
>       847,   854,   861,   868,   875,   884,   887,   890,   893,   896,
>       899,   902,   905,   908,   911,   914,   917,   920,   923,   926,
> -     929,   932,   937,   951,   960,   983,   984,   987,   987,   999,
> -    1002,  1003,  1010,  1011,  1014,  1014,  1026,  1029,  1030,  1037,
> -    1038,  1041,  1041,  1053,  1056,  1057,  1060,  1060,  1072,  1075,
> -    1076,  1083,  1087,  1093,  1102,  1110,  1119,  1128,  1139,  1140,
> -    1147,  1151,  1157,  1166,  1174
> +     929,   932,   937,   951,   960,   981,  1004,  1005,  1008,  1008,
> +    1020,  1023,  1024,  1031,  1032,  1035,  1035,  1047,  1050,  1051,
> +    1058,  1059,  1062,  1062,  1074,  1077,  1078,  1081,  1081,  1093,
> +    1096,  1097,  1104,  1108,  1114,  1123,  1131,  1140,  1149,  1160,
> +    1161,  1168,  1172,  1178,  1187,  1195
>  };
>  #endif
>  
> @@ -938,7 +938,7 @@
>  }
>  #endif
>  
> -#define YYPACT_NINF (-115)
> +#define YYPACT_NINF (-116)
>  
>  #define yypact_value_is_default(Yyn) \
>    ((Yyn) == YYPACT_NINF)
> @@ -952,32 +952,32 @@
>     STATE-NUM.  */
>  static const yytype_int16 yypact[] =
>  {
> -     177,   -29,  -115,  -115,  -115,  -115,    46,    47,     9,   241,
> -     245,   245,     6,  -115,    32,    75,    89,   117,   192,  -115,
> -      41,   221,  -115,  -115,  -115,    69,  -115,  -115,  -115,    10,
> -      11,   238,    96,    30,  -115,  -115,  -115,  -115,  -115,  -115,
> -     258,  -115,  -115,     8,    54,    54,  -115,  -115,  -115,   101,
> -      21,    35,    42,    80,  -115,    12,  -115,  -115,  -115,    56,
> -    -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,
> -    -115,  -115,  -115,    68,    53,  -115,  -115,    98,    55,  -115,
> -    -115,   116,    67,  -115,  -115,   119,   111,  -115,  -115,  -115,
> -    -115,   245,   114,  -115,    -3,   107,  -115,   133,  -115,   127,
> -     173,   174,  -115,     9,  -115,  -115,   241,   156,   157,   161,
> -    -115,   195,   196,   197,   199,   209,  -115,     6,   169,   126,
> -     241,    32,  -115,   178,     6,    75,  -115,   180,   245,    89,
> -    -115,   183,   245,   117,  -115,  -115,    38,  -115,   172,  -115,
> -    -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,
> -    -115,  -115,  -115,  -115,  -115,  -115,   241,   186,  -115,     6,
> -     190,  -115,   245,   200,  -115,   245,   200,  -115,  -115,  -115,
> -     235,   205,  -115,  -115,   186,   190,   200,   200,   153,   194,
> -      76,   172,   243,  -115,  -115,  -115,   103,   210,  -115,  -115,
> -    -115,   153,  -115,   220,   226,   236,   240,   244,   246,   248,
> -     249,   250,   251,  -115,  -115,  -115,  -115,  -115,  -115,  -115,
> -    -115,  -115,  -115,     1,  -115,   153,   210,   252,   276,   294,
> -     295,   296,   297,   298,   299,   300,   301,  -115,  -115,  -115,
> -    -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,
> -    -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,
> -    -115,  -115,  -115,  -115,  -115
> +     174,   -29,  -116,  -116,  -116,  -116,    35,    38,    11,   239,
> +     150,   150,     8,  -116,    32,    76,    88,   114,   254,  -116,
> +      58,   218,  -116,  -116,  -116,    70,  -116,  -116,  -116,    12,
> +      13,   136,    73,    14,  -116,  -116,  -116,  -116,  -116,  -116,
> +     276,  -116,  -116,     4,    10,    10,  -116,  -116,  -116,  -116,
> +     190,    42,    81,    85,    97,  -116,    64,  -116,  -116,  -116,
> +      52,  -116,  -116,  -116,  -116,  -116,  -116,  -116,  -116,  -116,
> +    -116,  -116,  -116,  -116,    57,     2,  -116,  -116,   111,     9,
> +    -116,  -116,   112,    56,  -116,  -116,   123,    61,  -116,  -116,
> +    -116,  -116,   150,    62,  -116,    75,    90,  -116,   130,  -116,
> +     188,   204,   205,  -116,    11,  -116,  -116,   239,    55,    66,
> +     108,  -116,   207,   210,   213,   228,   143,  -116,     8,   155,
> +     175,   239,    32,  -116,   209,     8,    76,  -116,   211,   150,
> +      88,  -116,   217,   150,   114,  -116,  -116,   194,  -116,   202,
> +    -116,  -116,  -116,  -116,  -116,  -116,  -116,  -116,  -116,  -116,
> +    -116,  -116,  -116,  -116,  -116,  -116,  -116,   239,   225,  -116,
> +       8,   227,  -116,   150,   229,  -116,   150,   229,  -116,  -116,
> +    -116,   233,   230,  -116,  -116,   225,   227,   229,   229,   235,
> +     232,   121,   202,   240,  -116,  -116,  -116,   255,   238,  -116,
> +    -116,  -116,   235,  -116,   234,   236,   244,   246,   247,   260,
> +     261,   262,   263,   264,  -116,  -116,  -116,  -116,  -116,  -116,
> +    -116,  -116,  -116,  -116,     1,  -116,   235,   238,   241,   296,
> +     297,   298,   299,   300,   302,   303,   304,   305,  -116,  -116,
> +    -116,  -116,  -116,  -116,  -116,  -116,  -116,  -116,  -116,  -116,
> +    -116,  -116,  -116,  -116,  -116,  -116,  -116,  -116,  -116,  -116,
> +    -116,  -116,  -116,  -116,  -116,  -116
>  };
>  
>  /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
> @@ -985,54 +985,54 @@
>     means the default is an error.  */
>  static const yytype_uint8 yydefact[] =
>  {
> -       0,     0,   143,   145,   146,   147,     0,     0,     0,     0,
> -       0,     0,     0,   144,     0,     0,     0,     0,     0,     6,
> -       0,     0,     4,     8,     9,     0,   139,   141,     7,     0,
> +       0,     0,   144,   146,   147,   148,     0,     0,     0,     0,
> +       0,     0,     0,   145,     0,     0,     0,     0,     0,     6,
> +       0,     0,     4,     8,     9,     0,   140,   142,     7,     0,
>         0,    26,     0,     0,    24,    37,    40,    39,    41,    38,
> -       0,   120,    35,     0,     0,     0,   114,   113,   112,     0,
> -       0,     0,     0,     0,    49,     0,   127,    51,    53,     0,
> -     117,    72,    73,    74,    79,    78,    82,    80,    81,    75,
> -      76,    77,    83,     0,     0,   115,   124,     0,     0,   122,
> -     136,     0,     0,   134,   131,     0,     0,   129,   142,     1,
> -       5,     0,     0,    31,     0,     0,    20,     0,    22,     0,
> -       0,     0,    27,     0,    15,    36,     0,     0,     0,     0,
> -      54,     0,     0,     0,     0,     0,    52,     0,     0,     0,
> -       0,     0,    12,     0,     0,     0,    13,     0,     0,     0,
> -      11,     0,     0,     0,    14,   140,     0,    10,    65,    21,
> -      23,    28,    29,    30,    25,   121,    18,    16,    17,    45,
> -      46,    47,    48,    50,   128,    19,     0,   119,   116,     0,
> -     126,   123,     0,   138,   135,     0,   133,   130,    33,    32,
> -      67,    34,    42,    84,   118,   125,   137,   132,    71,     0,
> -      68,    65,    95,   152,   154,   153,     0,    70,   148,   150,
> -      66,     0,    43,     0,     0,     0,     0,     0,     0,     0,
> -       0,     0,     0,    85,    86,    89,    87,    88,    90,    91,
> -      92,    93,    94,     0,   151,     0,    69,     0,     0,     0,
> -       0,     0,     0,     0,     0,     0,     0,    96,    97,    98,
> -      99,   102,   103,   104,   105,   106,   107,   110,   111,   108,
> -     109,   100,   101,    44,   149,    56,    55,    61,    60,    62,
> -      63,    64,    57,    58,    59
> +       0,   121,    35,     0,     0,     0,   114,   113,   115,   112,
> +       0,     0,     0,     0,     0,    49,     0,   128,    51,    53,
> +       0,   118,    72,    73,    74,    79,    78,    82,    80,    81,
> +      75,    76,    77,    83,     0,     0,   116,   125,     0,     0,
> +     123,   137,     0,     0,   135,   132,     0,     0,   130,   143,
> +       1,     5,     0,     0,    31,     0,     0,    20,     0,    22,
> +       0,     0,     0,    27,     0,    15,    36,     0,     0,     0,
> +       0,    54,     0,     0,     0,     0,     0,    52,     0,     0,
> +       0,     0,     0,    12,     0,     0,     0,    13,     0,     0,
> +       0,    11,     0,     0,     0,    14,   141,     0,    10,    65,
> +      21,    23,    28,    29,    30,    25,   122,    18,    16,    17,
> +      45,    46,    47,    48,    50,   129,    19,     0,   120,   117,
> +       0,   127,   124,     0,   139,   136,     0,   134,   131,    33,
> +      32,    67,    34,    42,    84,   119,   126,   138,   133,    71,
> +       0,    68,    65,    95,   153,   155,   154,     0,    70,   149,
> +     151,    66,     0,    43,     0,     0,     0,     0,     0,     0,
> +       0,     0,     0,     0,    85,    86,    89,    87,    88,    90,
> +      91,    92,    93,    94,     0,   152,     0,    69,     0,     0,
> +       0,     0,     0,     0,     0,     0,     0,     0,    96,    97,
> +      98,    99,   102,   103,   104,   105,   106,   107,   110,   111,
> +     108,   109,   100,   101,    44,   150,    56,    55,    61,    60,
> +      62,    63,    64,    57,    58,    59
>  };
>  
>  /* YYPGOTO[NTERM-NUM].  */
>  static const yytype_int16 yypgoto[] =
>  {
> -    -115,  -115,  -115,   290,  -115,  -115,   120,   211,  -115,   176,
> -     207,   275,  -115,   135,   202,  -115,  -114,   263,  -115,  -115,
> -    -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,
> -    -115,    -9,  -115,  -115,   270,  -115,   201,  -115,    -7,  -115,
> -     198,  -115,  -107,  -115,   187,  -115,  -115,   203,  -115,   -10,
> -     230,   306,   134,   112,   140
> +    -116,  -116,  -116,   294,  -116,  -116,    -6,   212,  -116,   180,
> +     214,   278,  -116,   137,   206,  -116,  -115,   267,  -116,  -116,
> +    -116,  -116,  -116,  -116,  -116,  -116,  -116,  -116,  -116,  -116,
> +    -116,    -9,  -116,  -116,   270,  -116,   203,  -116,    -7,  -116,
> +     198,  -116,   -85,  -116,   192,  -116,  -116,   197,  -116,   -10,
> +     237,   310,   138,   115,   145
>  };
>  
>  /* YYDEFGOTO[NTERM-NUM].  */
>  static const yytype_uint8 yydefgoto[] =
>  {
> -       0,    20,    21,    22,    23,    24,    33,    34,    92,    93,
> -      41,    42,   171,   172,    54,    55,    56,    57,   203,   204,
> -     205,   206,   207,   208,   209,   210,   211,   212,   173,   179,
> -      72,    73,   182,   213,    58,    74,    75,   119,    94,    78,
> -      79,   123,    59,    86,    87,   131,    82,    83,   127,    25,
> -      26,    27,   187,   188,   189
> +       0,    20,    21,    22,    23,    24,    33,    34,    93,    94,
> +      41,    42,   172,   173,    55,    56,    57,    58,   204,   205,
> +     206,   207,   208,   209,   210,   211,   212,   213,   174,   180,
> +      73,    74,   183,   214,    59,    75,    76,   120,    95,    79,
> +      80,   124,    60,    87,    88,   132,    83,    84,   128,    25,
> +      26,    27,   188,   189,   190
>  };
>  
>  /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
> @@ -1040,78 +1040,78 @@
>     number is the opposite.  If YYTABLE_NINF, syntax error.  */
>  static const yytype_int16 yytable[] =
>  {
> -      44,    45,    43,   154,    46,    47,    77,    81,    85,    46,
> -      47,    95,    97,    31,    31,    46,    47,   160,    28,   227,
> -     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
> -     238,   239,   240,   241,   242,    48,    60,   138,   106,   168,
> -      48,    89,    35,    49,    36,    37,    48,    38,    49,   106,
> -      32,    32,   175,   115,    49,    29,    30,    96,    98,    31,
> -     111,    31,    50,    51,    52,    53,    61,    50,    51,    52,
> -      53,   103,    39,    35,   112,    36,    37,   104,    38,    76,
> -      40,   113,    62,    63,    64,    65,    66,    67,    68,    69,
> -      70,    71,   121,    80,   125,    91,    32,   117,    32,   243,
> -     122,   102,   126,    39,    46,    47,   129,   183,   120,    61,
> -      91,    40,   184,   157,   130,   191,    77,    91,   163,   114,
> -      81,    84,   166,    61,    85,    62,    63,    64,    65,    66,
> -      67,    68,    69,    70,    71,    48,   141,   185,   124,    62,
> -      63,    64,    65,    66,    67,    68,    69,    70,    71,   174,
> -     133,    61,   176,   136,   139,   177,   128,   183,   134,   132,
> -     180,   137,   184,   107,   108,   109,   156,    62,    63,    64,
> -      65,    66,    67,    68,    69,    70,    71,    -2,     1,   118,
> -     140,     2,   142,   143,     3,     4,     5,   185,     6,     7,
> -       8,     9,    10,    11,    12,   186,     2,   103,   103,     3,
> -       4,     5,   103,   146,   147,   149,   150,   151,   148,   152,
> -     103,    13,    14,    15,    16,    17,   155,   170,   159,    18,
> -     162,    -3,     1,   165,    19,     2,    13,   106,     3,     4,
> -       5,   117,     6,     7,     8,     9,    10,    11,    12,     2,
> -     190,    91,     3,     4,     5,    35,   181,    36,    37,     2,
> -      38,   215,     3,     4,     5,    13,    14,    15,    16,    17,
> -     217,   245,    35,    18,    36,    37,   218,    38,    19,    13,
> -      50,    51,    52,    53,   178,    39,   219,    18,    99,    13,
> -     220,   100,   101,    40,   221,   246,   222,    18,   223,   224,
> -     225,   226,    39,   193,   194,   195,   196,   197,   198,   199,
> -     200,   201,   202,   247,   248,   249,   250,   251,   252,   253,
> -     254,    90,   169,   145,   144,   105,   192,   153,   116,   110,
> -     167,   135,   158,   161,    88,   216,   214,   244,     0,     0,
> -       0,     0,   164
> +      44,    45,    43,   155,    46,    47,    78,    82,    86,    31,
> +      48,    46,    47,    96,    98,    31,    31,    48,    28,   228,
> +     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
> +     239,   240,   241,   242,   243,    49,    61,   108,   109,   110,
> +     161,   122,    49,    50,    29,   107,    32,    30,   126,   123,
> +      50,    92,    32,    32,   119,   104,   127,    31,    90,    97,
> +      99,   105,    51,    52,    53,    54,    62,    46,    47,    51,
> +      52,    53,    54,    48,    35,   176,    36,    37,   103,    38,
> +      77,   112,    63,    64,    65,    66,    67,    68,    69,    70,
> +      71,    72,    81,   118,    32,   130,   104,   121,    49,   244,
> +     134,   137,   147,   131,    39,   116,    50,   104,   135,   138,
> +      62,    92,    40,   148,   158,   139,   107,    78,    85,   164,
> +     113,    82,    62,   167,   114,    86,    63,    64,    65,    66,
> +      67,    68,    69,    70,    71,    72,   115,   140,    63,    64,
> +      65,    66,    67,    68,    69,    70,    71,    72,    62,   104,
> +     175,   125,   129,   177,     2,   149,   178,     3,     4,     5,
> +     192,   181,    92,   133,    63,    64,    65,    66,    67,    68,
> +      69,    70,    71,    72,    -2,     1,   100,   141,     2,   101,
> +     102,     3,     4,     5,    13,     6,     7,     8,     9,    10,
> +      11,    12,    18,    46,    47,   169,   104,   142,    35,    48,
> +      36,    37,   156,    38,    51,    52,    53,    54,    13,    14,
> +      15,    16,    17,   143,   144,   157,    18,   150,    -3,     1,
> +     151,    19,     2,   152,    49,     3,     4,     5,    39,     6,
> +       7,     8,     9,    10,    11,    12,    40,     2,   153,   184,
> +       3,     4,     5,    35,   185,    36,    37,   171,    38,   160,
> +     246,   163,    13,    14,    15,    16,    17,   166,     2,   184,
> +      18,     3,     4,     5,   185,    19,   107,    13,   118,   186,
> +      92,   182,   179,    39,   218,    18,   219,   187,   191,   216,
> +      35,    40,    36,    37,   220,    38,   221,   222,    13,   186,
> +     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
> +     223,   224,   225,   226,   227,   247,   248,   249,   250,   251,
> +      39,   252,   253,   254,   255,    91,   145,   170,   106,   193,
> +     111,   146,   154,   117,   162,   159,   168,   165,    89,   136,
> +     217,   245,   215
>  };
>  
> -static const yytype_int16 yycheck[] =
> +static const yytype_uint8 yycheck[] =
>  {
> -      10,    11,     9,   117,     3,     4,    15,    16,    17,     3,
> -       4,     1,     1,     5,     5,     3,     4,   124,    47,    18,
> +      10,    11,     9,   118,     3,     4,    15,    16,    17,     5,
> +       9,     3,     4,     1,     1,     5,     5,     9,    47,    18,
>        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
> -      29,    30,    31,    32,    33,    34,     4,    40,    41,     1,
> -      34,     0,     4,    42,     6,     7,    34,     9,    42,    41,
> -      42,    42,   159,    41,    42,     9,     9,    47,    47,     5,
> -      39,     5,    61,    62,    63,    64,    34,    61,    62,    63,
> -      64,    41,    34,     4,    39,     6,     7,    47,     9,     4,
> -      42,    39,    50,    51,    52,    53,    54,    55,    56,    57,
> -      58,    59,    39,     4,    39,    41,    42,    41,    42,   213,
> -      47,     5,    47,    34,     3,     4,    39,     4,    40,    34,
> -      41,    42,     9,   120,    47,    39,   125,    41,   128,    39,
> -     129,     4,   132,    34,   133,    50,    51,    52,    53,    54,
> -      55,    56,    57,    58,    59,    34,     9,    34,    40,    50,
> -      51,    52,    53,    54,    55,    56,    57,    58,    59,   156,
> -      39,    34,   162,    39,    47,   165,    40,     4,    47,    40,
> -     170,    47,     9,    43,    44,    45,    40,    50,    51,    52,
> -      53,    54,    55,    56,    57,    58,    59,     0,     1,    59,
> -      47,     4,     9,     9,     7,     8,     9,    34,    11,    12,
> -      13,    14,    15,    16,    17,    42,     4,    41,    41,     7,
> -       8,     9,    41,    47,    47,    10,    10,    10,    47,    10,
> -      41,    34,    35,    36,    37,    38,    47,    45,    40,    42,
> -      40,     0,     1,    40,    47,     4,    34,    41,     7,     8,
> -       9,    41,    11,    12,    13,    14,    15,    16,    17,     4,
> -      46,    41,     7,     8,     9,     4,    41,     6,     7,     4,
> -       9,    41,     7,     8,     9,    34,    35,    36,    37,    38,
> -      40,     9,     4,    42,     6,     7,    40,     9,    47,    34,
> -      61,    62,    63,    64,    39,    34,    40,    42,    40,    34,
> -      40,    43,    44,    42,    40,     9,    40,    42,    40,    40,
> -      40,    40,    34,    50,    51,    52,    53,    54,    55,    56,
> -      57,    58,    59,     9,     9,     9,     9,     9,     9,     9,
> -       9,    21,   136,   106,   103,    40,   181,   115,    55,    49,
> -     133,    91,   121,   125,    18,   191,   186,   215,    -1,    -1,
> -      -1,    -1,   129
> +      29,    30,    31,    32,    33,    34,     4,    43,    44,    45,
> +     125,    39,    34,    42,     9,    41,    42,     9,    39,    47,
> +      42,    41,    42,    42,    60,    41,    47,     5,     0,    47,
> +      47,    47,    61,    62,    63,    64,    34,     3,     4,    61,
> +      62,    63,    64,     9,     4,   160,     6,     7,     5,     9,
> +       4,    39,    50,    51,    52,    53,    54,    55,    56,    57,
> +      58,    59,     4,    41,    42,    39,    41,    40,    34,   214,
> +      39,    39,    47,    47,    34,    41,    42,    41,    47,    47,
> +      34,    41,    42,    47,   121,    40,    41,   126,     4,   129,
> +      39,   130,    34,   133,    39,   134,    50,    51,    52,    53,
> +      54,    55,    56,    57,    58,    59,    39,    47,    50,    51,
> +      52,    53,    54,    55,    56,    57,    58,    59,    34,    41,
> +     157,    40,    40,   163,     4,    47,   166,     7,     8,     9,
> +      39,   171,    41,    40,    50,    51,    52,    53,    54,    55,
> +      56,    57,    58,    59,     0,     1,    40,    47,     4,    43,
> +      44,     7,     8,     9,    34,    11,    12,    13,    14,    15,
> +      16,    17,    42,     3,     4,     1,    41,     9,     4,     9,
> +       6,     7,    47,     9,    61,    62,    63,    64,    34,    35,
> +      36,    37,    38,     9,     9,    40,    42,    10,     0,     1,
> +      10,    47,     4,    10,    34,     7,     8,     9,    34,    11,
> +      12,    13,    14,    15,    16,    17,    42,     4,    10,     4,
> +       7,     8,     9,     4,     9,     6,     7,    45,     9,    40,
> +       9,    40,    34,    35,    36,    37,    38,    40,     4,     4,
> +      42,     7,     8,     9,     9,    47,    41,    34,    41,    34,
> +      41,    41,    39,    34,    40,    42,    40,    42,    46,    41,
> +       4,    42,     6,     7,    40,     9,    40,    40,    34,    34,
> +      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
> +      40,    40,    40,    40,    40,     9,     9,     9,     9,     9,
> +      34,     9,     9,     9,     9,    21,   104,   137,    40,   182,
> +      50,   107,   116,    56,   126,   122,   134,   130,    18,    92,
> +     192,   216,   187
>  };
>  
>  /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
> @@ -1122,28 +1122,28 @@
>        15,    16,    17,    34,    35,    36,    37,    38,    42,    47,
>        66,    67,    68,    69,    70,   114,   115,   116,    47,     9,
>         9,     5,    42,    71,    72,     4,     6,     7,     9,    34,
> -      42,    75,    76,   103,   114,   114,     3,     4,    34,    42,
> -      61,    62,    63,    64,    79,    80,    81,    82,    99,   107,
> -       4,    34,    50,    51,    52,    53,    54,    55,    56,    57,
> -      58,    59,    95,    96,   100,   101,     4,    96,   104,   105,
> -       4,    96,   111,   112,     4,    96,   108,   109,   116,     0,
> -      68,    41,    73,    74,   103,     1,    47,     1,    47,    40,
> -      43,    44,     5,    41,    47,    76,    41,    71,    71,    71,
> -      99,    39,    39,    39,    39,    41,    82,    41,    71,   102,
> -      40,    39,    47,   106,    40,    39,    47,   113,    40,    39,
> -      47,   110,    40,    39,    47,   115,    39,    47,    40,    47,
> -      47,     9,     9,     9,    72,    75,    47,    47,    47,    10,
> -      10,    10,    10,    79,    81,    47,    40,   103,   101,    40,
> -     107,   105,    40,   114,   112,    40,   114,   109,     1,    74,
> -      45,    77,    78,    93,   103,   107,   114,   114,    39,    94,
> -     114,    41,    97,     4,     9,    34,    42,   117,   118,   119,
> -      46,    39,    78,    50,    51,    52,    53,    54,    55,    56,
> -      57,    58,    59,    83,    84,    85,    86,    87,    88,    89,
> -      90,    91,    92,    98,   119,    41,   117,    40,    40,    40,
> -      40,    40,    40,    40,    40,    40,    40,    18,    19,    20,
> -      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
> -      31,    32,    33,    81,   118,     9,     9,     9,     9,     9,
> -       9,     9,     9,     9,     9
> +      42,    75,    76,   103,   114,   114,     3,     4,     9,    34,
> +      42,    61,    62,    63,    64,    79,    80,    81,    82,    99,
> +     107,     4,    34,    50,    51,    52,    53,    54,    55,    56,
> +      57,    58,    59,    95,    96,   100,   101,     4,    96,   104,
> +     105,     4,    96,   111,   112,     4,    96,   108,   109,   116,
> +       0,    68,    41,    73,    74,   103,     1,    47,     1,    47,
> +      40,    43,    44,     5,    41,    47,    76,    41,    71,    71,
> +      71,    99,    39,    39,    39,    39,    41,    82,    41,    71,
> +     102,    40,    39,    47,   106,    40,    39,    47,   113,    40,
> +      39,    47,   110,    40,    39,    47,   115,    39,    47,    40,
> +      47,    47,     9,     9,     9,    72,    75,    47,    47,    47,
> +      10,    10,    10,    10,    79,    81,    47,    40,   103,   101,
> +      40,   107,   105,    40,   114,   112,    40,   114,   109,     1,
> +      74,    45,    77,    78,    93,   103,   107,   114,   114,    39,
> +      94,   114,    41,    97,     4,     9,    34,    42,   117,   118,
> +     119,    46,    39,    78,    50,    51,    52,    53,    54,    55,
> +      56,    57,    58,    59,    83,    84,    85,    86,    87,    88,
> +      89,    90,    91,    92,    98,   119,    41,   117,    40,    40,
> +      40,    40,    40,    40,    40,    40,    40,    40,    18,    19,
> +      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
> +      30,    31,    32,    33,    81,   118,     9,     9,     9,     9,
> +       9,     9,     9,     9,     9,     9
>  };
>  
>  /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.  */
> @@ -1160,11 +1160,11 @@
>        95,    95,    95,    96,    97,    97,    97,    97,    97,    97,
>        97,    97,    97,    97,    97,    98,    98,    98,    98,    98,
>        98,    98,    98,    98,    98,    98,    98,    98,    98,    98,
> -      98,    98,    99,    99,    99,   100,   100,   102,   101,   101,
> -     103,   103,   104,   104,   106,   105,   105,   107,   107,   108,
> -     108,   110,   109,   109,   111,   111,   113,   112,   112,   114,
> -     114,   115,   115,   116,   116,   116,   116,   116,   117,   117,
> -     118,   118,   119,   119,   119
> +      98,    98,    99,    99,    99,    99,   100,   100,   102,   101,
> +     101,   103,   103,   104,   104,   106,   105,   105,   107,   107,
> +     108,   108,   110,   109,   109,   111,   111,   113,   112,   112,
> +     114,   114,   115,   115,   116,   116,   116,   116,   116,   117,
> +     117,   118,   118,   119,   119,   119
>  };
>  
>  /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.  */
> @@ -1181,11 +1181,11 @@
>         1,     1,     1,     1,     0,     2,     2,     2,     2,     2,
>         2,     2,     2,     2,     2,     0,     2,     2,     2,     2,
>         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -       2,     2,     1,     1,     1,     1,     3,     0,     4,     3,
> -       1,     3,     1,     3,     0,     4,     3,     1,     3,     1,
> -       3,     0,     4,     3,     1,     3,     0,     4,     3,     1,
> -       3,     1,     2,     1,     1,     1,     1,     1,     1,     3,
> -       1,     2,     1,     1,     1
> +       2,     2,     1,     1,     1,     1,     1,     3,     0,     4,
> +       3,     1,     3,     1,     3,     0,     4,     3,     1,     3,
> +       1,     3,     0,     4,     3,     1,     3,     0,     4,     3,
> +       1,     3,     1,     2,     1,     1,     1,     1,     1,     1,
> +       3,     1,     2,     1,     1,     1
>  };
>  
>  
> @@ -2886,17 +2886,43 @@
>  #line 2881 "gram.c"
>      break;
>  
> -  case 117: /* $@1: %empty  */
> -#line 987 "gram.y"
> +  case 115: /* cmnd: WORD  */
> +#line 981 "gram.y"
> +                             {
> +			    if (strcmp((yyvsp[0].string), "list") == 0) {
> +				struct sudo_command *c;
> +
> +				if ((c = new_command((yyvsp[0].string), NULL)) == NULL) {
> +				    sudoerserror(N_("unable to allocate memory"));
> +				    YYERROR;
> +				}
> +				(yyval.member) = new_member((char *)c, COMMAND);
> +				if ((yyval.member) == NULL) {
> +				    free(c);
> +				    sudoerserror(N_("unable to allocate memory"));
> +				    YYERROR;
> +				}
> +				parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
> +				parser_leak_add(LEAK_MEMBER, (yyval.member));
> +			    } else {
> +				sudoerserror(N_("expected a fully-qualified path name"));
> +				YYERROR;
> +			    }
> +			}
> +#line 2907 "gram.c"
> +    break;
> +
> +  case 118: /* $@1: %empty  */
> +#line 1008 "gram.y"
>                                {
>  			    alias_line = this_lineno;
>  			    alias_column = sudolinebuf.toke_start + 1;
>  			}
> -#line 2890 "gram.c"
> +#line 2916 "gram.c"
>      break;
>  
> -  case 118: /* hostalias: ALIAS $@1 '=' hostlist  */
> -#line 990 "gram.y"
> +  case 119: /* hostalias: ALIAS $@1 '=' hostlist  */
> +#line 1011 "gram.y"
>                                         {
>  			    if (!alias_add(&parsed_policy, (yyvsp[-3].string), HOSTALIAS,
>  				sudoers, alias_line, alias_column, (yyvsp[0].member))) {
> @@ -2906,30 +2932,30 @@
>  			    parser_leak_remove(LEAK_PTR, (yyvsp[-3].string));
>  			    parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
>  			}
> -#line 2904 "gram.c"
> +#line 2930 "gram.c"
>      break;
>  
> -  case 121: /* hostlist: hostlist ',' ophost  */
> -#line 1003 "gram.y"
> +  case 122: /* hostlist: hostlist ',' ophost  */
> +#line 1024 "gram.y"
>                                              {
>  			    parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
>  			    HLTQ_CONCAT((yyvsp[-2].member), (yyvsp[0].member), entries);
>  			    (yyval.member) = (yyvsp[-2].member);
>  			}
> -#line 2914 "gram.c"
> +#line 2940 "gram.c"
>      break;
>  
> -  case 124: /* $@2: %empty  */
> -#line 1014 "gram.y"
> +  case 125: /* $@2: %empty  */
> +#line 1035 "gram.y"
>                                {
>  			    alias_line = this_lineno;
>  			    alias_column = sudolinebuf.toke_start + 1;
>  			}
> -#line 2923 "gram.c"
> +#line 2949 "gram.c"
>      break;
>  
> -  case 125: /* cmndalias: ALIAS $@2 '=' cmndlist  */
> -#line 1017 "gram.y"
> +  case 126: /* cmndalias: ALIAS $@2 '=' cmndlist  */
> +#line 1038 "gram.y"
>                                         {
>  			    if (!alias_add(&parsed_policy, (yyvsp[-3].string), CMNDALIAS,
>  				sudoers, alias_line, alias_column, (yyvsp[0].member))) {
> @@ -2939,30 +2965,30 @@
>  			    parser_leak_remove(LEAK_PTR, (yyvsp[-3].string));
>  			    parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
>  			}
> -#line 2937 "gram.c"
> +#line 2963 "gram.c"
>      break;
>  
> -  case 128: /* cmndlist: cmndlist ',' digcmnd  */
> -#line 1030 "gram.y"
> +  case 129: /* cmndlist: cmndlist ',' digcmnd  */
> +#line 1051 "gram.y"
>                                               {
>  			    parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
>  			    HLTQ_CONCAT((yyvsp[-2].member), (yyvsp[0].member), entries);
>  			    (yyval.member) = (yyvsp[-2].member);
>  			}
> -#line 2947 "gram.c"
> +#line 2973 "gram.c"
>      break;
>  
> -  case 131: /* $@3: %empty  */
> -#line 1041 "gram.y"
> +  case 132: /* $@3: %empty  */
> +#line 1062 "gram.y"
>                                {
>  			    alias_line = this_lineno;
>  			    alias_column = sudolinebuf.toke_start + 1;
>  			}
> -#line 2956 "gram.c"
> +#line 2982 "gram.c"
>      break;
>  
> -  case 132: /* runasalias: ALIAS $@3 '=' userlist  */
> -#line 1044 "gram.y"
> +  case 133: /* runasalias: ALIAS $@3 '=' userlist  */
> +#line 1065 "gram.y"
>                                         {
>  			    if (!alias_add(&parsed_policy, (yyvsp[-3].string), RUNASALIAS,
>  				sudoers, alias_line, alias_column, (yyvsp[0].member))) {
> @@ -2972,20 +2998,20 @@
>  			    parser_leak_remove(LEAK_PTR, (yyvsp[-3].string));
>  			    parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
>  			}
> -#line 2970 "gram.c"
> +#line 2996 "gram.c"
>      break;
>  
> -  case 136: /* $@4: %empty  */
> -#line 1060 "gram.y"
> +  case 137: /* $@4: %empty  */
> +#line 1081 "gram.y"
>                                {
>  			    alias_line = this_lineno;
>  			    alias_column = sudolinebuf.toke_start + 1;
>  			}
> -#line 2979 "gram.c"
> +#line 3005 "gram.c"
>      break;
>  
> -  case 137: /* useralias: ALIAS $@4 '=' userlist  */
> -#line 1063 "gram.y"
> +  case 138: /* useralias: ALIAS $@4 '=' userlist  */
> +#line 1084 "gram.y"
>                                         {
>  			    if (!alias_add(&parsed_policy, (yyvsp[-3].string), USERALIAS,
>  				sudoers, alias_line, alias_column, (yyvsp[0].member))) {
> @@ -2995,39 +3021,39 @@
>  			    parser_leak_remove(LEAK_PTR, (yyvsp[-3].string));
>  			    parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
>  			}
> -#line 2993 "gram.c"
> +#line 3019 "gram.c"
>      break;
>  
> -  case 140: /* userlist: userlist ',' opuser  */
> -#line 1076 "gram.y"
> +  case 141: /* userlist: userlist ',' opuser  */
> +#line 1097 "gram.y"
>                                              {
>  			    parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
>  			    HLTQ_CONCAT((yyvsp[-2].member), (yyvsp[0].member), entries);
>  			    (yyval.member) = (yyvsp[-2].member);
>  			}
> -#line 3003 "gram.c"
> +#line 3029 "gram.c"
>      break;
>  
> -  case 141: /* opuser: user  */
> -#line 1083 "gram.y"
> +  case 142: /* opuser: user  */
> +#line 1104 "gram.y"
>                               {
>  			    (yyval.member) = (yyvsp[0].member);
>  			    (yyval.member)->negated = false;
>  			}
> -#line 3012 "gram.c"
> +#line 3038 "gram.c"
>      break;
>  
> -  case 142: /* opuser: '!' user  */
> -#line 1087 "gram.y"
> +  case 143: /* opuser: '!' user  */
> +#line 1108 "gram.y"
>                                   {
>  			    (yyval.member) = (yyvsp[0].member);
>  			    (yyval.member)->negated = true;
>  			}
> -#line 3021 "gram.c"
> +#line 3047 "gram.c"
>      break;
>  
> -  case 143: /* user: ALIAS  */
> -#line 1093 "gram.y"
> +  case 144: /* user: ALIAS  */
> +#line 1114 "gram.y"
>                                {
>  			    (yyval.member) = new_member((yyvsp[0].string), ALIAS);
>  			    if ((yyval.member) == NULL) {
> @@ -3037,11 +3063,11 @@
>  			    parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
>  			    parser_leak_add(LEAK_MEMBER, (yyval.member));
>  			}
> -#line 3035 "gram.c"
> +#line 3061 "gram.c"
>      break;
>  
> -  case 144: /* user: ALL  */
> -#line 1102 "gram.y"
> +  case 145: /* user: ALL  */
> +#line 1123 "gram.y"
>                              {
>  			    (yyval.member) = new_member(NULL, ALL);
>  			    if ((yyval.member) == NULL) {
> @@ -3050,11 +3076,11 @@
>  			    }
>  			    parser_leak_add(LEAK_MEMBER, (yyval.member));
>  			}
> -#line 3048 "gram.c"
> +#line 3074 "gram.c"
>      break;
>  
> -  case 145: /* user: NETGROUP  */
> -#line 1110 "gram.y"
> +  case 146: /* user: NETGROUP  */
> +#line 1131 "gram.y"
>                                   {
>  			    (yyval.member) = new_member((yyvsp[0].string), NETGROUP);
>  			    if ((yyval.member) == NULL) {
> @@ -3064,11 +3090,11 @@
>  			    parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
>  			    parser_leak_add(LEAK_MEMBER, (yyval.member));
>  			}
> -#line 3062 "gram.c"
> +#line 3088 "gram.c"
>      break;
>  
> -  case 146: /* user: USERGROUP  */
> -#line 1119 "gram.y"
> +  case 147: /* user: USERGROUP  */
> +#line 1140 "gram.y"
>                                    {
>  			    (yyval.member) = new_member((yyvsp[0].string), USERGROUP);
>  			    if ((yyval.member) == NULL) {
> @@ -3078,11 +3104,11 @@
>  			    parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
>  			    parser_leak_add(LEAK_MEMBER, (yyval.member));
>  			}
> -#line 3076 "gram.c"
> +#line 3102 "gram.c"
>      break;
>  
> -  case 147: /* user: WORD  */
> -#line 1128 "gram.y"
> +  case 148: /* user: WORD  */
> +#line 1149 "gram.y"
>                               {
>  			    (yyval.member) = new_member((yyvsp[0].string), WORD);
>  			    if ((yyval.member) == NULL) {
> @@ -3092,39 +3118,39 @@
>  			    parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
>  			    parser_leak_add(LEAK_MEMBER, (yyval.member));
>  			}
> -#line 3090 "gram.c"
> +#line 3116 "gram.c"
>      break;
>  
> -  case 149: /* grouplist: grouplist ',' opgroup  */
> -#line 1140 "gram.y"
> +  case 150: /* grouplist: grouplist ',' opgroup  */
> +#line 1161 "gram.y"
>                                                {
>  			    parser_leak_remove(LEAK_MEMBER, (yyvsp[0].member));
>  			    HLTQ_CONCAT((yyvsp[-2].member), (yyvsp[0].member), entries);
>  			    (yyval.member) = (yyvsp[-2].member);
>  			}
> -#line 3100 "gram.c"
> +#line 3126 "gram.c"
>      break;
>  
> -  case 150: /* opgroup: group  */
> -#line 1147 "gram.y"
> +  case 151: /* opgroup: group  */
> +#line 1168 "gram.y"
>                                {
>  			    (yyval.member) = (yyvsp[0].member);
>  			    (yyval.member)->negated = false;
>  			}
> -#line 3109 "gram.c"
> +#line 3135 "gram.c"
>      break;
>  
> -  case 151: /* opgroup: '!' group  */
> -#line 1151 "gram.y"
> +  case 152: /* opgroup: '!' group  */
> +#line 1172 "gram.y"
>                                    {
>  			    (yyval.member) = (yyvsp[0].member);
>  			    (yyval.member)->negated = true;
>  			}
> -#line 3118 "gram.c"
> +#line 3144 "gram.c"
>      break;
>  
> -  case 152: /* group: ALIAS  */
> -#line 1157 "gram.y"
> +  case 153: /* group: ALIAS  */
> +#line 1178 "gram.y"
>                                {
>  			    (yyval.member) = new_member((yyvsp[0].string), ALIAS);
>  			    if ((yyval.member) == NULL) {
> @@ -3134,11 +3160,11 @@
>  			    parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
>  			    parser_leak_add(LEAK_MEMBER, (yyval.member));
>  			}
> -#line 3132 "gram.c"
> +#line 3158 "gram.c"
>      break;
>  
> -  case 153: /* group: ALL  */
> -#line 1166 "gram.y"
> +  case 154: /* group: ALL  */
> +#line 1187 "gram.y"
>                              {
>  			    (yyval.member) = new_member(NULL, ALL);
>  			    if ((yyval.member) == NULL) {
> @@ -3147,11 +3173,11 @@
>  			    }
>  			    parser_leak_add(LEAK_MEMBER, (yyval.member));
>  			}
> -#line 3145 "gram.c"
> +#line 3171 "gram.c"
>      break;
>  
> -  case 154: /* group: WORD  */
> -#line 1174 "gram.y"
> +  case 155: /* group: WORD  */
> +#line 1195 "gram.y"
>                               {
>  			    (yyval.member) = new_member((yyvsp[0].string), WORD);
>  			    if ((yyval.member) == NULL) {
> @@ -3161,11 +3187,11 @@
>  			    parser_leak_remove(LEAK_PTR, (yyvsp[0].string));
>  			    parser_leak_add(LEAK_MEMBER, (yyval.member));
>  			}
> -#line 3159 "gram.c"
> +#line 3185 "gram.c"
>      break;
>  
>  
> -#line 3163 "gram.c"
> +#line 3189 "gram.c"
>  
>        default: break;
>      }
> @@ -3358,7 +3384,7 @@
>    return yyresult;
>  }
>  
> -#line 1184 "gram.y"
> +#line 1205 "gram.y"
>  
>  /* Like yyerror() but takes a printf-style format string. */
>  void
> diff -Nru sudo-1.9.13p1/plugins/sudoers/gram.y sudo-1.9.13p3/plugins/sudoers/gram.y
> --- sudo-1.9.13p1/plugins/sudoers/gram.y	2023-02-14 17:53:02.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/gram.y	2023-03-04 16:50:10.000000000 +0100
> @@ -978,6 +978,27 @@
>  			    parser_leak_remove(LEAK_PTR, $1.args);
>  			    parser_leak_add(LEAK_MEMBER, $$);
>  			}
> +		|	WORD {
> +			    if (strcmp($1, "list") == 0) {
> +				struct sudo_command *c;
> +
> +				if ((c = new_command($1, NULL)) == NULL) {
> +				    sudoerserror(N_("unable to allocate memory"));
> +				    YYERROR;
> +				}
> +				$$ = new_member((char *)c, COMMAND);
> +				if ($$ == NULL) {
> +				    free(c);
> +				    sudoerserror(N_("unable to allocate memory"));
> +				    YYERROR;
> +				}
> +				parser_leak_remove(LEAK_PTR, $1);
> +				parser_leak_add(LEAK_MEMBER, $$);
> +			    } else {
> +				sudoerserror(N_("expected a fully-qualified path name"));
> +				YYERROR;
> +			    }
> +			}
>  		;
>  
>  hostaliases	:	hostalias
> diff -Nru sudo-1.9.13p1/plugins/sudoers/logging.c sudo-1.9.13p3/plugins/sudoers/logging.c
> --- sudo-1.9.13p1/plugins/sudoers/logging.c	2023-02-14 17:53:02.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/logging.c	2023-03-04 16:50:12.000000000 +0100
> @@ -322,9 +322,9 @@
>  		"sudo on %s.\n"), user_name, user_srunhost);
>  	} else {
>  	    sudo_printf(SUDO_CONV_ERROR_MSG, _("Sorry, user %s is not allowed "
> -		"to execute '%s%s%s' as %s%s%s on %s.\n"),
> -		user_name, user_cmnd, user_args ? " " : "",
> -		user_args ? user_args : "",
> +		"to execute '%s%s%s%s' as %s%s%s on %s.\n"),
> +		user_name, user_cmnd, list_cmnd ? list_cmnd : "",
> +		user_args ? " " : "", user_args ? user_args : "",
>  		list_pw ? list_pw->pw_name : runas_pw ?
>  		runas_pw->pw_name : user_name, runas_gr ? ":" : "",
>  		runas_gr ? runas_gr->gr_name : "", user_host);
> diff -Nru sudo-1.9.13p1/plugins/sudoers/Makefile.in sudo-1.9.13p3/plugins/sudoers/Makefile.in
> --- sudo-1.9.13p1/plugins/sudoers/Makefile.in	2023-02-16 19:43:30.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/Makefile.in	2023-03-04 16:50:11.000000000 +0100
> @@ -505,7 +505,7 @@
>  	    else \
>  		gram_y="$(srcdir)/gram.y"; \
>  	    fi; \
> -	    cmd='$(YACC) -d -p sudoers '"$$gram_y"'; cp prologue $(devdir)/gram.c; $(SED) -e "s/^\\(#line .*\\) \"y\\.tab\\.c\"/\1 \"gram.c\"/" -e "/^# *include <limits.h>/{N;s/__STDC_VERSION__ && 199901 <= __STDC_VERSION__/HAVE_STDINT_H/;}" y.tab.c >> $(devdir)/gram.c; sed -e "s/^\\(#line .*\\) \"y\\.tab\\.h\"/\1 \"gram.h\"/" y.tab.h > $(devdir)/gram.h'; rm -f y.tab.[ch]; \
> +	    cmd='$(YACC) -d -p sudoers '"$$gram_y"'; cp prologue $(devdir)/gram.c; $(SED) -e "s/^\\(#line .*\\) \"y\\.tab\\.c\"/\1 \"gram.c\"/" -e "/^# *include <limits.h>/{N;s/__STDC_VERSION__ && 199901 <= __STDC_VERSION__/HAVE_STDINT_H/;}" y.tab.c >> $(devdir)/gram.c; sed -e "s/^\\(#line .*\\) \"y\\.tab\\.h\"/\1 \"gram.h\"/" y.tab.h > $(devdir)/gram.h; rm -f y.tab.[ch]'; \
>  	    echo "$$cmd"; eval $$cmd; \
>  	fi
>  
> diff -Nru sudo-1.9.13p1/plugins/sudoers/match.c sudo-1.9.13p3/plugins/sudoers/match.c
> --- sudo-1.9.13p1/plugins/sudoers/match.c	2023-02-14 17:52:37.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/match.c	2023-03-04 16:50:14.000000000 +0100
> @@ -1,7 +1,7 @@
>  /*
>   * SPDX-License-Identifier: ISC
>   *
> - * Copyright (c) 1996, 1998-2005, 2007-2019
> + * Copyright (c) 1996, 1998-2005, 2007-2023
>   *	Todd C. Miller <Todd.Miller@sudo.ws>
>   *
>   * Permission to use, copy, modify, and distribute this software for any
> @@ -414,6 +414,44 @@
>  		alias_put(a);
>  	    }
>  	    break;
> +    }
> +    debug_return_int(matched);
> +}
> +
> +/*
> + * Like cmnd_matches() but only matches against the ALL command.
> + * Returns ALLOW, DENY or UNSPEC.
> + */
> +int
> +cmnd_matches_all(struct sudoers_parse_tree *parse_tree, const struct member *m,
> +    const char *runchroot, struct cmnd_info *info)
> +{
> +    const bool negated = m->negated;
> +    struct sudo_command *c;
> +    int matched = UNSPEC;
> +    struct alias *a;
> +    debug_decl(cmnd_matches_all, SUDOERS_DEBUG_MATCH);
> +
> +    switch (m->type) {
> +	case ALL:
> +	    c = (struct sudo_command *)m->name;
> +	    if (command_matches(c->cmnd, c->args, runchroot, info, &c->digests))
> +		matched = !negated;
> +	    break;
> +	case ALIAS:
> +	    a = alias_get(parse_tree, m->name, CMNDALIAS);
> +	    if (a != NULL) {
> +		TAILQ_FOREACH_REVERSE(m, &a->members, member_list, entries) {
> +		    matched = cmnd_matches_all(parse_tree, m, runchroot, info);
> +		    if (matched != UNSPEC) {
> +			if (negated)
> +			    matched = !matched;
> +			break;
> +		    }
> +		}
> +		alias_put(a);
> +	    }
> +	    break;
>      }
>      debug_return_int(matched);
>  }
> diff -Nru sudo-1.9.13p1/plugins/sudoers/match_command.c sudo-1.9.13p3/plugins/sudoers/match_command.c
> --- sudo-1.9.13p1/plugins/sudoers/match_command.c	2023-02-14 17:53:02.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/match_command.c	2023-02-25 19:22:35.000000000 +0100
> @@ -818,12 +818,16 @@
>  	/* Rule-specific runchroot, reset user_cmnd and user_stat. */
>  	int status;
>  
> +	/* Save old user_cmnd first, set_cmnd_path() will free it. */
>  	saved_user_cmnd = user_cmnd;
> +	user_cmnd = NULL;
>  	if (user_stat != NULL)
>  	    saved_user_stat = *user_stat;
>  	status = set_cmnd_path(runchroot);
> -	if (status != FOUND)
> +	if (status != FOUND) {
> +	    user_cmnd = saved_user_cmnd;
>  	    saved_user_cmnd = NULL;
> +	}
>  	if (info != NULL)
>  	    info->status = status;
>      }
> diff -Nru sudo-1.9.13p1/plugins/sudoers/parse.c sudo-1.9.13p3/plugins/sudoers/parse.c
> --- sudo-1.9.13p1/plugins/sudoers/parse.c	2023-02-14 17:53:34.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/parse.c	2023-03-04 16:50:14.000000000 +0100
> @@ -1,7 +1,7 @@
>  /*
>   * SPDX-License-Identifier: ISC
>   *
> - * Copyright (c) 2004-2005, 2007-2021 Todd C. Miller <Todd.Miller@sudo.ws>
> + * Copyright (c) 2004-2005, 2007-2023 Todd C. Miller <Todd.Miller@sudo.ws>
>   *
>   * Permission to use, copy, modify, and distribute this software for any
>   * purpose with or without fee is hereby granted, provided that the above
> @@ -67,7 +67,7 @@
>      struct privilege *priv;
>      struct userspec *us;
>      struct defaults *def;
> -    int nopass, match = DENY;
> +    int cmnd_match, nopass, match = DENY;
>      enum def_tuple pwcheck;
>      debug_decl(sudoers_lookup_pseudo, SUDOERS_DEBUG_PARSER);
>  
> @@ -133,26 +133,40 @@
>  		     */
>  		    switch (runas_matches_pw(nss->parse_tree, cs, list_pw)) {
>  		    case DENY:
> -			continue;
> +			break;
>  		    case ALLOW:
> +			/*
> +			 * RunAs user matches list user.
> +			 * Match on command "list" or ALL.
> +			 */
> +			cmnd_match = cmnd_matches(nss->parse_tree,
> +			    cs->cmnd, cs->runchroot, NULL);
> +			if (cmnd_match != UNSPEC) {
> +			    match = cmnd_match;
> +			    goto done;
> +			}
>  			break;
>  		    default:
> +			/*
> +			 * RunAs user doesn't match list user.  Only allow
> +			 * listing if the user has "sudo ALL" for root.
> +			 */
>  			if (root_pw != NULL && runas_matches_pw(nss->parse_tree,
>  				cs, root_pw) == ALLOW) {
> -			    break;
> +			    cmnd_match = cmnd_matches_all(nss->parse_tree,
> +				cs->cmnd, cs->runchroot, NULL);
> +			    if (cmnd_match != UNSPEC) {
> +				match = cmnd_match;
> +				goto done;
> +			    }
>  			}
> -			continue;
> -		    }
> -
> -		    /* Match command: "list" or ALL. */
> -		    if (cmnd_matches(nss->parse_tree, cs->cmnd, cs->runchroot,
> -			    NULL) == ALLOW) {
> -			match = ALLOW;
> +			break;
>  		    }
>  		}
>  	    }
>  	}
>      }
> +done:
>      if (root_pw != NULL)
>  	sudo_pw_delref(root_pw);
>      if (match == ALLOW || user_uid == 0) {
> @@ -1067,8 +1081,8 @@
>  	    break;
>      }
>      if (match == ALLOW) {
> -	/* For "sudo -l cmd" user_args includes the command being checked. */
> -	const int len = sudo_printf(SUDO_CONV_INFO_MSG, "%s\n", user_args);
> +	const int len = sudo_printf(SUDO_CONV_INFO_MSG, "%s%s%s\n",
> +	    list_cmnd, user_args ? " " : "", user_args ? user_args : "");
>  	ret = len < 0 ? -1 : true;
>      }
>      debug_return_int(ret);
> diff -Nru sudo-1.9.13p1/plugins/sudoers/parse.h sudo-1.9.13p3/plugins/sudoers/parse.h
> --- sudo-1.9.13p1/plugins/sudoers/parse.h	2023-02-14 17:53:02.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/parse.h	2023-03-04 16:50:14.000000000 +0100
> @@ -405,6 +405,7 @@
>  bool usergr_matches(const char *group, const char *user, const struct passwd *pw);
>  bool userpw_matches(const char *sudoers_user, const char *user, const struct passwd *pw);
>  int cmnd_matches(struct sudoers_parse_tree *parse_tree, const struct member *m, const char *runchroot, struct cmnd_info *info);
> +int cmnd_matches_all(struct sudoers_parse_tree *parse_tree, const struct member *m, const char *runchroot, struct cmnd_info *info);
>  int cmndlist_matches(struct sudoers_parse_tree *parse_tree, const struct member_list *list, const char *runchroot, struct cmnd_info *info);
>  int host_matches(struct sudoers_parse_tree *parse_tree, const struct passwd *pw, const char *host, const char *shost, const struct member *m);
>  int hostlist_matches(struct sudoers_parse_tree *parse_tree, const struct passwd *pw, const struct member_list *list);
> diff -Nru sudo-1.9.13p1/plugins/sudoers/policy.c sudo-1.9.13p3/plugins/sudoers/policy.c
> --- sudo-1.9.13p1/plugins/sudoers/policy.c	2023-02-14 17:53:02.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/policy.c	2023-03-04 16:50:13.000000000 +0100
> @@ -1270,11 +1270,6 @@
>  	    sudo_warnx(U_("unknown user %s"), list_user);
>  	    debug_return_int(-1);
>  	}
> -	/* A user may only list another user they have runas access to. */
> -	if (runas_pw != NULL)
> -	    sudo_pw_delref(runas_pw);
> -	runas_pw = list_pw;
> -	sudo_pw_addref(list_pw);
>      }
>      ret = sudoers_policy_main(argc, argv, I_LISTPW, NULL, verbose, NULL);
>      if (list_user) {
> diff -Nru sudo-1.9.13p1/plugins/sudoers/regress/fuzz/fuzz_sudoers.c sudo-1.9.13p3/plugins/sudoers/regress/fuzz/fuzz_sudoers.c
> --- sudo-1.9.13p1/plugins/sudoers/regress/fuzz/fuzz_sudoers.c	2023-02-14 17:53:02.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/regress/fuzz/fuzz_sudoers.c	2023-02-25 19:21:47.000000000 +0100
> @@ -45,6 +45,9 @@
>  static int fuzz_printf(int msg_type, const char *fmt, ...);
>  int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
>  
> +/* For set_cmnd_path() */
> +static const char *orig_cmnd;
> +
>  /* Required to link with parser. */
>  struct sudo_user sudo_user;
>  struct passwd *list_pw;
> @@ -104,8 +107,13 @@
>  int
>  set_cmnd_path(const char *runchroot)
>  {
> -    /* Cannot return FOUND without also setting user_cmnd to a new value. */
> -    return NOT_FOUND;
> +    /* Reallocate user_cmnd to catch bugs in command_matches(). */
> +    char *new_cmnd = strdup(orig_cmnd);
> +    if (new_cmnd == NULL)
> +        return NOT_FOUND_ERROR;
> +    free(user_cmnd);
> +    user_cmnd = new_cmnd;
> +    return FOUND;
>  }
>  
>  /* STUB */
> @@ -277,11 +285,12 @@
>  
>      /* The minimum needed to perform matching (user_cmnd must be dynamic). */
>      user_host = user_shost = user_runhost = user_srunhost = (char *)"localhost";
> -    user_cmnd = strdup("/usr/bin/id");
> +    orig_cmnd = (char *)"/usr/bin/id";
> +    user_cmnd = strdup(orig_cmnd);
>      if (user_cmnd == NULL)
>  	goto done;
>      user_args = (char *)"-u";
> -    user_base = (char *)"id";
> +    user_base = sudo_basename(user_cmnd);
>  
>      /* Add a fake network interfaces. */
>      interfaces = get_interfaces();
> diff -Nru sudo-1.9.13p1/plugins/sudoers/regress/sudoers/test30.in sudo-1.9.13p3/plugins/sudoers/regress/sudoers/test30.in
> --- sudo-1.9.13p1/plugins/sudoers/regress/sudoers/test30.in	1970-01-01 01:00:00.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/regress/sudoers/test30.in	2023-03-04 16:50:10.000000000 +0100
> @@ -0,0 +1,10 @@
> +# Test parsing of "list" pseudo-command.
> +# It should be allowed as a command but also as a user or host.
> +
> +user1 ALL = list
> +
> +list ALL = ALL
> +
> +user2 ALL = (list : list) ALL
> +
> +user3 list = ALL
> diff -Nru sudo-1.9.13p1/plugins/sudoers/regress/sudoers/test30.json.ok sudo-1.9.13p3/plugins/sudoers/regress/sudoers/test30.json.ok
> --- sudo-1.9.13p1/plugins/sudoers/regress/sudoers/test30.json.ok	1970-01-01 01:00:00.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/regress/sudoers/test30.json.ok	2023-03-04 16:50:10.000000000 +0100
> @@ -0,0 +1,79 @@
> +{
> +    "User_Specs": [
> +        {
> +            "User_List": [
> +                { "username": "user1" }
> +            ],
> +            "Host_List": [
> +                { "hostname": "ALL" }
> +            ],
> +            "Cmnd_Specs": [
> +                {
> +                    "Commands": [
> +                        { "command": "list" }
> +                    ]
> +                }
> +            ]
> +        },
> +        {
> +            "User_List": [
> +                { "username": "list" }
> +            ],
> +            "Host_List": [
> +                { "hostname": "ALL" }
> +            ],
> +            "Cmnd_Specs": [
> +                {
> +                    "Options": [
> +                        { "setenv": true }
> +                    ],
> +                    "Commands": [
> +                        { "command": "ALL" }
> +                    ]
> +                }
> +            ]
> +        },
> +        {
> +            "User_List": [
> +                { "username": "user2" }
> +            ],
> +            "Host_List": [
> +                { "hostname": "ALL" }
> +            ],
> +            "Cmnd_Specs": [
> +                {
> +                    "runasusers": [
> +                        { "username": "list" }
> +                    ],
> +                    "runasgroups": [
> +                        { "usergroup": "list" }
> +                    ],
> +                    "Options": [
> +                        { "setenv": true }
> +                    ],
> +                    "Commands": [
> +                        { "command": "ALL" }
> +                    ]
> +                }
> +            ]
> +        },
> +        {
> +            "User_List": [
> +                { "username": "user3" }
> +            ],
> +            "Host_List": [
> +                { "hostname": "list" }
> +            ],
> +            "Cmnd_Specs": [
> +                {
> +                    "Options": [
> +                        { "setenv": true }
> +                    ],
> +                    "Commands": [
> +                        { "command": "ALL" }
> +                    ]
> +                }
> +            ]
> +        }
> +    ]
> +}
> diff -Nru sudo-1.9.13p1/plugins/sudoers/regress/sudoers/test30.ldif2sudo.ok sudo-1.9.13p3/plugins/sudoers/regress/sudoers/test30.ldif2sudo.ok
> --- sudo-1.9.13p1/plugins/sudoers/regress/sudoers/test30.ldif2sudo.ok	1970-01-01 01:00:00.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/regress/sudoers/test30.ldif2sudo.ok	2023-03-04 16:50:10.000000000 +0100
> @@ -0,0 +1,11 @@
> +# sudoRole user1
> +user1 ALL = list
> +
> +# sudoRole list
> +list ALL = ALL
> +
> +# sudoRole user2
> +user2 ALL = (list : list) ALL
> +
> +# sudoRole user3
> +user3 list = ALL
> diff -Nru sudo-1.9.13p1/plugins/sudoers/regress/sudoers/test30.ldif.ok sudo-1.9.13p3/plugins/sudoers/regress/sudoers/test30.ldif.ok
> --- sudo-1.9.13p1/plugins/sudoers/regress/sudoers/test30.ldif.ok	1970-01-01 01:00:00.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/regress/sudoers/test30.ldif.ok	2023-03-04 16:50:10.000000000 +0100
> @@ -0,0 +1,38 @@
> +dn: cn=user1,ou=SUDOers,dc=sudo,dc=ws
> +objectClass: top
> +objectClass: sudoRole
> +cn: user1
> +sudoUser: user1
> +sudoHost: ALL
> +sudoCommand: list
> +sudoOrder: 1
> +
> +dn: cn=list,ou=SUDOers,dc=sudo,dc=ws
> +objectClass: top
> +objectClass: sudoRole
> +cn: list
> +sudoUser: list
> +sudoHost: ALL
> +sudoCommand: ALL
> +sudoOrder: 2
> +
> +dn: cn=user2,ou=SUDOers,dc=sudo,dc=ws
> +objectClass: top
> +objectClass: sudoRole
> +cn: user2
> +sudoUser: user2
> +sudoHost: ALL
> +sudoRunAsUser: list
> +sudoRunAsGroup: list
> +sudoCommand: ALL
> +sudoOrder: 3
> +
> +dn: cn=user3,ou=SUDOers,dc=sudo,dc=ws
> +objectClass: top
> +objectClass: sudoRole
> +cn: user3
> +sudoUser: user3
> +sudoHost: list
> +sudoCommand: ALL
> +sudoOrder: 4
> +
> diff -Nru sudo-1.9.13p1/plugins/sudoers/regress/sudoers/test30.out.ok sudo-1.9.13p3/plugins/sudoers/regress/sudoers/test30.out.ok
> --- sudo-1.9.13p1/plugins/sudoers/regress/sudoers/test30.out.ok	1970-01-01 01:00:00.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/regress/sudoers/test30.out.ok	2023-03-04 16:50:10.000000000 +0100
> @@ -0,0 +1,6 @@
> +Parses OK
> +
> +user1 ALL = list
> +list ALL = ALL
> +user2 ALL = (list : list) ALL
> +user3 list = ALL
> diff -Nru sudo-1.9.13p1/plugins/sudoers/regress/sudoers/test30.sudo.ok sudo-1.9.13p3/plugins/sudoers/regress/sudoers/test30.sudo.ok
> --- sudo-1.9.13p1/plugins/sudoers/regress/sudoers/test30.sudo.ok	1970-01-01 01:00:00.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/regress/sudoers/test30.sudo.ok	2023-03-04 16:50:10.000000000 +0100
> @@ -0,0 +1,7 @@
> +user1 ALL = list
> +
> +list ALL = ALL
> +
> +user2 ALL = (list : list) ALL
> +
> +user3 list = ALL
> diff -Nru sudo-1.9.13p1/plugins/sudoers/regress/sudoers/test30.toke.ok sudo-1.9.13p3/plugins/sudoers/regress/sudoers/test30.toke.ok
> --- sudo-1.9.13p1/plugins/sudoers/regress/sudoers/test30.toke.ok	1970-01-01 01:00:00.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/regress/sudoers/test30.toke.ok	2023-03-04 16:50:10.000000000 +0100
> @@ -0,0 +1,10 @@
> +#
> +#
> +
> +WORD(6) ALL = WORD(6) 
> +
> +WORD(6) ALL = ALL 
> +
> +WORD(6) ALL = ( WORD(6) : WORD(6) ) ALL 
> +
> +WORD(6) WORD(6) = ALL 
> diff -Nru sudo-1.9.13p1/plugins/sudoers/regress/testsudoers/test12.out.ok sudo-1.9.13p3/plugins/sudoers/regress/testsudoers/test12.out.ok
> --- sudo-1.9.13p1/plugins/sudoers/regress/testsudoers/test12.out.ok	2023-02-14 17:52:38.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/regress/testsudoers/test12.out.ok	2023-03-04 16:50:11.000000000 +0100
> @@ -9,6 +9,9 @@
>  sudoers:5:16: syntax error
>  root ALL = ALL bar
>                 ^~~
> +sudoers:7:12: expected a fully-qualified path name
> +root ALL = baz
> +           ^~~
>  
>  User_Alias A1 = u1
>  
> diff -Nru sudo-1.9.13p1/plugins/sudoers/regress/testsudoers/test12.sh sudo-1.9.13p3/plugins/sudoers/regress/testsudoers/test12.sh
> --- sudo-1.9.13p1/plugins/sudoers/regress/testsudoers/test12.sh	2023-02-14 17:52:38.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/regress/testsudoers/test12.sh	2023-03-04 16:50:11.000000000 +0100
> @@ -14,4 +14,6 @@
>  millert ALL = /fail : foo
>  
>  root ALL = ALL bar
> +
> +root ALL = baz
>  EOF
> diff -Nru sudo-1.9.13p1/plugins/sudoers/regress/testsudoers/test20.out.ok sudo-1.9.13p3/plugins/sudoers/regress/testsudoers/test20.out.ok
> --- sudo-1.9.13p1/plugins/sudoers/regress/testsudoers/test20.out.ok	1970-01-01 01:00:00.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/regress/testsudoers/test20.out.ok	2023-02-25 19:21:47.000000000 +0100
> @@ -0,0 +1,15 @@
> +Parses OK
> +
> +Entries for user root:
> +
> +ALL = CHROOT=/ /bin/ls
> +	host  matched
> +	runas matched
> +	cmnd  allowed
> +
> +ALL = CWD=/ /bin/pwd
> +	host  matched
> +	runas matched
> +	cmnd  allowed
> +
> +Command allowed
> diff -Nru sudo-1.9.13p1/plugins/sudoers/regress/testsudoers/test20.sh sudo-1.9.13p3/plugins/sudoers/regress/testsudoers/test20.sh
> --- sudo-1.9.13p1/plugins/sudoers/regress/testsudoers/test20.sh	1970-01-01 01:00:00.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/regress/testsudoers/test20.sh	2023-02-25 19:21:47.000000000 +0100
> @@ -0,0 +1,18 @@
> +#!/bin/sh
> +#
> +# Verify CHROOT and CWD support
> +# This will catch an unpatched double-free in set_cmnd_path() under ASAN.
> +#
> +
> +: ${TESTSUDOERS=testsudoers}
> +
> +exec 2>&1
> +
> +# Exercise double free of user_cmnd in set_cmnd_path() under ASAN.
> +# We need more than one rule where the last rule matches and has CHROOT.
> +$TESTSUDOERS root /bin/ls <<'EOF'
> +root ALL = CWD=/ /bin/pwd
> +root ALL = CHROOT=/ /bin/ls
> +EOF
> +
> +exit 0
> diff -Nru sudo-1.9.13p1/plugins/sudoers/sudoers.c sudo-1.9.13p3/plugins/sudoers/sudoers.c
> --- sudo-1.9.13p1/plugins/sudoers/sudoers.c	2023-02-14 17:53:06.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/sudoers.c	2023-03-04 16:50:12.000000000 +0100
> @@ -1079,7 +1079,14 @@
>  	/* set user_args */
>  	free(user_args);
>  	user_args = NULL;
> -	if (NewArgc > 1) {
> +	if (ISSET(sudo_mode, MODE_CHECK)) {
> +	    if (NewArgc > 2) {
> +		/* Skip the command being listed in NewArgv[1]. */
> +		user_args = strvec_join(NewArgv + 2, ' ', NULL);
> +		if (user_args == NULL)
> +		    debug_return_int(NOT_FOUND_ERROR);
> +	    }
> +	} else if (NewArgc > 1) {
>  	    if (ISSET(sudo_mode, MODE_SHELL|MODE_LOGIN_SHELL) &&
>  		    ISSET(sudo_mode, MODE_RUN)) {
>  		/*
> diff -Nru sudo-1.9.13p1/plugins/sudoers/testsudoers.c sudo-1.9.13p3/plugins/sudoers/testsudoers.c
> --- sudo-1.9.13p1/plugins/sudoers/testsudoers.c	2023-02-14 17:53:02.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/testsudoers.c	2023-02-25 19:21:47.000000000 +0100
> @@ -82,6 +82,7 @@
>   */
>  struct sudo_user sudo_user;
>  struct passwd *list_pw;
> +static const char *orig_cmnd;
>  static char *runas_group, *runas_user;
>  
>  #if defined(SUDO_DEVEL) && defined(__OpenBSD__)
> @@ -203,14 +204,18 @@
>  	if (!dflag)
>  	    usage();
>  	user_name = argc ? *argv++ : (char *)"root";
> -	user_cmnd = user_base = (char *)"true";
> +	orig_cmnd = "true";
>  	argc = 0;
>      } else {
>  	user_name = *argv++;
> -	user_cmnd = *argv++;
> -	user_base = sudo_basename(user_cmnd);
> +	orig_cmnd = *argv++;
>  	argc -= 2;
>      }
> +    user_cmnd = strdup(orig_cmnd);
> +    if (user_cmnd == NULL)
> +	sudo_fatalx(U_("%s: %s"), __func__, U_("unable to allocate memory"));
> +    user_base = sudo_basename(user_cmnd);
> +
>      if ((sudo_user.pw = sudo_getpwnam(user_name)) == NULL)
>  	sudo_fatalx(U_("unknown user %s"), user_name);
>  
> @@ -509,8 +514,13 @@
>  int
>  set_cmnd_path(const char *runchroot)
>  {
> -    /* Cannot return FOUND without also setting user_cmnd to a new value. */
> -    return NOT_FOUND;
> +    /* Reallocate user_cmnd to catch bugs in command_matches(). */
> +    char *new_cmnd = strdup(orig_cmnd);
> +    if (new_cmnd == NULL)
> +	return NOT_FOUND_ERROR;
> +    free(user_cmnd);
> +    user_cmnd = new_cmnd;
> +    return FOUND;
>  }
>  
>  static bool
> diff -Nru sudo-1.9.13p1/plugins/sudoers/toke.c sudo-1.9.13p3/plugins/sudoers/toke.c
> --- sudo-1.9.13p1/plugins/sudoers/toke.c	2023-02-14 17:53:02.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/toke.c	2023-03-04 16:50:10.000000000 +0100
> @@ -393,8 +393,8 @@
>  	*yy_cp = '\0'; \
>  	(yy_c_buf_p) = yy_cp;
>  
> -#define YY_NUM_RULES 90
> -#define YY_END_OF_BUFFER 91
> +#define YY_NUM_RULES 89
> +#define YY_END_OF_BUFFER 90
>  /* This struct is not used in this scanner,
>     but its presence is necessary. */
>  struct yy_trans_info
> @@ -402,146 +402,145 @@
>  	flex_int32_t yy_verify;
>  	flex_int32_t yy_nxt;
>  	};
> -static yyconst flex_int16_t yy_accept[1254] =
> +static yyconst flex_int16_t yy_accept[1242] =
>      {   0,
>          0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
>          0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -       91,   76,   86,   85,   89,   84,   75,   88,   46,   79,
> -       80,   46,   81,   76,   76,   76,   76,   83,   82,   89,
> -       76,   64,   64,   64,   64,   64,   64,   64,   64,   64,
> -       64,   64,   64,   64,   64,   89,   76,   76,   76,   76,
> -       86,   88,   64,   64,   64,   64,   64,    2,   89,    1,
> -       76,   64,   64,   64,   64,   76,   76,   17,   16,   16,
> -       17,   16,   16,   89,   21,   21,   19,   19,   21,   19,
> -       20,   89,   88,   89,    3,    9,    8,    9,    4,    9,
> -
> -        5,   89,   13,   13,   13,   11,   12,   89,   23,   23,
> -       22,   22,   22,   23,   22,   22,   22,   22,   23,   23,
> -       23,   23,   23,   23,   23,   89,   22,   23,   23,   23,
> -       77,   77,   78,   77,   72,   72,   72,   72,   72,   72,
> -       72,   64,   64,   64,   64,   64,   64,   64,   64,   64,
> -       64,   64,   89,   72,   72,   72,   72,   76,    0,   86,
> -       85,   84,   88,   88,    0,    0,   76,   48,    0,   46,
> -        0,   47,    0,   73,   73,    0,   76,   76,    0,   76,
> -       76,   76,   76,    0,   51,   76,   64,   64,   64,   64,
> +       90,   75,   85,   84,   88,   83,   74,   87,   46,   78,
> +       79,   46,   80,   75,   75,   75,   75,   82,   81,   88,
> +       75,   64,   64,   64,   64,   64,   64,   64,   64,   64,
> +       64,   64,   64,   64,   64,   88,   75,   75,   75,   85,
> +       87,   64,   64,   64,   64,   64,    2,   88,    1,   75,
> +       64,   64,   64,   64,   75,   75,   17,   16,   16,   17,
> +       16,   16,   88,   21,   21,   19,   19,   21,   19,   20,
> +       88,   87,   88,    3,    9,    8,    9,    4,    9,    5,
> +
> +       88,   13,   13,   13,   11,   12,   88,   23,   23,   22,
> +       22,   22,   23,   22,   22,   22,   22,   23,   23,   23,
> +       23,   23,   23,   23,   88,   22,   23,   23,   76,   76,
> +       77,   76,   71,   71,   71,   71,   71,   71,   71,   64,
> +       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
> +       88,   71,   71,   71,   75,    0,   85,   84,   83,   87,
> +       87,    0,    0,   75,   48,    0,   46,    0,   47,    0,
> +       72,   72,    0,   75,   75,    0,   75,   75,   75,   75,
> +        0,   51,   75,   64,   64,   64,   64,   64,   64,   64,
>         64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
>  
> -       64,   64,   64,   64,   64,    0,   87,   76,   76,   76,
> -        0,   74,    0,   76,   76,   76,   86,    0,    0,    0,
> -        0,    0,   88,   76,   76,   76,   76,   76,    2,    1,
> -        0,    1,   65,   65,    0,   64,   76,    0,   65,    0,
> -       76,   17,   17,   15,    0,   14,   15,   21,   21,   21,
> -       18,   18,    0,    3,    9,    0,    6,    7,    9,    9,
> -       13,    0,   13,   13,    0,   10,    0,   48,    0,    0,
> -       47,   23,   23,    0,   23,    0,    0,   22,   22,   22,
> -       22,   22,   22,   23,   23,   64,   23,   23,   23,   23,
> -       23,   23,   23,   23,   74,    0,   23,   23,   23,   77,
> -
> -       77,   77,   72,    0,   48,    0,   47,    0,   72,   72,
> -        0,   72,   72,   72,   72,   72,   72,   64,   64,   64,
> -       64,   64,   64,   64,   64,   64,   64,   64,   72,   72,
> -       72,   72,    0,   72,   72,   72,   88,   88,   88,    0,
> -       48,   76,   76,   76,   76,   76,    0,    0,   51,   51,
> -       76,   64,   53,   64,   64,   57,   64,   64,   64,   64,
> +       64,   64,    0,   86,   75,   75,   75,    0,   73,    0,
> +       75,   75,   85,    0,    0,    0,    0,    0,   87,   75,
> +       75,   75,   75,   75,    2,    1,    0,    1,   65,   65,
> +        0,   64,   75,    0,   65,    0,   75,   17,   17,   15,
> +        0,   14,   15,   21,   21,   21,   18,   18,    0,    3,
> +        9,    0,    6,    7,    9,    9,   13,    0,   13,   13,
> +        0,   10,    0,   48,    0,    0,   47,   23,   23,    0,
> +       23,    0,    0,   22,   22,   22,   22,   22,   22,   23,
> +       23,   64,   23,   23,   23,   23,   23,   23,   23,   23,
> +       73,    0,   23,   23,   76,   76,   76,   71,    0,   48,
> +
> +        0,   47,    0,   71,   71,    0,   71,   71,   71,   71,
> +       71,   71,   64,   64,   64,   64,   64,   64,   64,   64,
> +       64,   64,   64,   71,   71,   71,   71,    0,   71,   71,
> +       87,   87,   87,    0,   48,   75,   75,   75,   75,   75,
> +        0,    0,   51,   51,   75,   64,   53,   64,   64,   57,
> +       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
>         64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
> -       64,   64,   64,   64,   64,   64,   74,   76,   76,   76,
> -       76,    0,    0,    0,    0,    0,   88,   76,   76,   76,
> -       76,   76,   76,    0,   65,    0,   65,   76,   76,   10,
> +       73,   75,   75,   75,    0,    0,    0,    0,    0,   87,
> +       75,   75,   75,   75,   75,   75,    0,   65,    0,   65,
> +       75,   75,   10,    0,    0,    0,   22,   22,   22,   23,
>  
> -        0,    0,    0,   22,   22,   22,   23,   23,   23,   23,
>         23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
> -       23,   74,   23,   23,   23,    0,   72,   72,   72,   72,
> -       72,   64,   53,   64,   64,   64,   64,   64,   64,   64,
> -       64,   64,   64,   64,   64,   64,   64,   72,   72,   72,
> -       72,   72,   88,   88,   88,   76,   76,   76,   76,   76,
> -       76,    0,   52,   52,   52,    0,    0,   51,   51,   51,
> -       51,   51,   51,   51,   76,   64,   64,   64,   64,   64,
> +       23,   23,   23,   23,   73,   23,   23,    0,   71,   71,
> +       71,   71,   71,   64,   53,   64,   64,   64,   64,   64,
> +       64,   64,   64,   64,   64,   64,   64,   64,   64,   71,
> +       71,   71,   71,   87,   87,   87,   75,   75,   75,   75,
> +       75,   75,    0,   52,   52,   52,    0,    0,   51,   51,
> +       51,   51,   51,   51,   51,   75,   64,   64,   64,   64,
>         64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
> -       64,   64,   64,   64,   64,   59,   64,   64,   60,   70,
> +       64,   64,   64,   64,   64,   64,   59,   64,   64,   60,
> +       75,   75,   75,   75,    0,    0,    0,    0,    0,    0,
>  
> -       76,   76,   76,   76,    0,    0,    0,    0,    0,    0,
> -       88,   76,   76,   76,   65,   76,    0,    0,    0,    0,
> +       87,   75,   75,   75,   65,   75,    0,    0,    0,    0,
>          0,   22,   22,   23,   23,   23,   64,   23,   23,   23,
>         23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
> -       23,   23,   72,   72,   72,   72,   72,   72,   64,   64,
> +       23,   71,   71,   71,   71,   71,   71,   64,   64,   64,
> +       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
> +       64,   64,   71,   71,   71,   71,   75,   75,   75,    0,
> +        0,   52,   52,   52,    0,   51,   51,    0,   51,   51,
> +       51,   51,   51,   51,   51,   51,   51,   51,   51,   75,
> +       64,   64,    0,   33,   64,   64,   64,   64,   64,    0,
> +       42,   64,   64,   64,   64,   64,   64,   64,   64,   64,
> +
> +       64,   62,   64,   64,   75,   75,   75,   75,   75,    0,
> +        0,    0,   87,   75,   75,   75,    0,    0,    0,   22,
> +       22,   23,   23,   64,   64,   23,   23,   23,   23,   23,
> +       23,   23,   23,   23,   23,   23,   23,   23,   23,   71,
> +       71,   71,   64,   64,   64,   64,   64,   64,   64,   64,
> +       64,   64,   64,   64,   64,   71,   71,   71,   71,   71,
> +       75,   75,   75,   75,   75,    0,   52,    0,   51,   51,
> +       51,    0,    0,    0,   51,   51,   51,   51,   51,   51,
> +       51,   51,   51,   51,   51,   51,   51,   75,   64,   58,
>         64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
> -       64,   64,   64,   70,   72,   72,   72,   72,   76,   76,
> -       76,    0,    0,   52,   52,   52,    0,   51,   51,    0,
> -       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
> -       51,   76,   64,   64,    0,   33,   64,   64,   64,   64,
> -
> -       64,    0,   42,   64,   64,   64,   64,   64,   64,   64,
> -       64,   64,   64,   62,   64,   64,   76,   76,   76,   76,
> -       76,    0,    0,    0,   88,   76,   76,   76,    0,    0,
> -        0,   22,   22,   23,   23,   64,   64,   23,   23,   23,
> -       23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
> -       23,   72,   72,   72,   64,   64,   64,   64,   64,   64,
> -       64,   64,   64,   64,   64,   64,   64,   72,   72,   72,
> -       72,   72,   76,   76,   76,   76,   76,    0,   52,    0,
> -       51,   51,   51,    0,    0,    0,   51,   51,   51,   51,
> -       51,   51,   51,   51,   51,   51,   51,   51,   51,   76,
>  
> -       64,   58,   64,   64,   64,   64,   64,   64,   64,   64,
> +       64,   64,   64,   64,   64,   64,   64,   66,   67,   68,
> +       69,   75,    0,    0,   87,   75,   75,   75,    0,    0,
> +        0,    0,    0,   23,   23,   64,   64,   23,   23,   23,
> +       64,   23,   23,   23,   23,   23,   23,   23,   23,   23,
> +       23,   71,   71,   71,   71,   71,   64,   64,   64,   64,
>         64,   64,   64,   64,   64,   64,   64,   64,   64,   66,
> -       67,   68,   69,   76,    0,    0,   88,   76,   76,   76,
> -        0,    0,    0,    0,    0,   23,   23,   64,   64,   23,
> -       23,   23,   64,   23,   23,   23,   23,   23,   23,   23,
> -       23,   23,   23,   72,   72,   72,   72,   72,   64,   64,
> +       67,   68,   69,   71,   49,   49,   49,    0,    0,   51,
> +       51,   51,   51,   51,   51,   51,    0,    0,    0,    0,
> +        0,   51,   51,   51,   51,   51,   51,   51,   51,   51,
> +       51,   51,   51,   51,   51,   75,   64,    0,   44,   64,
> +
> +       64,   64,   64,    0,   32,   64,   64,   64,   64,    0,
> +       43,   64,   64,   64,   64,    0,   31,    0,   36,   54,
> +       75,    0,    0,   87,   75,   75,   75,   49,   49,   49,
> +       23,   64,   64,   23,   23,   64,   64,   23,   23,   23,
> +       49,   49,   49,   64,   64,   64,   64,   64,   64,   64,
> +       64,   64,   71,   75,   49,   49,   49,   49,    0,   51,
> +        0,   51,   51,   51,   51,   51,   51,   51,   51,   51,
> +       51,   51,    0,    0,    0,   51,   51,   51,   51,   51,
> +       51,   51,   51,   51,   51,   51,   51,   51,   24,   64,
>         64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
> -       64,   66,   67,   68,   69,   72,   49,   49,   49,    0,
> -        0,   51,   51,   51,   51,   51,   51,   51,    0,    0,
> -        0,    0,    0,   51,   51,   51,   51,   51,   51,   51,
> -
> -       51,   51,   51,   51,   51,   51,   51,   76,   64,    0,
> -       44,   64,   64,   64,   64,    0,   32,   64,   64,   64,
> -       64,    0,   43,   64,   64,   64,   64,    0,   31,    0,
> -       36,   54,   76,    0,    0,   88,   76,   76,   76,   49,
> -       49,   49,   23,   64,   64,   23,   23,   64,   64,   23,
> -       23,   23,   49,   49,   49,   64,   64,   64,   64,   64,
> -       64,   64,   64,   64,   72,   76,   49,   49,   49,   49,
> -        0,   51,    0,   51,   51,   51,   51,   51,   51,   51,
> -       51,   51,   51,   51,    0,    0,    0,   51,   51,   51,
> -       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
>  
> -       24,   64,   64,   64,   64,   64,   64,   64,   64,   64,
> -       64,   64,   56,   64,   71,    0,    0,   88,   76,   28,
> -       65,    0,   49,   49,   49,   49,   23,   64,   64,   23,
> -       23,   64,   64,   23,   23,   23,   72,   49,   49,   49,
> -       49,   64,   64,   64,   64,   64,   64,   64,   64,   64,
> -       71,   50,   50,   50,   50,   51,    0,    0,    0,   51,
> +       56,   64,   70,    0,    0,   87,   75,   28,   65,    0,
> +       49,   49,   49,   49,   23,   64,   64,   23,   23,   64,
> +       64,   23,   23,   23,   71,   49,   49,   49,   49,   64,
> +       64,   64,   64,   64,   64,   64,   64,   64,   70,   50,
> +       50,   50,   50,   51,    0,    0,    0,   51,   51,   51,
>         51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
> -       51,   51,    0,    0,    0,    0,    0,   51,   51,   51,
> -       51,   51,   51,   51,   51,   76,   64,   64,   64,   64,
> -       64,    0,   45,   64,   64,   64,    0,   30,    0,   37,
> -
> -       55,    0,   28,   26,   88,   29,    0,   76,   50,   50,
> -       50,   50,   23,   64,   64,   23,   64,   64,   50,   50,
> -       50,   50,   64,   64,   64,   64,   64,   64,   76,   76,
> -       50,   50,   50,   50,    0,    0,    0,    0,    0,   51,
> +        0,    0,    0,    0,    0,   51,   51,   51,   51,   51,
> +       51,   51,   51,   75,   64,   64,   64,   64,   64,    0,
> +       45,   64,   64,   64,    0,   30,    0,   37,   55,    0,
> +       28,   26,   87,   29,    0,   75,   50,   50,   50,   50,
> +
> +       23,   64,   64,   23,   64,   64,   50,   50,   50,   50,
> +       64,   64,   64,   64,   64,   64,   75,   75,   50,   50,
> +       50,   50,    0,    0,    0,    0,    0,   51,   51,   51,
>         51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
> -       51,   51,   51,   51,   51,   51,   51,   51,   51,   76,
> -       64,    0,   34,   63,    0,   40,   64,   64,   64,   64,
> -       29,   26,   26,   26,   26,   88,   28,    0,    0,    0,
> -        0,    0,   28,    0,    0,    0,   50,   50,   50,   50,
> -       64,   23,   64,   64,   72,   72,   50,   50,   50,   50,
> +       51,   51,   51,   51,   51,   51,   51,   75,   64,    0,
> +       34,   63,    0,   40,   64,   64,   64,   64,   29,   26,
> +       26,   26,   26,   87,   28,    0,    0,    0,    0,    0,
> +       28,    0,    0,    0,   50,   50,   50,   50,   64,   23,
> +       64,   64,   71,   71,   50,   50,   50,   50,   64,   64,
> +       64,   64,   75,   75,   75,    0,    0,    0,   51,   51,
>  
> -       64,   64,   64,   64,   76,   76,   76,    0,    0,    0,
>         51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
> -       51,   51,   51,   51,   51,   51,   51,   51,   25,   64,
> -        0,   38,   64,   64,   64,   26,   88,    0,   28,    0,
> -        0,    0,   23,   64,   64,   72,   72,   72,   64,   64,
> -       64,   76,   76,   76,   76,   76,    0,    0,    0,    0,
> -        0,   51,   51,   51,   51,   51,   51,   51,   51,   64,
> -        0,   35,    0,   41,   64,   27,    0,    0,    0,    0,
> -        0,   64,   72,   72,   72,   72,   72,   64,   76,   76,
> -       76,   51,   51,   51,   51,   51,   51,   64,    0,   39,
> -
> -       27,   27,   27,   27,    0,    0,    0,   72,   72,   72,
> -       76,   76,   76,   76,   76,   51,   51,   51,   51,   51,
> -       64,   27,    0,    0,    0,    0,    0,   72,   72,   72,
> -       72,   72,   49,   49,   49,   64,   49,   49,   49,   49,
> -       49,   49,   49,   49,   49,   61,   49,   49,   49,   49,
> -       49,   49,    0
> +       51,   51,   51,   51,   51,   51,   25,   64,    0,   38,
> +       64,   64,   64,   26,   87,    0,   28,    0,    0,    0,
> +       23,   64,   64,   71,   71,   71,   64,   64,   64,   75,
> +       75,   75,   75,   75,    0,    0,    0,    0,    0,   51,
> +       51,   51,   51,   51,   51,   51,   51,   64,    0,   35,
> +        0,   41,   64,   27,    0,    0,    0,    0,    0,   64,
> +       71,   71,   71,   71,   71,   64,   75,   75,   75,   51,
> +       51,   51,   51,   51,   51,   64,    0,   39,   27,   27,
> +       27,   27,    0,    0,    0,   71,   71,   71,   75,   75,
> +
> +       75,   75,   75,   51,   51,   51,   51,   51,   64,   27,
> +        0,    0,    0,    0,    0,   71,   71,   71,   71,   71,
> +       49,   49,   49,   64,   49,   49,   49,   49,   49,   49,
> +       49,   49,   49,   61,   49,   49,   49,   49,   49,   49,
> +        0
>      } ;
>  
>  static yyconst flex_int32_t yy_ec[256] =
> @@ -588,314 +587,312 @@
>         21,   21,   21,   21,   21,   21
>      } ;
>  
> -static yyconst flex_int16_t yy_base[1378] =
> +static yyconst flex_int16_t yy_base[1366] =
>      {   0,
>          0,   75,  126,  199,   83,   91,   99,  180,  272,  347,
>        422,  478,  131,  147,  535,    0,  189,  219,  611,    0,
> -     6456, 6375,   76, 9534, 6417, 6405, 9534,  685,  101, 9534,
> -     9534, 6354, 9534,  199,  697,  238,  143, 6380, 9534, 9534,
> -       23,  762,   35,  103,   71,  132,  819, 6339,   76, 6348,
> -     6334,  112, 6333, 6330,   61,  883,  914,  262,   73,  152,
> -      266,  969,  251,  166, 6295,  122, 6266,  197,  338,  123,
> -      369, 6291, 6255, 6254, 6264, 1036,  177,    0, 9534, 6284,
> -     6258, 9534,    0, 1092,    0,  214, 9534, 6258, 6252, 9534,
> -     9534,  236, 1148,  249,    0, 6190, 9534,  239, 9534,  240,
> -
> -     9534,  306, 6168,  311,  262, 9534,  320,  172, 1177, 1236,
> -     1281,  363,  349, 1340, 1391, 6135,  249,  254, 1448, 6117,
> -     6113, 6125, 6109, 6121, 6114,  300,  422,    0, 6078,  173,
> -     6088,  323, 9534,  397, 6087,  425, 6076,  456, 1496,  476,
> -      373, 1561, 6077,  272,  331, 1618, 6061, 6059, 6071, 6047,
> -     6048, 6013, 1682, 1713,  494,  384,  399, 5993,  737,  318,
> -     9534, 6019,  168, 9534, 6022,  504,  671, 5966,  848,  707,
> -      926, 5954,  971,  893, 5953, 1769,  984, 1784, 5979, 5944,
> -      939,  994,  437, 5931,  446,  243, 1849, 1906, 5903, 5896,
> -     5894, 5902, 5895, 5881, 5873, 5878, 5881, 5875, 1012, 5865,
> -
> -     5872, 5869, 5858, 5862, 5850,  430, 9534,  348, 1022, 1970,
> -      691, 5840, 1024,  415,  410,  414, 1033, 5826, 5813, 5804,
> -     5798, 5799,  847,  684,  686,  416,  421,  714,  891,  504,
> -     1089,  505,  896, 5802, 2026, 1082, 2057,  718, 5772, 1078,
> -      803,    0, 5821,  946, 5823, 9534, 9534,    0,  750, 5805,
> -     9534, 1070, 1116,    0, 5746, 1184, 9534, 9534, 5745, 1152,
> -     5744, 5775,  979,  682, 1157,  768, 5765, 1062, 1077, 1191,
> -     5710, 2114,    0, 1250, 2173, 1211, 1250, 2215, 5748, 1263,
> -     1360, 1208, 2266, 2323, 5713,    0, 5717, 5699, 5679, 5687,
> -     5684, 1451, 5662, 5660, 9534,  931, 5636, 5644, 5640, 5645,
> -
> -     1123,  854, 5631, 1536, 5616, 1725, 5615, 1756, 1660, 5607,
> -     2387, 1679, 2402, 5588, 1370, 1769, 1482, 2467, 2524, 5546,
> -     5548, 5539, 5531, 5539, 5531, 1621, 5522, 5510,  737, 1746,
> -     2588, 5503, 1823,  417,  802,  860,  907,  970, 1027, 1926,
> -     1936, 2628, 2668, 2708, 2746, 5515, 5502, 2792,  868, 2839,
> -      983, 2904, 2961, 5497, 5448,    0, 5458, 5449, 5454, 5449,
> -     5421, 5395, 5383, 5367, 5367, 5364, 5365, 5364, 5359,  695,
> -     5278, 5273, 5275, 5273, 5272, 5271, 3025, 3081,  862, 1652,
> -      897,   24, 5230, 5212, 5214, 5220, 1086,  996, 1001, 5205,
> -      872, 1043,  821, 1979, 9534,  990, 3137, 3193,  898, 1059,
> -
> -     1993, 2023, 2054, 3231, 5244, 3282, 3339, 5224, 5204, 5202,
> -     5180, 5194, 5137, 5144, 5124, 5122, 5134, 5133, 5128, 5102,
> -     5113, 1021, 5049, 1160, 5051, 2089, 3387, 3427, 3467, 3507,
> -     5104, 3553,    0, 5085, 5069, 5067, 5039, 5053, 5041, 5034,
> -     5033, 5021, 5022, 5008, 5003, 4980, 4980, 3617, 3673, 1002,
> -     1804, 1033, 9534, 1099, 1128, 2113,  160, 3713, 3753, 1969,
> -      708, 4972, 4971, 2128, 1204, 4970, 4960, 1137, 1182, 3793,
> -     2139, 1814, 3840, 2174,  237, 3905, 1098,  952, 1534, 1159,
> -     1172, 1154, 1508, 1716, 1181, 1122, 1188, 1221, 1054, 1215,
> -     1308, 1449, 1222, 1184, 1450, 4959, 1267, 1377, 4948, 4920,
> -
> -     1472, 1470, 1351,  879, 4902, 4895, 4880, 4864, 4864, 4849,
> -     1755,   86, 1516, 1480, 1471, 1506, 2187, 4881, 2199, 2237,
> -     2079, 3962, 4013, 4088, 2006, 2060, 1527, 1973, 2367, 2368,
> -     2404, 2361, 2374, 2562, 2405, 2444, 2563,    0, 1139, 4859,
> -     4849, 4789, 2550, 1391, 4136, 4176, 2603, 1619, 4822, 2268,
> -     4804, 4765, 1669, 2442, 4768, 4761, 4753, 4744, 4733, 4724,
> -     4722, 4712, 4712, 4700, 1636, 1682, 1494, 1671, 4216, 4256,
> -     4296, 4726, 4680, 2609, 4680, 4678, 4665, 4664, 1667, 2641,
> -     1812, 2651, 2066, 4336,    0, 2680, 4384, 2691, 2718, 4431,
> -     2726, 1594, 1697, 1729, 2443, 9534, 1786, 1717, 1736, 1268,
> -
> -     1813, 2445, 9534, 1737, 1620, 1509, 1720, 1710, 1954, 1824,
> -     2010, 1966, 1821, 4663, 1944, 1977, 1122, 1314, 1949, 1795,
> -     1967, 4636, 4579, 4560, 2103, 1968, 2053, 1997, 2768, 2814,
> -     2861, 4584, 4583, 2842, 2611, 4559, 4517, 3000, 2757, 3009,
> -     2999, 3010, 3012, 3042, 3044, 3043, 4511, 4508, 4509, 4502,
> -     4460, 4479, 4519, 4559, 4468, 4462, 4444, 4437, 4428, 4419,
> -     4424, 4384, 4381, 4366, 4357, 4349, 4316, 2069, 2029, 2070,
> -     2089, 2050, 3078, 2112, 4599, 4639, 3097, 4338, 4322, 4285,
> -     4282, 4677, 2093, 3105, 3137, 3152, 2159, 2253, 2336, 3162,
> -     2360, 4725,    0, 3045, 4773, 3190, 3206, 4820, 3214, 2119,
> -
> -     2199, 4281, 2905, 2091, 2218, 2145, 2041, 3190, 2226, 2326,
> -     2335, 3191, 1827, 1547, 2334, 2252, 3242, 3243, 2217, 4253,
> -     4230, 4215, 4213, 2345, 4178, 4163, 2552, 2385, 2358, 2386,
> -     3254, 4212, 3361, 3399, 3373, 3284, 3427, 4107, 4096, 3428,
> -     3429, 3430, 2367, 3436, 3467, 3437, 3468, 3469,    0,    0,
> -        0,    0, 4078, 3480, 2266, 4868, 4908, 3492, 3517, 4090,
> -     4073, 4069, 3520, 4059, 4044, 2410, 3553, 4038, 4025, 3554,
> -     3555, 3989, 3988, 3973, 3972, 2401, 4947, 4986, 5025, 3991,
> -     3990, 3887, 3573, 5065, 3583, 3614, 5111, 3632, 3642, 3896,
> -     3670, 3688, 3700, 2537, 2561, 2584, 2592, 3723, 2876, 5159,
> -
> -        0, 3735, 5207, 3763, 3620, 5254, 3775, 2419, 5319, 3556,
> -     9534, 1807, 2557, 2319, 1889, 3670, 9534, 2633,  815, 2559,
> -     2591, 3671, 9534, 2672, 2674, 3848, 3797, 3803, 9534, 3841,
> -     9534, 3777, 2404, 3756, 3687, 2578, 2624, 2650, 2703, 3861,
> -     3983, 4076, 5381, 3680, 3654, 2708, 2709, 3632, 3599, 2843,
> -     2751, 3571, 5439, 5478, 5517, 5574, 2750, 3574, 2710, 2797,
> -     2660, 2798, 2861, 2752, 2704, 4109, 2994, 5632, 5671, 3815,
> -     3518, 3509, 4147, 2974, 4157, 2989, 5711,    0, 4188, 5724,
> -     4199, 3871, 5770, 4228, 4240, 4268, 4280, 2990, 2998, 3041,
> -     3118, 4306, 3122, 5818,    0, 4318, 5866, 4356, 3993, 4406,
> -
> -     2853, 5931, 2861, 3025, 3002, 2951, 4479, 2811, 3174, 3026,
> -     4519, 4559, 3461, 2833, 3429, 3422, 3394, 3475, 3035, 4360,
> -     3406, 4451, 3427, 4491, 4531, 4120, 5993, 3390, 3319, 4385,
> -     2370, 3292, 3288, 4560, 4561,    0, 4572, 3057, 6051, 6090,
> -     4507, 6147, 3238, 1947, 4600, 3057, 3156, 3233, 4601, 4602,
> -     3141, 6206, 6246, 6286, 6326, 3141, 4615, 4651, 4663, 3126,
> -     3269, 3270, 4697, 3362, 6366,    0, 4747, 6379, 4707, 4167,
> -     6425, 4795, 4840, 3133, 4880, 4892, 4550, 3442, 3521, 3534,
> -     2098, 2125, 6473,    0, 4807, 3497, 3572, 4921, 2984, 4957,
> -     3065, 3843, 9534, 3573, 3027, 3713, 3906, 9534, 4229, 9534,
> -
> -     3087, 3068, 3818, 3761, 3839, 3053, 4936, 4946, 4999, 5011,
> -     5037, 5049, 5112, 4269, 3001, 3389, 2956, 2869, 6485, 6525,
> -     6565, 6605, 5113, 5114, 2800, 3515, 2607, 3636, 5133, 2442,
> -     6645, 6685, 4854, 2626, 5179, 2829, 5229, 5276, 4758, 2795,
> -     2747, 3388, 3689, 5189, 3776, 6725,    0, 4961, 6738, 5449,
> -     4417, 6784, 5461, 5489, 5500, 5528, 3822, 2703, 2805, 2161,
> -     2421, 4652, 9534, 2557, 4958, 9534, 5528, 3212, 3859, 3459,
> -     9534, 3259, 4344, 9534, 3367, 4868, 5660, 5668, 5699, 5707,
> -     5542, 5319, 5763, 5906, 5658, 2548, 5840, 6063, 4974, 2363,
> -     5078, 2273, 2218, 2136, 5753, 2879, 6832, 6872, 5793, 3190,
> -
> -     5257, 2017, 1972, 2942, 6912, 6952, 6992, 6075, 6102, 6114,
> -     1909, 1785, 3881, 4001, 6216, 4089, 7032,    0, 6228, 7045,
> -     6256, 4625, 6268, 1764, 6297, 6308, 5699, 1705, 1639, 4148,
> -     5574, 9534, 5904, 6339, 3862, 9534, 4481, 6336, 6350, 6401,
> -     6447, 6497, 5819, 5575, 1440, 7093, 7133, 7173, 5821, 5869,
> -     1398, 6507, 3228, 7213, 7253, 6459, 6545, 1405, 6577, 6589,
> -     6413, 1343, 1309, 4199, 1246, 1198, 6617,    0, 3700, 2854,
> -     5910, 9534, 6147, 9534, 6618, 4944, 6629,  884, 6658, 6670,
> -     6537, 6148, 6700, 3750, 7293, 7333, 6712, 6784, 7373, 7413,
> -     7453, 6804, 6842, 6852,  763,    0,  685, 3256, 6336, 9534,
> -
> -     3459, 5104, 9534, 3623, 6884, 6896, 6924, 7493, 7533, 7573,
> -     6934, 3751, 7613, 7653, 6760, 9534, 6972, 7002, 6555, 9534,
> -     2538, 9534, 7012,  516, 7067, 7105, 6771, 7115, 3880, 7693,
> -     7733, 7146, 7153, 7191, 7229, 4032, 7239, 7267, 7277, 7306,
> -     7316, 7354,  451, 7392, 7164,  320, 9534, 7430, 6816,  179,
> -     7440, 7346, 9534, 7790, 7811, 7832, 7853, 7874, 7895, 7916,
> -     7937, 7958, 7979, 8000, 4374, 8021, 8042, 8063, 8084, 8105,
> -     8126, 3974, 8147, 8168, 8189, 8210, 8231, 8252, 8273, 8294,
> -     8315, 8336, 8357, 8378, 8399, 8420, 8441, 8462, 8483, 8504,
> -     8525, 8546, 4595, 4942, 8555, 8575, 8596, 8617, 8638, 8659,
> -
> -     8680, 8701, 8722, 4195, 8743, 8764, 8785, 8806, 8818, 8839,
> -     5247, 8860, 8881, 8902, 8923, 8944, 8965, 8986, 9007, 9028,
> -     9049, 5097, 9058, 9078, 9099, 9120, 9141, 5292, 6240, 6242,
> -     9150, 9158, 9178, 9199, 5308, 6285, 6524, 6724, 9208, 9217,
> -     6868, 6871, 6951, 9225, 9234, 6968, 6970, 9242, 9251, 9271,
> -     5805, 9283, 9304, 6988, 9314, 9322, 9331, 9351, 7028, 9363,
> -     9384, 6991, 9394, 9402, 9411, 9431, 9452, 9473, 7083, 9483,
> -     4331, 7132, 9492, 7208, 5651, 9512, 4468
> +     6517, 6458,   76, 9534, 6501, 6471, 9534,  685,  101, 9534,
> +     9534, 6409, 9534,  199,  697,  238,  143, 6428, 9534, 9534,
> +       23,  762,   35,  103,   71,  132,  819, 6411,   76, 6422,
> +     6385,  112, 6373, 6374,   61,  883,  914,  262,  152,  266,
> +      969,  251,  166, 6339,  122, 6336,  197,  338,  123,  369,
> +     6350, 6335, 6334, 6344, 1036,  177,    0, 9534, 6364, 6335,
> +     9534,    0, 1092,    0,  214, 9534, 6338, 6331, 9534, 9534,
> +      236, 1148,  249,    0, 6280, 9534,  239, 9534,  240, 9534,
> +
> +      306, 6245,  311,  262, 9534,  320,  172, 1177, 1236, 1281,
> +      363,  349, 1340, 1391, 6257,   86,  254, 1448, 6231, 6215,
> +     6227, 6200, 6212, 6207,  294,  422,    0,  173, 6187,  323,
> +     9534,  397, 6180,  348, 6168,  450, 1496,  444,  373, 1561,
> +     6135,  272,  388, 1618, 6117, 6113, 6125, 6109, 6121, 6114,
> +     1682, 1713,  490,  421, 6089,  737,  304, 9534, 6138,  168,
> +     9534, 6141,  500,  671, 6086,  848,  446,  926, 6085,  971,
> +      893, 6064, 1769,  984, 1784, 6077, 6088,  939,  994,  887,
> +     6075,  422,  243, 1849, 1906, 6050, 6034, 6002, 6013, 5988,
> +     5981, 5972, 5966, 5970, 5967, 1012, 5912, 5905, 5900, 5892,
> +
> +     5894, 5885,  496, 9534,  376, 1022, 1970,  449, 5868, 1024,
> +      417,  433, 1033, 5854, 5859, 5849, 5841, 5839,  847,  684,
> +      683,  418,  434,  673,  935,  318, 1089,  454, 1064, 5850,
> +     2026, 1086, 2057,  694, 5842, 1078,  707,    0, 5891,  528,
> +     5894, 9534, 9534,    0,  498, 5862, 9534, 1135, 1134,    0,
> +     5801, 1184, 9534, 9534, 5792, 1140, 5772, 5820,  860,  682,
> +     1177,  750, 5822,  943, 1075, 1250, 5767, 2114,    0, 1377,
> +     2173, 1196, 1196, 2215, 5793, 1250, 1263, 1208, 2266, 2323,
> +     5759,    0, 5764, 5757, 5732, 5726, 5715, 1451, 5705, 5692,
> +     9534, 1021, 5670, 5664, 5669,  891,  721, 5667, 1536, 5655,
> +
> +     1725, 5654, 1756, 1660, 5646, 2387, 1679, 2402, 5670, 1769,
> +     1804, 1374, 2467, 2524, 5629, 5634, 5619, 5555, 5550, 5541,
> +     1621, 5532, 5528,  737, 1746, 2588, 5516, 1194,  714,  841,
> +      431,  856,  944, 1926, 1936, 2628, 2668, 2708, 2746, 5552,
> +     5529, 2792,  910, 2839,  866, 2904, 2961, 5517, 5503,    0,
> +     5511, 5489, 5494, 5489, 5436, 5450, 5438, 5445, 5424, 5392,
> +     5404, 5380, 5375,  259, 5361, 5346, 5360, 5359, 5290, 5288,
> +     3025, 3081, 1184,  830,   24, 5240, 5230, 5232, 5238, 1042,
> +      896,  912, 5235,  718,  925,  821, 1979, 9534, 1043, 3137,
> +     3193,  983,  858, 1993, 2023, 2054, 3231, 5269, 3282, 3339,
> +
> +     5250, 5241, 5246, 5181, 5195, 5183, 5165, 5154, 5145, 5157,
> +     5156, 5126, 5102, 5106, 1063, 1036, 5071, 2089, 3387, 3427,
> +     3467, 3507, 5079, 3553,    0, 5048, 5027, 5031, 5008, 4998,
> +     4976, 4970, 4935, 4932, 4930, 4929, 4911, 4897, 4883, 3617,
> +     3673, 1480, 1018, 9534, 1086, 1124, 2113,  160, 3713, 3753,
> +     1969,  708, 4889, 4884, 2128, 1239, 4880, 4869,  924,  951,
> +     3793, 2139, 1814, 3840, 2174, 1050, 3905, 1103,  889, 1183,
> +     1056, 1117, 1308, 1508, 1498, 1342, 1208, 1341, 1062, 1449,
> +     1114, 1464, 1109, 1343, 1394, 1215, 4857, 1234, 1137, 4849,
> +     1366, 1008, 1506, 1424, 4818, 4813, 4815, 4786, 4792, 4778,
> +
> +     1671,   86, 1516, 1240, 1330, 1472, 2187, 4814, 2199, 2237,
> +     2079, 3962, 4013, 4088, 2006, 2060, 1522, 1716, 2367, 2368,
> +     1973, 2361, 2374, 2404, 2405, 2444, 2562, 1189, 4798, 4793,
> +     4742, 2549, 1536, 4136, 4176, 2603, 1450, 4775, 1850, 4757,
> +     4708, 1628, 2268, 4698, 4691, 4682, 4687, 4676, 4660, 4658,
> +     4654, 4647, 1636, 1682, 1629, 1483, 4216, 4256, 4296, 4625,
> +     4624, 2609, 4605, 4584, 4583, 4575,  969, 2641, 1824, 2651,
> +     2066, 4336,    0, 2592, 4384, 2678, 2688, 4431, 2720, 1494,
> +     1268, 1728, 2442, 9534, 1681, 1717, 1679, 1720, 1810, 2443,
> +     9534, 1724, 1698, 1468, 1966, 1729, 1647, 1686, 1954, 1967,
> +
> +     1821, 4534, 1977, 2041, 1759, 1758, 1980, 1517, 1798, 4489,
> +     4446, 4424, 2103, 2053, 2054, 1966, 2732, 2768, 2814, 4460,
> +     4459, 2445, 2877, 4442, 4430, 2880, 2999, 2842, 3000, 3006,
> +     3012, 2879, 3009, 2882, 4448, 4445, 4440, 4441, 4399, 4479,
> +     4519, 4559, 4389, 4389, 4371, 4364, 4333, 4324, 4329, 4287,
> +     4300, 4265, 4274, 4274, 4257, 2037, 2029, 2089, 1916, 1997,
> +     2694, 2050, 4599, 4639, 3043, 4257, 4242, 4240, 4217, 4677,
> +     2097, 2869, 3051, 3081, 2159, 2253, 2336, 3094, 2360, 4725,
> +        0, 3106, 4773, 3134, 3150, 4820, 3158, 2112, 2082, 4202,
> +     2577, 1827, 2199, 2096, 2216, 3014, 2146, 2326, 2226, 3135,
> +
> +     1944, 2188, 2334, 2252, 3186, 3187, 2351, 4173, 4135, 4111,
> +     4098, 2314, 4078, 4077, 2577, 2385, 2358, 2401, 3206, 4111,
> +     3218, 3253, 3190, 3284, 3387, 4073, 4055, 3388, 3389, 3390,
> +     2366, 3427, 3428, 3429, 3435, 3436,    0,    0,    0,    0,
> +     4003, 3480, 2125, 4868, 4908, 3456, 3467, 4008, 3997, 3979,
> +     3508, 3973, 3869, 2367, 3509, 3863, 3868, 3510, 3517, 3856,
> +     3854, 3838, 3835, 2498, 4947, 4986, 5025, 3861, 3843, 3821,
> +     3359, 5065, 3528, 3538, 5111, 3575, 3614, 3808, 3632, 3644,
> +     3587, 2537, 2572, 2974, 3030, 3670, 3066, 5159,    0, 3688,
> +     5207, 3699, 3723, 5254, 3731, 2419, 5319, 3759, 9534, 2275,
> +
> +     2756, 1190, 2412, 3760, 9534, 2403,  667, 2319, 2592, 3761,
> +     9534, 2406, 2068, 3776, 3758, 3762, 9534, 3794, 9534, 3745,
> +     2524, 3725, 3675, 2759, 2624, 2585, 2776, 3814, 3861, 3983,
> +     5381, 3680, 3668, 2549, 2557, 3669, 3649, 2610, 2634, 3625,
> +     5439, 5478, 5517, 5574, 2752, 3598, 2955, 2691, 1603, 2797,
> +     2980, 2858, 2977, 4075, 2073, 5632, 5671, 4114, 3614, 3601,
> +     4152, 2769, 4162, 2989, 5711,    0, 4188, 5724, 4199, 3763,
> +     5770, 4228, 4240, 4268, 4280, 3021, 3028, 3116, 3269, 4306,
> +     3442, 5818,    0, 4318, 5866, 4356, 3781, 4406, 3029, 5931,
> +     2506, 3089, 2994, 3081, 4479, 2787, 3022, 3139, 4519, 4559,
> +
> +     3563, 2812, 3529, 3525, 3492, 3844, 3147, 3864, 3508, 4366,
> +     3502, 4491, 4531, 3994, 5993, 3466, 3416, 3842, 1729, 3415,
> +     3395, 4560, 4561,    0, 4572, 2744, 6051, 6090, 4417, 6147,
> +     3371, 2428, 4600, 3113, 2962, 3347, 4601, 4602, 3314, 6206,
> +     6246, 6286, 6326, 3218, 4506, 4615, 4651, 3192, 3189, 3219,
> +     4661, 3254, 6366,    0, 4699, 6379, 4745, 4120, 6425, 4795,
> +     4755, 3114, 4842, 4880, 4455, 3147, 3270, 3602, 2759, 3178,
> +     6473,    0, 4550, 3364, 3535, 4918, 3347, 4921, 3411, 3906,
> +     9534, 3628, 3412, 3629, 4229, 9534, 4269, 9534, 2995, 2920,
> +     3765, 3421, 3215, 2813, 4936, 4976, 4932, 4974, 4998, 5037,
> +
> +     4823, 4726, 2796, 3047, 2772, 2754, 6485, 6525, 6565, 6605,
> +     4911, 5026, 2728, 3392, 3211, 3435, 5085, 3134, 6645, 6685,
> +     5016, 3410, 5095, 2706, 5133, 5181, 5145, 2653, 2613, 3633,
> +     3684, 5227, 3699, 6725,    0, 5276, 6738, 5237, 4625, 6784,
> +     5451, 5462, 5489, 5500, 3880, 2590, 3321, 2863, 3750, 4728,
> +     9534, 2411, 4909, 9534, 5528, 3467, 3970, 3793, 9534, 1934,
> +     4164, 9534, 3367, 4342, 5547, 5660, 5668, 5699, 5540, 5319,
> +     5707, 5906, 5658, 2403, 5747, 5792, 5193, 2359, 4910, 2196,
> +     2137, 1988, 5839, 3588, 6832, 6872, 5852, 3751, 5820, 1948,
> +     1830, 3447, 6912, 6952, 6992, 6063, 6075, 6102, 1787, 1666,
> +
> +     4075, 4089, 6112, 4177, 7032,    0, 6218, 7045, 6229, 4966,
> +     6258, 1645, 6269, 6297, 5288, 1558, 1440, 4170, 4916, 9534,
> +     5546, 5904, 4069, 9534, 4481, 6307, 6336, 6348, 6401, 6447,
> +     5910, 5066, 1398, 7093, 7133, 7173, 6514, 6525, 1288, 6512,
> +     3880, 7213, 7253, 6501, 6575, 1183, 6587, 6617, 6413, 1096,
> +     1034, 4640, 1014,  885, 6629,    0, 4323, 3525, 5068, 9534,
> +     5821, 9534, 6618, 4689, 6658,  833, 6670, 6697, 6459, 6147,
> +     6712, 4013, 7293, 7333, 6760, 6784, 7373, 7413, 7453, 6804,
> +     6842, 6852,  699,    0,  514, 3256, 6148, 9534, 3517, 4825,
> +     9534, 3623, 6884, 6896, 6924, 7493, 7533, 7573, 6934, 4073,
> +
> +     7613, 7653, 6965, 9534, 6972, 7003, 5698, 9534, 2225, 9534,
> +     7013,  471, 7067, 7105, 6539, 7115, 4074, 7693, 7733, 7146,
> +     7153, 7191, 7229, 3226, 7239, 7267, 7277, 7306, 7316, 7354,
> +      404, 7392, 7164,  316, 9534, 7430, 5757,  179, 7440, 7346,
> +     9534, 7790, 7811, 7832, 7853, 7874, 7895, 7916, 7937, 7958,
> +     7979, 8000, 4595, 8021, 8042, 8063, 8084, 8105, 8126, 3974,
> +     8147, 8168, 8189, 8210, 8231, 8252, 8273, 8294, 8315, 8336,
> +     8357, 8378, 8399, 8420, 8441, 8462, 8483, 8504, 8525, 8546,
> +     4711, 4858, 8555, 8575, 8596, 8617, 8638, 8659, 8680, 8701,
> +     8722, 4195, 8743, 8764, 8785, 8806, 8818, 8839, 5061, 8860,
> +
> +     8881, 8902, 8923, 8944, 8965, 8986, 9007, 9028, 9049, 5015,
> +     9058, 9078, 9099, 9120, 9141, 5557, 5566, 5900, 9150, 9158,
> +     9178, 9199, 5062, 6245, 6285, 6325, 9208, 9217, 6365, 6552,
> +     6559, 9225, 9234, 6773, 6777, 9242, 9251, 9271, 5308, 9283,
> +     9304, 6822, 9314, 9322, 9331, 9351, 6561, 9363, 9384, 6868,
> +     9394, 9402, 9411, 9431, 9452, 9473, 6871, 9483, 5651, 6951,
> +     9492, 6988, 5690, 9512, 3664
>      } ;
>  
> -static yyconst flex_int16_t yy_def[1378] =
> +static yyconst flex_int16_t yy_def[1366] =
>      {   0,
> -     1253,    1,    1,    1, 1254, 1254, 1255, 1255, 1256, 1256,
> -     1257, 1257, 1258, 1258, 1253,   15, 1259, 1259, 1253,   19,
> -     1253, 1260, 1253, 1253, 1253, 1253, 1253, 1261, 1262, 1253,
> -     1253, 1263, 1253, 1264, 1260,   35,   35, 1265, 1253, 1253,
> -     1260, 1253,   42,   42,   42,   42,   42,   47,   47,   47,
> -       47,   47,   47,   47,   47, 1260, 1266,   35, 1260, 1260,
> -     1253, 1261,   42,   42,   47,   47,   47, 1253, 1253, 1253,
> -     1267,   42,   47,   47,   47, 1268, 1260, 1269, 1253, 1253,
> -     1269, 1253, 1269, 1253, 1270, 1270, 1253, 1253, 1270, 1253,
> -     1253, 1271, 1261, 1253, 1272, 1273, 1253, 1273, 1253, 1273,
> -
> -     1253, 1274, 1275, 1275, 1275, 1253, 1253, 1276, 1277, 1278,
> -     1253,  111,  111,  111, 1253,  115,  115,  115,  115,  119,
> -      119,  119,  119,  119,  119, 1279,  111,  114,  114,  114,
> -     1280, 1280, 1253, 1280, 1281, 1282, 1283, 1284, 1281,  139,
> -      139, 1253,  142,  142,  142,  142,  146,  146,  146,  146,
> -      146,  146, 1281, 1285,  139, 1281, 1281, 1286, 1286, 1253,
> -     1253, 1253, 1287, 1253, 1253, 1288, 1253, 1289, 1253, 1276,
> -     1289, 1290, 1290, 1291, 1292, 1286, 1286, 1286, 1293,  178,
> -      178,  178,  178, 1294, 1295, 1286, 1253,  187,  188,  188,
> -      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
> -
> -      188,  188,  188,  188,  188, 1253, 1253, 1286, 1286, 1296,
> -     1297, 1286, 1296, 1286, 1286, 1286, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1287, 1286,  178, 1286, 1286, 1286, 1253, 1253,
> -     1253, 1253, 1298, 1299, 1286,  188, 1300, 1301, 1286, 1300,
> -     1286, 1302, 1302, 1253, 1253, 1253, 1253, 1303, 1303, 1303,
> -     1253, 1253, 1288, 1304, 1305, 1305, 1253, 1253, 1305, 1305,
> -     1306, 1253, 1306, 1306, 1253, 1253, 1253, 1276, 1276, 1276,
> -     1307, 1308, 1309, 1307, 1310, 1253, 1253, 1309,  278,  278,
> -      278,  278, 1253,  283,  284, 1311,  284,  284,  284,  284,
> -      284,  284,  284,  284, 1253, 1297, 1309, 1309, 1309, 1312,
> -
> -     1312, 1312, 1313, 1313, 1314, 1314, 1315, 1315, 1316, 1317,
> -     1313, 1313, 1313,  313,  313,  313,  313, 1253,  318,  319,
> -      319,  319,  319,  319,  319,  319,  319,  319, 1313, 1313,
> -     1318, 1313, 1318, 1313, 1313, 1313, 1319, 1319, 1320, 1253,
> -     1253, 1321, 1321, 1321, 1321,  345, 1322, 1253, 1323, 1253,
> -     1321, 1253,  352,  353,  353,  353,  353,  353,  353,  353,
> -      353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
> -      353,  353,  353,  353,  353,  353, 1324, 1324, 1321, 1321,
> -     1321, 1253, 1253, 1253, 1253, 1253, 1319, 1321, 1321,  345,
> -     1321, 1321, 1321, 1253, 1253, 1325, 1326, 1326, 1321, 1253,
> -
> -     1253, 1253, 1253, 1309,  404, 1253,  406,  407,  407,  407,
> -      407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
> -      407, 1327, 1309, 1309, 1309, 1253, 1313, 1313, 1313,  313,
> -      430,  318,  319,  319,  319,  319,  319,  319,  319,  319,
> -      319,  319,  319,  319,  319,  319,  319, 1318, 1318, 1313,
> -     1313, 1313, 1253, 1320, 1320, 1321, 1321, 1321, 1321, 1321,
> -     1321, 1328, 1329, 1329,  464, 1330, 1329, 1331, 1332, 1253,
> -      470,  470, 1253,  470, 1321, 1253,  476,  476,  476,  476,
> -      476,  476,  476,  476,  476,  476,  476,  476,  476,  476,
> -      476,  476,  476,  476,  476,  476,  476,  476,  476, 1321,
> -
> -     1321, 1321, 1321, 1321, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1333, 1321, 1321, 1321, 1334, 1321, 1253, 1253, 1253, 1253,
> -     1253, 1309, 1253,  523,  524,  524, 1335,  524,  524,  524,
> -      524,  524,  524,  524,  524,  524,  524, 1309, 1309, 1309,
> -     1309, 1309, 1313, 1313, 1313, 1313, 1313, 1313,  319,  319,
> -      319,  319,  319,  319,  319,  319,  319,  319,  319,  319,
> -      319,  319,  319, 1313, 1313, 1313, 1313, 1313, 1321, 1321,
> -     1321, 1253, 1336, 1336,  574, 1336, 1337, 1338, 1339, 1253,
> -     1340,  473, 1340, 1253,  584, 1340, 1253,  587,  587, 1253,
> -      587, 1321,  476,  476, 1253, 1253,  476,  476,  476,  476,
> -
> -      476, 1253, 1253,  476,  476,  476,  476,  476,  476,  476,
> -      476,  476,  476,  476,  476,  476, 1321, 1321, 1321, 1321,
> -     1321, 1253, 1253, 1253, 1333, 1321, 1321, 1321, 1253, 1253,
> -     1253,  522,  523,  524,  524, 1335, 1335,  524,  524,  524,
> -      524,  524,  524,  524,  524,  524, 1309, 1309, 1309, 1309,
> -     1309, 1313, 1313, 1313,  319,  319,  319,  319,  319,  319,
> -      319,  319,  319,  319,  319,  319,  319, 1313, 1313, 1313,
> -     1313, 1313, 1321, 1321, 1321, 1321, 1321, 1341, 1341, 1342,
> -     1343, 1253, 1253, 1253, 1253, 1253, 1344, 1344, 1345,  590,
> -     1345, 1253,  692, 1345, 1253,  695,  695, 1253,  695, 1321,
> -
> -      476,  476,  476,  476,  476,  476,  476,  476,  476,  476,
> -      476,  476,  476,  476,  476,  476,  476,  476,  476, 1321,
> -     1321, 1321, 1321, 1321, 1253, 1253, 1333, 1321, 1321, 1321,
> -     1253, 1253, 1253, 1253, 1253,  524,  524, 1335, 1335,  524,
> -      524,  524, 1335,  524,  524,  524,  524,  524, 1309, 1309,
> -     1309, 1309, 1309, 1313, 1313, 1313, 1313, 1313,  319,  319,
> -      319,  319,  319,  319,  319,  319,  319,  319,  319,  319,
> -      319, 1313, 1313, 1313, 1313, 1313, 1321, 1321, 1321, 1253,
> -     1346, 1347,  682, 1253,  784,  784, 1253,  784, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1348, 1348, 1349,  698, 1349, 1253,
> -
> -      800, 1349, 1253,  803,  803, 1253,  803, 1321, 1253, 1253,
> -     1253,  809,  809,  809,  809, 1253, 1253,  809,  809,  809,
> -      809, 1253, 1253,  809,  809,  809,  809, 1253, 1253, 1253,
> -     1253,  809, 1321, 1253, 1253, 1350, 1321, 1321, 1321, 1253,
> -     1253, 1253, 1253, 1351, 1351,  843,  843, 1351, 1351,  843,
> -      843, 1352, 1353, 1353, 1353, 1253,  856,  856,  856,  856,
> -      856,  856,  856,  856, 1353, 1321, 1321, 1321, 1321, 1321,
> -     1253, 1354, 1253, 1355,  787, 1355, 1355,  877, 1355, 1253,
> -      880,  880, 1253,  880, 1253, 1253, 1253, 1253, 1356, 1356,
> -     1357,  806, 1357, 1253,  894, 1357, 1253,  897,  897,  897,
> -
> -     1321, 1253,  902,  902,  902,  902,  902,  902,  902,  902,
> -      902,  902,  902,  902, 1321, 1253, 1253, 1358, 1321, 1321,
> -     1321, 1253, 1253, 1253, 1253, 1253, 1253, 1359, 1359,  927,
> -      927, 1359, 1359,  927,  927, 1360, 1361, 1361, 1361, 1361,
> -     1361, 1253,  942,  942,  942,  942,  942,  942,  942,  942,
> -     1361, 1321, 1321, 1321, 1321, 1253, 1253, 1253, 1253, 1362,
> -     1362, 1363,  883, 1363, 1363,  965, 1363, 1253,  968,  968,
> -     1253,  968, 1253, 1253, 1253, 1253, 1253, 1253, 1364, 1364,
> -     1365, 1365, 1365,  983, 1365, 1321,  902,  902,  902,  902,
> -      902, 1253, 1253,  902,  902,  902, 1253, 1253, 1253, 1253,
> -
> -      902, 1253, 1253, 1366, 1358, 1321, 1367, 1368, 1253, 1253,
> -     1253, 1253,  927, 1359, 1359,  927, 1359, 1359, 1361, 1361,
> -     1361, 1361,  942,  942,  942,  942,  942,  942, 1321, 1321,
> -     1321, 1321, 1321, 1321, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1369, 1369, 1370,  971, 1370, 1370, 1046, 1370, 1253, 1049,
> -     1049, 1253, 1049, 1253, 1253, 1253, 1253, 1371, 1371, 1321,
> -      902, 1253, 1253,  902, 1253, 1253,  902,  902,  902,  902,
> -     1253, 1366, 1366, 1253, 1366, 1358, 1367, 1367, 1367, 1367,
> -     1253, 1367, 1368, 1368, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1359,  927, 1359, 1359, 1361, 1361, 1361, 1361, 1361, 1361,
> -
> -      942,  942,  942,  942, 1321, 1321, 1321, 1253, 1253, 1253,
> -     1253, 1372, 1372, 1373, 1052, 1373, 1373, 1117, 1373, 1253,
> -     1120, 1120, 1120, 1253, 1253, 1253, 1253, 1253, 1321,  902,
> -     1253, 1253,  902,  902,  902, 1253, 1358, 1253, 1253, 1253,
> -     1253, 1253,  927, 1359, 1359, 1361, 1361, 1361,  942,  942,
> -      942, 1321, 1321, 1321, 1321, 1321, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1374, 1374, 1375, 1375, 1375, 1167, 1167,  902,
> -     1253, 1253, 1253, 1253,  902, 1376, 1253, 1253, 1253, 1253,
> -     1253, 1359, 1361, 1361, 1361, 1361, 1361,  942, 1321, 1321,
> -     1321, 1253, 1253, 1253, 1253, 1377, 1377,  902, 1253, 1253,
> -
> -     1376, 1376, 1253, 1376, 1253, 1253, 1253, 1361, 1361, 1361,
> -     1321, 1321, 1321, 1321, 1321, 1253, 1253, 1253, 1253, 1253,
> -      902, 1253, 1253, 1253, 1253, 1253, 1253, 1361, 1361, 1361,
> -     1361, 1361, 1321, 1321, 1321,  902, 1253, 1253, 1253, 1361,
> -     1361, 1361, 1321, 1321, 1321,  902, 1253, 1253, 1253, 1361,
> -     1361, 1361,    0, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253
> +     1241,    1,    1,    1, 1242, 1242, 1243, 1243, 1244, 1244,
> +     1245, 1245, 1246, 1246, 1241,   15, 1247, 1247, 1241,   19,
> +     1241, 1248, 1241, 1241, 1241, 1241, 1241, 1249, 1250, 1241,
> +     1241, 1251, 1241, 1252, 1248,   35,   35, 1253, 1241, 1241,
> +     1248, 1241,   42,   42,   42,   42,   42,   47,   47,   47,
> +       47,   47,   47,   47,   47, 1248, 1254,   35, 1248, 1241,
> +     1249,   42,   42,   47,   47,   47, 1241, 1241, 1241, 1255,
> +       42,   47,   47,   47, 1256, 1248, 1257, 1241, 1241, 1257,
> +     1241, 1257, 1241, 1258, 1258, 1241, 1241, 1258, 1241, 1241,
> +     1259, 1249, 1241, 1260, 1261, 1241, 1261, 1241, 1261, 1241,
> +
> +     1262, 1263, 1263, 1263, 1241, 1241, 1264, 1265, 1266, 1241,
> +      110,  110,  110, 1241,  114,  114,  114,  114,  118,  118,
> +      118,  118,  118,  118, 1267,  110,  113,  113, 1268, 1268,
> +     1241, 1268, 1269, 1270, 1271, 1272, 1269,  137,  137, 1241,
> +      140,  140,  140,  140,  144,  144,  144,  144,  144,  144,
> +     1269, 1273,  137, 1269, 1274, 1274, 1241, 1241, 1241, 1275,
> +     1241, 1241, 1276, 1241, 1277, 1241, 1264, 1277, 1278, 1278,
> +     1279, 1280, 1274, 1274, 1274, 1281,  175,  175,  175,  175,
> +     1282, 1283, 1274, 1241,  184,  185,  185,  185,  185,  185,
> +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
> +
> +      185,  185, 1241, 1241, 1274, 1274, 1284, 1285, 1274, 1284,
> +     1274, 1274, 1241, 1241, 1241, 1241, 1241, 1241, 1275, 1274,
> +      175, 1274, 1274, 1274, 1241, 1241, 1241, 1241, 1286, 1287,
> +     1274,  185, 1288, 1289, 1274, 1288, 1274, 1290, 1290, 1241,
> +     1241, 1241, 1241, 1291, 1291, 1291, 1241, 1241, 1276, 1292,
> +     1293, 1293, 1241, 1241, 1293, 1293, 1294, 1241, 1294, 1294,
> +     1241, 1241, 1241, 1264, 1264, 1264, 1295, 1296, 1297, 1295,
> +     1298, 1241, 1241, 1297,  274,  274,  274,  274, 1241,  279,
> +      280, 1299,  280,  280,  280,  280,  280,  280,  280,  280,
> +     1241, 1285, 1297, 1297, 1300, 1300, 1300, 1301, 1301, 1302,
> +
> +     1302, 1303, 1303, 1304, 1305, 1301, 1301, 1301,  308,  308,
> +      308,  308, 1241,  313,  314,  314,  314,  314,  314,  314,
> +      314,  314,  314, 1301, 1301, 1306, 1301, 1306, 1301, 1301,
> +     1307, 1307, 1308, 1241, 1241, 1309, 1309, 1309, 1309,  339,
> +     1310, 1241, 1311, 1241, 1309, 1241,  346,  347,  347,  347,
> +      347,  347,  347,  347,  347,  347,  347,  347,  347,  347,
> +      347,  347,  347,  347,  347,  347,  347,  347,  347,  347,
> +     1312, 1312, 1309, 1309, 1241, 1241, 1241, 1241, 1241, 1307,
> +     1309, 1309,  339, 1309, 1309, 1309, 1241, 1241, 1313, 1314,
> +     1314, 1309, 1241, 1241, 1241, 1241, 1297,  397, 1241,  399,
> +
> +      400,  400,  400,  400,  400,  400,  400,  400,  400,  400,
> +      400,  400,  400,  400, 1315, 1297, 1297, 1241, 1301, 1301,
> +     1301,  308,  422,  313,  314,  314,  314,  314,  314,  314,
> +      314,  314,  314,  314,  314,  314,  314,  314,  314, 1306,
> +     1306, 1301, 1301, 1241, 1308, 1308, 1309, 1309, 1309, 1309,
> +     1309, 1309, 1316, 1317, 1317,  455, 1318, 1317, 1319, 1320,
> +     1241,  461,  461, 1241,  461, 1309, 1241,  467,  467,  467,
> +      467,  467,  467,  467,  467,  467,  467,  467,  467,  467,
> +      467,  467,  467,  467,  467,  467,  467,  467,  467,  467,
> +     1309, 1309, 1309, 1309, 1241, 1241, 1241, 1241, 1241, 1241,
> +
> +     1321, 1309, 1309, 1309, 1322, 1309, 1241, 1241, 1241, 1241,
> +     1241, 1297, 1241,  513,  514,  514, 1323,  514,  514,  514,
> +      514,  514,  514,  514,  514,  514,  514, 1297, 1297, 1297,
> +     1297, 1301, 1301, 1301, 1301, 1301, 1301,  314,  314,  314,
> +      314,  314,  314,  314,  314,  314,  314,  314,  314,  314,
> +      314,  314, 1301, 1301, 1301, 1301, 1309, 1309, 1309, 1241,
> +     1324, 1324,  562, 1324, 1325, 1326, 1327, 1241, 1328,  464,
> +     1328, 1241,  572, 1328, 1241,  575,  575, 1241,  575, 1309,
> +      467,  467, 1241, 1241,  467,  467,  467,  467,  467, 1241,
> +     1241,  467,  467,  467,  467,  467,  467,  467,  467,  467,
> +
> +      467,  467,  467,  467, 1309, 1309, 1309, 1309, 1309, 1241,
> +     1241, 1241, 1321, 1309, 1309, 1309, 1241, 1241, 1241,  512,
> +      513,  514,  514, 1323, 1323,  514,  514,  514,  514,  514,
> +      514,  514,  514,  514, 1297, 1297, 1297, 1297, 1297, 1301,
> +     1301, 1301,  314,  314,  314,  314,  314,  314,  314,  314,
> +      314,  314,  314,  314,  314, 1301, 1301, 1301, 1301, 1301,
> +     1309, 1309, 1309, 1309, 1309, 1329, 1329, 1330, 1331, 1241,
> +     1241, 1241, 1241, 1241, 1332, 1332, 1333,  578, 1333, 1241,
> +      680, 1333, 1241,  683,  683, 1241,  683, 1309,  467,  467,
> +      467,  467,  467,  467,  467,  467,  467,  467,  467,  467,
> +
> +      467,  467,  467,  467,  467,  467,  467, 1309, 1309, 1309,
> +     1309, 1309, 1241, 1241, 1321, 1309, 1309, 1309, 1241, 1241,
> +     1241, 1241, 1241,  514,  514, 1323, 1323,  514,  514,  514,
> +     1323,  514,  514,  514,  514,  514, 1297, 1297, 1297, 1297,
> +     1297, 1301, 1301, 1301, 1301, 1301,  314,  314,  314,  314,
> +      314,  314,  314,  314,  314,  314,  314,  314,  314, 1301,
> +     1301, 1301, 1301, 1301, 1309, 1309, 1309, 1241, 1334, 1335,
> +      670, 1241,  772,  772, 1241,  772, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1336, 1336, 1337,  686, 1337, 1241,  788, 1337,
> +     1241,  791,  791, 1241,  791, 1309, 1241, 1241, 1241,  797,
> +
> +      797,  797,  797, 1241, 1241,  797,  797,  797,  797, 1241,
> +     1241,  797,  797,  797,  797, 1241, 1241, 1241, 1241,  797,
> +     1309, 1241, 1241, 1338, 1309, 1309, 1309, 1241, 1241, 1241,
> +     1241, 1339, 1339,  831,  831, 1339, 1339,  831,  831, 1340,
> +     1341, 1341, 1341, 1241,  844,  844,  844,  844,  844,  844,
> +      844,  844, 1341, 1309, 1309, 1309, 1309, 1309, 1241, 1342,
> +     1241, 1343,  775, 1343, 1343,  865, 1343, 1241,  868,  868,
> +     1241,  868, 1241, 1241, 1241, 1241, 1344, 1344, 1345,  794,
> +     1345, 1241,  882, 1345, 1241,  885,  885,  885, 1309, 1241,
> +      890,  890,  890,  890,  890,  890,  890,  890,  890,  890,
> +
> +      890,  890, 1309, 1241, 1241, 1346, 1309, 1309, 1309, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1347, 1347,  915,  915, 1347,
> +     1347,  915,  915, 1348, 1349, 1349, 1349, 1349, 1349, 1241,
> +      930,  930,  930,  930,  930,  930,  930,  930, 1349, 1309,
> +     1309, 1309, 1309, 1241, 1241, 1241, 1241, 1350, 1350, 1351,
> +      871, 1351, 1351,  953, 1351, 1241,  956,  956, 1241,  956,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1352, 1352, 1353, 1353,
> +     1353,  971, 1353, 1309,  890,  890,  890,  890,  890, 1241,
> +     1241,  890,  890,  890, 1241, 1241, 1241, 1241,  890, 1241,
> +     1241, 1354, 1346, 1309, 1355, 1356, 1241, 1241, 1241, 1241,
> +
> +      915, 1347, 1347,  915, 1347, 1347, 1349, 1349, 1349, 1349,
> +      930,  930,  930,  930,  930,  930, 1309, 1309, 1309, 1309,
> +     1309, 1309, 1241, 1241, 1241, 1241, 1241, 1241, 1357, 1357,
> +     1358,  959, 1358, 1358, 1034, 1358, 1241, 1037, 1037, 1241,
> +     1037, 1241, 1241, 1241, 1241, 1359, 1359, 1309,  890, 1241,
> +     1241,  890, 1241, 1241,  890,  890,  890,  890, 1241, 1354,
> +     1354, 1241, 1354, 1346, 1355, 1355, 1355, 1355, 1241, 1355,
> +     1356, 1356, 1241, 1241, 1241, 1241, 1241, 1241, 1347,  915,
> +     1347, 1347, 1349, 1349, 1349, 1349, 1349, 1349,  930,  930,
> +      930,  930, 1309, 1309, 1309, 1241, 1241, 1241, 1241, 1360,
> +
> +     1360, 1361, 1040, 1361, 1361, 1105, 1361, 1241, 1108, 1108,
> +     1108, 1241, 1241, 1241, 1241, 1241, 1309,  890, 1241, 1241,
> +      890,  890,  890, 1241, 1346, 1241, 1241, 1241, 1241, 1241,
> +      915, 1347, 1347, 1349, 1349, 1349,  930,  930,  930, 1309,
> +     1309, 1309, 1309, 1309, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1362, 1362, 1363, 1363, 1363, 1155, 1155,  890, 1241, 1241,
> +     1241, 1241,  890, 1364, 1241, 1241, 1241, 1241, 1241, 1347,
> +     1349, 1349, 1349, 1349, 1349,  930, 1309, 1309, 1309, 1241,
> +     1241, 1241, 1241, 1365, 1365,  890, 1241, 1241, 1364, 1364,
> +     1241, 1364, 1241, 1241, 1241, 1349, 1349, 1349, 1309, 1309,
> +
> +     1309, 1309, 1309, 1241, 1241, 1241, 1241, 1241,  890, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1349, 1349, 1349, 1349, 1349,
> +     1309, 1309, 1309,  890, 1241, 1241, 1241, 1349, 1349, 1349,
> +     1309, 1309, 1309,  890, 1241, 1241, 1241, 1349, 1349, 1349,
> +        0, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241
>      } ;
>  
>  static yyconst flex_int16_t yy_nxt[9611] =
> @@ -906,1057 +903,1057 @@
>         39,   40,   41,   42,   43,   44,   43,   45,   46,   47,
>         47,   48,   47,   49,   50,   51,   47,   52,   53,   54,
>         55,   47,   47,   47,   47,   47,   56,   57,   22,   58,
> -       58,   58,   58,   58,   58,   22,   22,   22,   59,   22,
> -       22,   22,   22,   60,   22,   22,   61,  160,  188,  159,
> -       61,  160,  188,   62,   23,   79,  505,   80,   23,   81,
> -      186,   82,   23,   79,  506,   80,   23,   81,   82,   82,
> -
> -       86,   87,  204,   88,   86,   89,   82,   90,   91,  169,
> -       63,   64,   82,   83,  188,   65,  205,  196,  188,  626,
> -       82,   83,  197,   66,  232,  193,   67,   68,  232,  159,
> -      170,   68,  104,   24,   69,   25,  104,  105,  106,   84,
> -      214,   70,  159,  191,   71,  200,  188,   84,  104,   24,
> -      188,   25,  104,  105,  106,   92,  192,  171,   22,   72,
> -      201,   43,  182,  182,  182,  182,  182,  183,  202,   73,
> -      164,   74,  338,   75,   47,  188,   47,  456,  194,  188,
> -      169,   86,   87,   76,   88,   86,   89,  107,   90,   91,
> -       23,   24,   40,   25,   23,  132,  133,  227,  229,   77,
> -
> -       68,  269,  229,  107,   68,  175,  175,   69,  159,  188,
> -      175,  175,  230,  188,   70,  249,  159,   71,  215,  249,
> -       23,   24,   40,   25,   23,  132,  133,  216,  270,  225,
> -      175,   22,   72,  159,   43,  304,   92,  252,  207,  298,
> -      245,  252,   73,  215,   74,  134,   75,   47,  299,   47,
> -      206,  207,  241,  245,  206,  176,   76,  181,  181,  181,
> -      181,  181,  181,  181,  181,  181,  181,  217,  264,  257,
> -      258,  217,   77,   23,   24,  134,   25,   23,   26,  158,
> -       93,  180,  180,  180,  180,  180,  180,  180,  180,  180,
> -      180,  191,  284,  159,  188,  256,  256,  284,  188,  159,
> -
> -      288,  218,  219,  287,  192,  592,  220,  260,  207,  295,
> -      245,  260,  263,  351,  221,  319,  263,  222,  262,  160,
> -      224,  265,  266,  160,  267,  265,  321,  261,   94,  302,
> +       58,   58,   58,   58,   58,   22,   22,   22,   22,   22,
> +       22,   22,   22,   59,   22,   22,   60,  157,  185,  156,
> +       60,  157,  185,   61,   23,   78,  495,   79,   23,   80,
> +      183,   81,   23,   78,  496,   79,   23,   80,   81,   81,
> +
> +       85,   86,  201,   87,   85,   88,   81,   89,   90,  166,
> +       62,   63,   81,   82,  185,   64,  202,  193,  185,  614,
> +       81,   82,  194,   65,  228,  190,   66,   67,  228,  280,
> +      167,   67,  103,   24,   68,   25,  103,  104,  105,   83,
> +      283,   69,  156,  188,   70,  197,  185,   83,  103,   24,
> +      185,   25,  103,  104,  105,   91,  189,  168,   22,   71,
> +      198,   43,  179,  179,  179,  179,  179,  180,  199,   72,
> +      161,   73,  332,   74,   47,  185,   47,  447,  191,  185,
> +      166,   85,   86,   75,   87,   85,   88,  106,   89,   90,
> +       23,   24,   40,   25,   23,  130,  131,  223,  225,   76,
> +
> +       67,  265,  225,  106,   67,  172,  172,   68,  156,  185,
> +      172,  172,  226,  185,   69,  245,  156,   70,  211,  245,
> +       23,   24,   40,   25,   23,  130,  131,  212,  266,  221,
> +      172,   22,   71,  156,   43,  299,   91,  248,  204,  293,
> +      241,  248,   72,  211,   73,  132,   74,   47,  294,   47,
> +      203,  204,  237,  241,  203,  173,   75,  178,  178,  178,
> +      178,  178,  178,  178,  178,  178,  178,  213,  260,  253,
> +      254,  213,   76,   23,   24,  132,   25,   23,   26,  155,
> +       92,  177,  177,  177,  177,  177,  177,  177,  177,  177,
> +      177,  188,  483,  484,  185,  252,  252,  280,  185,  156,
> +
> +      284,  214,  215,  291,  189,  157,  216,  256,  204,  157,
> +      241,  256,  259,  345,  217,  314,  259,  218,  258,  228,
> +      220,  261,  262,  228,  263,  261,  316,  257,   93,  297,
> +       94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
> +       94,   94,   94,   94,   94,   94,   94,   94,   23,   24,
> +      292,   25,   23,   26,  227,   92,  166,  164,  164,  164,
> +      164,  164,  164,  164,  164,  164,  164,  258,  277,  277,
> +      277,  277,  277,  278,  185,  230,  230,  265,  204,  296,
> +      230,  230,  276,  276,  276,  276,  276,  276,  276,  276,
> +      276,  276,  311,  311,  311,  311,  311,  312,  203,  204,
> +
> +      230,  241,  203,   93,  301,   94,   94,   94,   94,   94,
> +       94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
> +       94,   94,   94,   23,   24,  231,   25,   23,   26,   96,
> +       92,  314,  156,  161,  317,  332,   97,   98,   99, 1241,
> +      342,  275,  275,  275,  275,  275,  275,  275,  275,  275,
> +      275,  344,  100,  296,  166,  228,  305,  305,  291,  228,
> +      156,  305,  305,  310,  310,  310,  310,  310,  310,  310,
> +      310,  310,  310,  156,  156, 1241,  373,  299,  101,   23,
> +       24,  305,   25,   23,   26,   96,   92,  329, 1211,  156,
> +      156,  384,   97,   98,   99,  374,  330,  203,  204,  245,
> +
> +      241,  203,  266,  245,  385,  292,  306,  298,  100,  309,
> +      309,  309,  309,  309,  309,  309,  309,  309,  309,  164,
> +      164,  164,  164,  164,  164,  164,  164,  164,  164,  203,
> +      204,  861,  241,  203,  101,   40,   23,   24,   40,   25,
> +       23,   26,   40,   40,   40,  107,   30,   31,   40,  108,
> +       33,   40,   40,  109,  110,  111,  112,  110,  110,  110,
> +      110,  110,  110,  110,   38,  113,   40,   40,  114,  115,
> +      115,  115,  116,  117,  118,  118,  119,  118,  120,  121,
> +      122,  118,  123,  118,  124,  118,  118,  118,  118,  118,
> +      118,   93,  125,   40,  126,  126,  126,  126,  126,  126,
> +
> +      127,  127,  127,  127,  127,  127,  127,  127,  128,  127,
> +      127,  133,   23,   24,  133,   25,   23,   26,   40,   40,
> +      133,  134,   30,   31,  133,  135,   33,  133,  133,  136,
> +      137,  138,  139,  137,  137,  137,  137,  137,  137,  137,
> +       38,   39,   40,  133,  140,  141,  141,  141,  142,  143,
> +      144,  144,  145,  144,  146,  147,  148,  144,  149,  144,
> +      150,  144,  144,  144,  144,  144,  144,  151,  152,  133,
> +      153,  153,  153,  153,  153,  153,  133,  133,  133,  133,
> +      133,  133,  133,  133,  154,  133,  133,  161,  260,  162,
> +      164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
> +
> +      155,  163,  896,  388,  164,  164,  164,  164,  164,  164,
> +      164,  164,  164,  164,  174,  185,  175,  175,  175,  175,
> +      175,  175,  175,  175,  175,  175,  176,  297, 1103,  156,
> +      177,  177,  177,  177,  177,  177,  386,  176,  258,  204,
> +      156,  155,  155,  155,  155,  155,  381,  383,  155,  155,
> +      389,  393,  155,  156,  382,  393,  177,  177,  177,  177,
> +      177,  177,  155,  156,  156,  155,  155,  155,  155,  392,
> +      299,  155,  155,  442,  156,  155,  155,  296,  155,  155,
> +      155,  184,  184,  184,  184,  184,  184,  184,  184,  184,
> +      184,  176,  381,  299,  155,  184,  184,  184,  184,  184,
> +
> +      184,  185,  185,  185,  185,  186,  185,  185,  185,  187,
> +      185,  185,  185,  185,  185,  185,  185,  185,  156,  155,
> +      185,  177,  177,  177,  177,  177,  177,  155,  155,  155,
> +      155,  155,  155,  155,  155,  155,  155,  155,  185,  185,
> +      185,  185,  185,  185,  185,  185,  185,  185, 1241,  161,
> +     1165,  332,  185,  185,  185,  185,  185,  185,  444,  393,
> +      332,  259,  185,  393,  334,  259,  185,  335,  335,  335,
> +      335,  335,  335,  335,  335,  335,  335,  156,  155,  155,
> +      155,  155,  155,  155,  203,  204,  156,  205,  206,  155,
> +      155,  155,  295,  381,  155,  155,  295,  299,  155,  172,
> +
> +      172,  494, 1241,  443,  172,  172,  340,  340,  340,  340,
> +      340,  340,  155,  155,  155,  208,  258,  380, 1241,  208,
> +      208,  208,  156,  209,  172,  208,  208,  466,  342,  208,
> +      165,  165,  165,  165,  165,  582,  225,  165,  165,  460,
> +      225,  165,  342,  208,  208,  208,  161,  296,  446,  173,
> +      226, 1241,  156,  460,  502,  165,  165,  165,  340,  340,
> +      340,  340,  340,  340,  340,  340,  340,  340,  156,  342,
> +      210,  161, 1241,  162,  381,  169,  169,  169,  169,  169,
> +      464,  156,  169,  169,  504,  163,  169,  342,  164,  164,
> +      164,  164,  164,  164,  164,  164,  164,  164,  460,  266,
> +
> +      169,  169,  169,  336,  337,  338,  336,  336,  336,  336,
> +      336,  336,  336,  340,  340,  340,  340,  340,  340,  340,
> +      340,  340,  340,  203,  204,  208,  241,  203,  155,  208,
> +      415,  861,  207,  371,  213,  607,  219,  234,  213,  156,
> +      156,  234,  234,  234,  161,  235,  332,  234,  234,  357,
> +      358,  234,  505,  359,  506,  360,  361,  528,  529,  362,
> +      530,  363,  364, 1103,  156,  234,  234,  234,  214,  215,
> +      230,  230,  291,  216,  299,  230,  230,  292,  156,  234,
> +      372,  217,  155,  166,  218, 1241,  233,  390,  161,  556,
> +      446, 1241,  236,  240,  204,  230,  241,  240,  242,  389,
> +
> +      243,  595,  585,  501, 1241,  242,  156,  243,  164,  164,
> +      164,  164,  164,  164,  164,  164,  164,  164,  580,  292,
> +      231,  243,  243,  357,  358, 1032,  444,  359,  446,  360,
> +      361,  266, 1241,  362,  391,  363,  203,  204, 1241,  241,
> +      203,  203,  204, 1241,  241,  203, 1241,  599,  243,  242,
> +      161,  581,  162, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241,  597,  249,  586, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241,  267,  261,  262,
> +      267,  263,  261,  604,  583,  251,  267,  267,  583,  251,
> +      267,  251,  251,  267,  267,  208,  252,  172,  298,  251,
> +
> +     1145,  172,  326,  440,  172,  491,  492,  269,  493,  267,
> +      635,  172,  584,  636,  251,  394,  395,  396,  394,  394,
> +      394,  394,  394,  394,  394,  172,  172,  398,  398,  398,
> +      398,  398,  398,  270,  267,  267,  172, 1241,  185,  172,
> +      156,  893,  172,  172, 1241,  172,  172,  172,  172,  172,
> +      441,  593,  172,  172,  264,  264,  264,  264,  564,  564,
> +      564,  264,  264, 1241,  602,  264,  269,  172,  172,  398,
> +      398,  398,  398,  398,  398,  398,  398,  398,  398,  603,
> +      264,  264,  398,  398,  398,  398,  398,  398,  398,  398,
> +      398,  398,  272,  172,  172,  269,  156, 1241,  273,  269,
> +
> +      274,  274,  274,  274,  274,  274,  274,  274,  274,  274,
> +      176,  269,  689,  381,  275,  275,  275,  275,  275,  275,
> +      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
> +      269,  269,  269,  269,  269,  269,  269, 1241, 1176,  388,
> +      275,  275,  275,  275,  275,  275,  269,  269,  269,  269,
> +      269,  269,  269,  269,  269,  269,  269, 1241,  587,  269,
> +      269,  269,  269,  269,  269,  269,  269,  269,  269, 1241,
> +     1241, 1241, 1241,  269,  269,  269,  269,  269,  269,  592,
> +      600,  267,  267,  267,  267,  267,  389,  605,  267,  267,
> +      606,  594,  267,  423,  423,  423,  423,  423,  423,  269,
> +
> +      269,  269,  269,  269,  269,  269,  267,  267,  267,  269,
> +      279,  279,  279,  279,  279,  279,  279,  279,  279,  279,
> +      176,  269,  156, 1241,  279,  279,  279,  279,  279,  279,
> +      280,  280,  280,  280,  281,  280,  280,  280,  280,  280,
> +      280,  280,  280,  280,  280,  280,  280,  601, 1170,  282,
> +      275,  275,  275,  275,  275,  275,  269,  269,  269,  269,
> +      269,  269,  269,  269,  269,  269,  269,  280,  280,  280,
> +      280,  280,  280,  280,  280,  280,  280, 1241, 1241,  176,
> +      156,  280,  280,  280,  280,  280,  280,  609,  406,  407,
> +      596,  280,  408, 1241,  409,  410,  156, 1241,  411,  590,
> +
> +      412,  553,  554,  590,  555,  698,  299,  269,  269,  269,
> +      269,  269,  269,  307,  598,  308,  308,  308,  308,  308,
> +      308,  308,  308,  308,  308,  176,  608,  591,  156,  309,
> +      309,  309,  309,  309,  309,  616,  299, 1241,  711,  299,
> +      298,  298,  298,  298,  298,  176,  660,  298,  298,  588,
> +      156,  298,  299,  532,  589,  309,  309,  309,  309,  309,
> +      309,  298,  156,  624,  298,  298,  298,  298,  625,  688,
> +      298,  298,  156,  156,  298,  298,  342,  298,  298,  298,
> +      313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
> +      176,  615,  299,  298,  313,  313,  313,  313,  313,  313,
> +
> +      314,  314,  314,  314,  315,  314,  314,  314,  314,  314,
> +      314,  314,  314,  314,  314,  314,  314,  299,  298,  314,
> +      309,  309,  309,  309,  309,  309,  298,  298,  298,  298,
> +      298,  298,  298,  298,  298,  298,  298,  314,  314,  314,
> +      314,  314,  314,  314,  314,  314,  314, 1241,  935,  659,
> +      314,  314,  314,  314,  314,  314,  314,  656,  431,  432,
> +      657,  314,  433,  342,  434,  435,  305,  305,  436,  645,
> +      437,  305,  305,  161,  646,  332, 1241,  298,  298,  298,
> +      298,  298,  298,  203,  204,  299,  324,  325,  298,  298,
> +      298,  305,  299,  298,  298, 1032,  701,  298,  419,  420,
> +
> +      421,  419,  419,  419,  419,  419,  419,  419, 1241,  658,
> +     1241,  298,  298,  298,  208, 1241,  306,  590,  208,  208,
> +      208,  590,  327,  702,  208,  208,  693, 1241,  208,  300,
> +      300,  300,  300,  300,  691,  299,  300,  300,  299,  613,
> +      300,  697,  208,  208,  208,  591, 1241,  203,  204, 1241,
> +      241,  203,  692, 1241,  300,  300,  300, 1241, 1241,  696,
> +      302,  302,  302,  302,  302,  694, 1004,  302,  302,  328,
> +      172,  302,  700,  155,  171,  155,  155,  171,  690,  280,
> +      155,  155,  708,  709,  171,  302,  302,  302,  423,  423,
> +      423,  423,  423,  423,  423,  423,  423,  423,  171,  171,
> +
> +      155,  174,  299,  339,  339,  339,  339,  339,  339,  339,
> +      339,  339,  339,  176,  156,  156,  951,  339,  339,  339,
> +      339,  339,  339,  423,  423,  423,  423,  423,  423,  423,
> +      423,  423,  423,  573,  573,  573,  573,  573,  574, 1241,
> +      156,  568,  342,  339,  339,  339,  339,  339,  339,  155,
> +     1241,  583,  155,  570,  156,  583, 1241,  705,  155,  155,
> +      712,  695,  155,  155,  800,  155,  155,  155,  346,  346,
> +      346,  346,  346,  346,  346,  346,  346,  346,  176,  584,
> +     1138,  155,  346,  346,  346,  346,  346,  346,  185,  185,
> +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
> +
> +      185,  185,  185,  185,  185,  156,  155,  185,  339,  339,
> +      339,  339,  339,  339,  155,  155,  155,  155,  155,  155,
> +      155,  155,  155,  155,  155,  185,  185,  185,  185,  185,
> +      185,  185,  185,  185,  185, 1241, 1062,  763, 1063,  185,
> +      185,  185,  185,  185,  185,  335,  335,  335,  335,  335,
> +      335,  335,  335,  335,  335,  335,  335,  335,  335,  335,
> +      335,  335,  335,  335,  335,  155,  155,  155,  155,  155,
> +      155,  208,  299, 1241, 1241,  208,  208,  208, 1241,  209,
> +      230,  208,  208, 1241,  230,  208,  447,  230,  448,  448,
> +      448,  448,  448,  448,  230, 1241, 1241,  812, 1137,  208,
> +
> +      208,  208, 1241,  710,  703,  704, 1241, 1241,  230,  230,
> +      507, 1241,  508,  508,  508,  508,  508,  508,  508,  508,
> +      508,  508,  156,  628,  699,  156,  210,  230,  718,  706,
> +      155,  229,  155,  155,  229, 1241,  156,  155,  155, 1133,
> +      507,  229,  509,  509,  509,  509,  509,  509,  509,  509,
> +      509,  509,  622,  299,  761,  229,  229,  155,  234,  764,
> +      760, 1241,  234,  234,  234, 1241,  235,  661,  234,  234,
> +     1241,  507,  234,  510,  510,  510,  510,  510,  511,  508,
> +      508,  508,  508, 1241,  342,  299,  234,  234,  234, 1241,
> +      305,  854,  707,  299,  305,  570,  507,  305,  508,  508,
> +
> +      508,  508,  508,  508,  305,  161,  156,  332,  623,  156,
> +      156, 1241,  762,  236,  267,  342,  185,  267,  305,  305,
> +      900,  716,  717,  267,  267, 1241,  460,  267,  797,  156,
> +      267,  267,  557,  558,  559,  557,  557,  557,  557,  557,
> +      557,  557,  742,  802,  269,  299,  267,  562,  562,  563,
> +      564,  564,  564,  564,  564,  564,  564,  457,  572,  572,
> +      572,  572,  572,  572,  572,  572,  572,  572,  156,  156,
> +      270,  267,  267,  172,  796, 1241,  172,  342,  715,  172,
> +      172,  299,  172,  172,  172,  172,  172, 1132,  570,  172,
> +      172, 1241,  806,  571,  571,  571,  571,  571,  571,  571,
> +
> +      571,  571,  571,  269,  172,  172,  617,  618,  619,  617,
> +      617,  617,  617,  617,  617,  617,  507, 1241,  508,  508,
> +      508,  508,  508,  508,  508,  508,  508,  508, 1241,  272,
> +      172,  172,  273,  813,  397,  397,  397,  397,  397,  397,
> +      397,  397,  397,  397,  176, 1241, 1131,  801,  397,  397,
> +      397,  397,  397,  397,  507, 1241,  508,  508,  508,  508,
> +      508,  508,  508,  508,  508,  508,  803,  808, 1224,  590,
> +      568,  342,  809,  590,  397,  397,  397,  397,  397,  397,
> +      269, 1241,  570,  185,  269,  399,  399,  399,  399,  399,
> +      399,  399,  399,  399,  399,  176,  269,  591,  815,  399,
> +
> +      399,  399,  399,  399,  399,  280,  280,  280,  280,  280,
> +      280,  280,  280,  280,  280,  280,  280,  280,  280,  280,
> +      280,  280,  891,  185,  282,  397,  397,  397,  397,  397,
> +      397,  269,  269,  269,  269,  269,  269,  269,  269,  269,
> +      269,  269,  280,  280,  280,  280,  280,  280,  280,  280,
> +      280,  280, 1241,  568,  342, 1241,  280,  280,  280,  280,
> +      280,  280, 1241, 1241,  897,  678, 1241,  185, 1241, 1241,
> +      156,  814, 1241, 1241,  807, 1241, 1073, 1241,  342, 1241,
> +     1241,  821,  269,  269,  269,  269,  269,  269,  305,  678,
> +     1241,  298,  304,  298,  298,  304, 1241, 1241,  298,  298,
> +
> +      629,  820,  304, 1241,  626, 1241, 1241,  836,  849, 1241,
> +     1241,  627,  837,  850,  156,  630,  304,  304,  298,  307,
> +     1073,  422,  422,  422,  422,  422,  422,  422,  422,  422,
> +      422,  176,  826, 1241, 1241,  422,  422,  422,  422,  422,
> +      422,  156,  899,  583,  590, 1241, 1241,  583,  590, 1241,
> +     1241,  185,  825,  631,  185,  632,  895,  156,  299,  894,
> +      185,  422,  422,  422,  422,  422,  422,  298,  827,  185,
> +      298,  584,  591, 1241, 1241,  156,  298,  298,  314, 1013,
> +      298,  298,  889,  298,  298,  298,  424,  424,  424,  424,
> +      424,  424,  424,  424,  424,  424,  176,  633,  724,  298,
> +
> +      424,  424,  424,  424,  424,  424,  314,  314,  314,  314,
> +      314,  314,  314,  314,  314,  314,  314,  314,  314,  314,
> +      314,  314,  314,  299,  298,  314,  422,  422,  422,  422,
> +      422,  422,  298,  298,  298,  298,  298,  298,  298,  298,
> +      298,  298,  298,  314,  314,  314,  314,  314,  314,  314,
> +      314,  314,  314, 1241,  299,  342,  976,  314,  314,  314,
> +      314,  314,  314, 1241,  185,  853,  570, 1241,  640,  641,
> +      642,  640,  640,  640,  640,  640,  640,  640,  798,  161,
> +      156,  332,  798,  298,  298,  298,  298,  298,  298,  208,
> +      342, 1241,  919,  208,  208,  208,  280,  327,  903,  208,
> +
> +      208,  678,  918,  208,  280,  299,  799,  634,  342,  568,
> +      342,  676,  676,  676,  676,  676,  676,  208,  208,  208,
> +      532,  570,  533,  533,  533,  533,  533,  533,  667,  667,
> +      667,  667,  667,  667,  667,  667,  667,  667,  457,  824,
> +      185,  156,  951,  898,  328,  447,  922,  448,  448,  448,
> +      448,  448,  448,  448,  448,  448,  448,  280,  908,  299,
> +      672,  673,  674,  672,  672,  672,  672,  672,  672,  672,
> +      579,  579,  579,  579,  579,  579,  579,  579,  579,  579,
> +      156,  280,  863,  907,  156,  447,  923,  449,  449,  449,
> +      449,  449,  449,  449,  449,  449,  449,  680,  680,  680,
> +
> +      680,  680,  680,  680,  680,  680,  680,  681,  681,  681,
> +      681,  681,  682,  765,  766,  767,  765,  765,  765,  765,
> +      765,  765,  765, 1023,  156,  447,  934,  450,  450,  450,
> +      450,  450,  451,  448,  448,  448,  448, 1241,  314,  679,
> +      679,  679,  679,  679,  679,  679,  679,  679,  679,  719,
> +      156,  720,  720,  720,  720,  720,  720,  720,  720,  720,
> +      720,  161,  925,  332,  156,  452,  452,  452,  452,  452,
> +      452,  452,  452,  452,  452,  176,  568,  342, 1089,  452,
> +      452,  452,  452,  452,  452,  719,  861,  721,  721,  721,
> +      721,  721,  721,  721,  721,  721,  721,  892,  863,  314,
> +
> +      299, 1082,  156,  931,  185,  452,  452,  452,  452,  452,
> +      452,  454,  455,  456,  456,  456,  456,  456,  456,  456,
> +      456,  457,  906, 1081,  982,  458,  458,  458,  458,  458,
> +      458,  719,  156,  722,  722,  722,  722,  722,  723,  720,
> +      720,  720,  720, 1241,  314,  185, 1079, 1241,  936,  989,
> +      909,  458,  458,  458,  458,  458,  458,  342,  461,  462,
> +      463,  461,  461,  461,  461,  461,  461,  461,  464,  156,
> +      185, 1241,  465,  465,  465,  465,  465,  465, 1241,  730,
> +     1241, 1241, 1241, 1241, 1241, 1241,  777, 1241,  778,  778,
> +      778,  778,  778,  778,  778,  778,  778,  778,  465,  465,
> +
> +      465,  465,  465,  465,  155,  314, 1241,  155, 1241, 1241,
> +      938, 1241,  725,  155,  155,  728,  734,  155,  155,  156,
> +      155,  155,  155,  467,  467,  467,  467,  467,  467,  467,
> +      467,  467,  467,  176,  736, 1117,  155,  467,  467,  467,
> +      467,  467,  467,  185,  185,  185,  185,  185,  185,  185,
> +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
> +      156,  155,  185,  452,  452,  452,  452,  452,  452,  155,
> +      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
> +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
> +     1241,  568,  342, 1059,  185,  185,  185,  185,  185,  185,
> +
> +     1241, 1241,  314,  678, 1241, 1241, 1241, 1241,  933, 1015,
> +     1241, 1241,  314, 1241, 1241,  804,  937, 1241,  863,  804,
> +      155,  155,  155,  155,  155,  155,  208,  314, 1241, 1241,
> +      208,  208,  208,  299,  209, 1241,  208,  208, 1241,  342,
> +      208, 1241,  729,  805,  978,  735,  342,  568,  342,  732,
> +      678,  939,  185,  185,  208,  208,  208,  786,  731,  786,
> +      661,  733,  662,  662,  662,  662,  662,  662,  777,  983,
> +      779,  779,  779,  779,  779,  779,  779,  779,  779,  779,
> +      185,  210,  208, 1241,  342,  156,  208,  208,  208,  208,
> +      371,  974,  208,  208, 1080,  786,  208,  280,  777,  156,
> +
> +      780,  780,  780,  780,  780,  781,  778,  778,  778,  778,
> +      208,  208,  208,  687,  687,  687,  687,  687,  687,  687,
> +      687,  687,  687,  568,  342,  784,  784,  784,  784,  784,
> +      784,  961,  979,  568,  342,  678,  810,  210,  234,  185,
> +      810,  977,  234,  234,  234,  786,  235,  185,  234,  234,
> +     1014, 1017,  234,  788,  788,  788,  788,  788,  788,  788,
> +      788,  788,  788,  314,  811,  342,  234,  234,  234,  789,
> +      789,  789,  789,  789,  790, 1241,  786,  787,  787,  787,
> +      787,  787,  787,  787,  787,  787,  787,  816,  818,  984,
> +      156,  816,  818,  236,  234, 1241,  342,  185,  234,  234,
> +
> +      234,  234,  390,  156,  234,  234,  861,  719,  234,  720,
> +      720,  720,  720,  720,  720,  817,  819,  161,  863,  332,
> +      994,  863,  234,  234,  234,  828,  829,  830,  828,  828,
> +      828,  828,  828,  828,  828,  719,  861,  720,  720,  720,
> +      720,  720,  720,  720,  720,  720,  720,  771,  951,  236,
> +      512,  512,  512,  512,  512,  512,  512,  512,  512,  512,
> +      176,  314, 1091, 1234,  512,  512,  512,  512,  512,  512,
> +      719, 1241,  720,  720,  720,  720,  720,  720,  720,  720,
> +      720,  720, 1064,  951,  185,  798,  568,  342,  342,  798,
> +      512,  512,  512,  512,  512,  512,  269, 1209,  880,  880,
> +
> +      269,  513,  513,  513,  513,  513,  513,  513,  513,  513,
> +      513,  176,  269,  799,  185,  513,  513,  513,  513,  513,
> +      513,  280,  280,  280,  280,  280,  280,  280,  280,  280,
> +      280,  280,  280,  280,  280,  280,  280,  280,  568,  342,
> +      282,  512,  512,  512,  512,  512,  512,  269,  269,  269,
> +      269,  269,  269,  269,  269,  269,  269,  269,  280,  280,
> +      280,  280,  280,  280,  280,  280,  280,  280, 1241, 1124,
> +      299, 1063,  280,  280,  280,  280,  280,  280,  776,  776,
> +      776,  776,  776,  776,  776,  776,  776,  776, 1241,  804,
> +     1241, 1241, 1241,  804, 1241, 1241, 1052, 1016,  269,  269,
> +
> +      269,  269,  269,  269,  532,  185,  533,  533,  533,  533,
> +      533,  533,  533,  533,  533,  533, 1241,  805, 1241, 1241,
> +      156, 1012, 1061, 1062,  831, 1063, 1061, 1017,  810, 1241,
> +     1241, 1048,  810, 1241, 1241,  834,  816,  818,  835, 1090,
> +      816,  818,  314,  299,  532, 1006,  534,  534,  534,  534,
> +      534,  534,  534,  534,  534,  534,  811, 1241, 1241, 1241,
> +      342, 1055, 1005, 1057,  817,  819,  156, 1003,  798,  185,
> +      185,  880,  798,  742,  839,  743,  743,  743,  743,  743,
> +      743,  838, 1092,  299,  532,  314,  535,  535,  535,  535,
> +      535,  536,  533,  533,  533,  533,  799,  314, 1139,  841,
> +
> +      842,  843,  841,  841,  841,  841,  841,  841,  841,  804,
> +      810,  816,  299,  804,  810,  816, 1002, 1121,  818, 1191,
> +      910, 1192,  818,  299,  298,  185,  537,  537,  537,  537,
> +      537,  537,  537,  537,  537,  537,  299,  805,  811,  817,
> +      537,  537,  537,  537,  537,  537,  819,  865,  865,  865,
> +      865,  865,  865,  865,  865,  865,  865,  866,  866,  866,
> +      866,  866,  867, 1186,  156,  991,  537,  537,  537,  537,
> +      537,  537,  538,  538,  538,  538,  538,  538,  538,  538,
> +      538,  538, 1049,  185,  990,  156,  538,  538,  538,  538,
> +      538,  538, 1241,  185,  864,  864,  864,  864,  864,  864,
> +
> +      864,  864,  864,  864,  777, 1083,  778,  778,  778,  778,
> +      778,  778,  537,  537,  537,  537,  537,  537,  208,  568,
> +      342,  185,  208,  208,  208, 1210,  327, 1192,  208,  208,
> +      771,  880,  208,  873,  874,  875,  873,  873,  873,  873,
> +      873,  873,  873,  566,  299,  932,  208,  208,  208,  777,
> +      861,  778,  778,  778,  778,  778,  778,  778,  778,  778,
> +      778,  777,  951,  778,  778,  778,  778,  778,  778,  778,
> +      778,  778,  778,  328,  208, 1056, 1058, 1208,  208,  208,
> +      208,  208,  440, 1208,  208,  208,  185,  185,  208,  795,
> +      795,  795,  795,  795,  795,  795,  795,  795,  795,  924,
> +
> +      921,  861,  208,  208,  208,  568,  342,  878,  878,  878,
> +      878,  878,  878, 1032,  920,  917, 1241,  786,  882,  882,
> +      882,  882,  882,  882,  882,  882,  882,  882, 1032,  328,
> +      447,  916,  448,  448,  448,  448,  448,  448,  448,  448,
> +      448,  448,  883,  883,  883,  883,  883,  884, 1241,  905,
> +      881,  881,  881,  881,  881,  881,  881,  881,  881,  881,
> +      798,  804,  810,  816,  798,  804,  810,  816, 1083,  156,
> +      447,  995,  448,  448,  448,  448,  448,  448,  448,  448,
> +      448,  448,  954,  954,  954,  954,  954,  955,  799,  805,
> +      811,  817,  904,  185,  995,  818,  995,  995, 1118,  818,
> +
> +      972,  972,  972,  972,  972,  973,  902,  299,  185,  156,
> +      568,  342,  569,  569,  569,  569,  569,  569,  569,  569,
> +      569,  569,  570,  819,  901,  777,  571,  571,  571,  571,
> +      571,  571,  910,  911,  911,  911,  911,  911,  911,  911,
> +      911,  911,  911,  980, 1123,  992,  161,  980,  332,  992,
> +      771,  185,  571,  571,  571,  571,  571,  571,  342,  575,
> +      576,  577,  575,  575,  575,  575,  575,  575,  575,  578,
> +      995,  981,  566,  579,  579,  579,  579,  579,  579,  910,
> +      912,  912,  912,  912,  912,  912,  912,  912,  912,  912,
> +      457,  299,  280,  995,  299,  995,  996, 1140,  342,  579,
> +
> +      579,  579,  579,  579,  579,  155,  993,  980,  155,  880,
> +      299,  980,  299,  852,  155,  155,  851,  848,  155,  155,
> +      156,  155,  155,  155,  185,  185,  185,  185,  185,  185,
> +      185,  185,  185,  185,  176,  981,  156,  155,  185,  185,
> +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
> +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
> +      185,  156,  155,  185,  155,  155,  155,  155,  155,  155,
> +      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
> +      155,  620,  620,  620,  620,  620,  620,  620,  620,  620,
> +      620,  176,  250,  250,  250,  620,  620,  620,  620,  620,
> +
> +      620,  910,  913,  913,  913,  913,  913,  914,  911,  911,
> +      911,  911,  910,  911,  911,  911,  911,  911,  911,  847,
> +     1122,  620,  620,  620,  620,  620,  620,  269,  185,  846,
> +     1171,  269,  621,  621,  621,  621,  621,  621,  621,  621,
> +      621,  621,  176,  269,  845,  844,  621,  621,  621,  621,
> +      621,  621,  280,  280,  280,  280,  280,  280,  280,  280,
> +      280,  280,  280,  280,  280,  280,  280,  280,  280,  299,
> +      840,  282,  620,  620,  620,  620,  620,  620,  269,  269,
> +      269,  269,  269,  269,  269,  269,  269,  269,  269,  583,
> +     1199, 1216,  861,  583,  940,  941,  942,  943,  940,  940,
> +
> +      940,  940,  940,  940, 1032,  833,  861,  280,  280,  280,
> +      280,  280,  280,  280,  280,  280,  280,  584, 1103, 1163,
> +      832,  280,  280,  280,  280,  280,  280,  185,  719,  156,
> +      299,  156,  854,  855,  855,  855,  855,  855,  855, 1035,
> +     1035, 1035, 1035, 1035, 1036,  823,  822,  269,  269,  269,
> +      269,  269,  269,  532,  156,  533,  533,  533,  533,  533,
> +      533,  533,  533,  533,  533, 1061, 1062,  156, 1063, 1061,
> +      156,  945,  946,  947,  945,  945,  945,  945,  945,  945,
> +      945,  872,  872,  872,  872,  872,  872,  872,  872,  872,
> +      872,  156,  299,  532, 1241,  533,  533,  533,  533,  533,
> +
> +      533,  533,  533,  533,  533,  861, 1103,  949,  949,  949,
> +      949,  949,  949,  250,  250,  250, 1158,  863,  953,  953,
> +      953,  953,  953,  953,  953,  953,  953,  953,  185,  156,
> +      985, 1241,  299,  661,  985,  662,  662,  662,  662,  662,
> +      662,  662,  662,  662,  662, 1241,  771,  952,  952,  952,
> +      952,  952,  952,  952,  952,  952,  952,  961,  986,  962,
> +      962,  962,  962,  962,  962,  962,  962,  962,  962,  566,
> +      987,  457,  156,  661,  987,  663,  663,  663,  663,  663,
> +      663,  663,  663,  663,  663,  961,  457,  963,  963,  963,
> +      963,  963,  963,  963,  963,  963,  963,  961,  988,  964,
> +
> +      964,  964,  964,  964,  965,  962,  962,  962,  962,  759,
> +      758,  757,  156,  661,  756,  664,  664,  664,  664,  664,
> +      665,  662,  662,  662,  662,  888,  888,  888,  888,  888,
> +      888,  888,  888,  888,  888,  568,  342,  968,  968,  968,
> +      968,  968,  968,  755,  161,  754,  332,  880, 1184, 1184,
> +     1184, 1184,  156,  568,  342,  676,  676,  676,  676,  676,
> +      676,  676,  676,  676,  676,  570,  753,  752,  751,  675,
> +      675,  675,  675,  675,  675,  971,  971,  971,  971,  971,
> +      971,  971,  971,  971,  971,  997,  998,  999, 1000,  997,
> +      997,  997,  997,  997,  997,  675,  675,  675,  675,  675,
> +
> +      675,  568,  342,  677,  677,  677,  677,  677,  677,  677,
> +      677,  677,  677,  678, 1125,  750,  749,  679,  679,  679,
> +      679,  679,  679, 1241,  748,  970,  970,  970,  970,  970,
> +      970,  970,  970,  970,  970,  925,  926,  926,  926,  926,
> +      926,  926,  747,  679,  679,  679,  679,  679,  679,  342,
> +      683,  684,  685,  683,  683,  683,  683,  683,  683,  683,
> +      686,  741,  740,  739,  687,  687,  687,  687,  687,  687,
> +      738,  737,  961,  299,  962,  962,  962,  962,  962,  962,
> +      980,  727, 1164,  161,  980,  332, 1164,  726, 1241, 1241,
> +      687,  687,  687,  687,  687,  687,  742,  495,  743,  743,
> +
> +      743,  743,  743,  743,  743,  743,  743,  743,  981,  910,
> +      911,  911,  911,  911,  911,  911,  911,  911,  911,  911,
> +      985,  714,  713, 1023,  985, 1024, 1024, 1024, 1024, 1024,
> +     1024, 1024, 1024, 1024, 1024,  299,  742,  185,  744,  744,
> +      744,  744,  744,  744,  744,  744,  744,  744,  986,  910,
> +      911,  911,  911,  911,  911,  911,  911,  911,  911,  911,
> +      987,  985,  987, 1241,  987,  985,  987,  568,  342, 1047,
> +     1047, 1047, 1047, 1047, 1047,  299,  742,  185,  745,  745,
> +      745,  745,  745,  746,  743,  743,  743,  743,  988,  986,
> +      988, 1007, 1008, 1009, 1010, 1007, 1007, 1007, 1007, 1007,
> +
> +     1007,  980,  985,  987,  670,  980,  985,  987,  181,  181,
> +      280,  280,  566,  457,  181,  299,  661,  185,  662,  662,
> +      662,  662,  662,  662,  662,  662,  662,  662,  299,  981,
> +      986,  988, 1023,  666, 1025, 1025, 1025, 1025, 1025, 1025,
> +     1025, 1025, 1025, 1025, 1106, 1106, 1106, 1106, 1106, 1107,
> +      314,  314,  314,  457,  182,  156,  661,  861,  662,  662,
> +      662,  662,  662,  662,  662,  662,  662,  662, 1023, 1103,
> +     1026, 1026, 1026, 1026, 1026, 1027, 1024, 1024, 1024, 1024,
> +      960,  960,  960,  960,  960,  960,  960,  960,  960,  960,
> +     1190, 1191,  655, 1192, 1190,  156,  772,  773,  774,  772,
> +
> +      772,  772,  772,  772,  772,  772,  775,  654,  653,  652,
> +      776,  776,  776,  776,  776,  776,  861,  651, 1030, 1030,
> +     1030, 1030, 1030, 1030,  181,  181,  650, 1053,  951, 1050,
> +      181, 1053,  649, 1050,  648,  647,  776,  776,  776,  776,
> +      776,  776,  568,  342,  784,  784,  784,  784,  784,  784,
> +      784,  784,  784,  784,  678, 1054,  644, 1051,  783,  783,
> +      783,  783,  783,  783, 1034, 1034, 1034, 1034, 1034, 1034,
> +     1034, 1034, 1034, 1034, 1042, 1043, 1044, 1042, 1042, 1042,
> +     1042, 1042, 1042, 1042,  783,  783,  783,  783,  783,  783,
> +      568,  342,  785,  785,  785,  785,  785,  785,  785,  785,
> +
> +      785,  785,  786,  643,  176,  639,  787,  787,  787,  787,
> +      787,  787, 1241,  638, 1033, 1033, 1033, 1033, 1033, 1033,
> +     1033, 1033, 1033, 1033, 1050,  637, 1190, 1191, 1050, 1192,
> +     1190,  507,  787,  787,  787,  787,  787,  787,  342,  791,
> +      792,  793,  791,  791,  791,  791,  791,  791,  791,  794,
> +      495,  612, 1051,  795,  795,  795,  795,  795,  795,  961,
> +      495,  962,  962,  962,  962,  962,  962,  962,  962,  962,
> +      962,  341,  341,  280,  611,  495,  610,  341, 1241,  795,
> +      795,  795,  795,  795,  795,  742, 1241,  743,  743,  743,
> +      743,  743,  743,  743,  743,  743,  743,  961,  457,  962,
> +
> +      962,  962,  962,  962,  962,  962,  962,  962,  962,  566,
> +     1053, 1119, 1050,  457, 1053, 1119, 1050, 1119,  182, 1050,
> +      552, 1119, 1053, 1050,  299,  742, 1053,  743,  743,  743,
> +      743,  743,  743,  743,  743,  743,  743, 1066, 1054, 1120,
> +     1051, 1066, 1067, 1068, 1069, 1120,  551, 1051,  550, 1073,
> +     1054, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
> +     1074,  314,  549,  548,  299,  854,  855,  855,  855,  855,
> +      855,  855,  855,  855,  855,  855,  185, 1066,  547,  185,
> +      546, 1066, 1067, 1068, 1069, 1156, 1156, 1156, 1156, 1156,
> +     1157, 1073, 1070, 1075, 1075, 1075, 1075, 1075, 1075, 1075,
> +
> +     1075, 1075, 1075,  156,  854,  856,  856,  856,  856,  856,
> +      856,  856,  856,  856,  856, 1073,  545, 1076, 1076, 1076,
> +     1076, 1076, 1077, 1078, 1078, 1078, 1078, 1053,  453,  453,
> +      544, 1053, 1072, 1017,  453, 1018, 1018, 1018, 1018, 1018,
> +     1018,  543,  156,  854,  857,  857,  857,  857,  857,  858,
> +      855,  855,  855,  855, 1073, 1054, 1078, 1078, 1078, 1074,
> +     1074, 1074, 1074, 1074, 1074, 1074,  542, 1161,  541, 1159,
> +      540, 1161,  156, 1159,  282,  282,  314,  282,  282,  282,
> +      282,  156,  861,  539,  862,  862,  862,  862,  862,  862,
> +      862,  862,  862,  862,  863, 1162,  307, 1160,  864,  864,
> +
> +      864,  864,  864,  864, 1093, 1094, 1095, 1093, 1093, 1093,
> +     1093, 1093, 1093, 1093, 1096, 1097, 1098, 1096, 1096, 1096,
> +     1096, 1096, 1096, 1096,  864,  864,  864,  864,  864,  864,
> +      868,  869,  870,  868,  868,  868,  868,  868,  868,  868,
> +      871,  156,  531,  527,  872,  872,  872,  872,  872,  872,
> +     1023,  526, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
> +     1024, 1024, 1023,  525, 1024, 1024, 1024, 1024, 1024, 1024,
> +      872,  872,  872,  872,  872,  872,  568,  342,  878,  878,
> +      878,  878,  878,  878,  878,  878,  878,  878,  786,  524,
> +      523,  522,  877,  877,  877,  877,  877,  877, 1023,  521,
> +
> +     1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
> +     1073,  520, 1074, 1074, 1074, 1074, 1074, 1074,  877,  877,
> +      877,  877,  877,  877,  568,  342,  879,  879,  879,  879,
> +      879,  879,  879,  879,  879,  879,  880,  519,  518,  517,
> +      881,  881,  881,  881,  881,  881, 1041, 1041, 1041, 1041,
> +     1041, 1041, 1041, 1041, 1041, 1041, 1105, 1105, 1105, 1105,
> +     1105, 1105, 1105, 1105, 1105, 1105,  881,  881,  881,  881,
> +      881,  881,  342,  885,  886,  887,  885,  885,  885,  885,
> +      885,  885,  885,  516,  515,  514,  273,  888,  888,  888,
> +      888,  888,  888,  861,  503, 1101, 1101, 1101, 1101, 1101,
> +
> +     1101,  500,  499,  498,  497, 1032,  342, 1112, 1112, 1112,
> +     1112, 1112, 1112,  888,  888,  888,  888,  888,  888,  155,
> +     1241,  282,  155, 1065,  282,  490,  282,  489,  155,  155,
> +     1065, 1065,  155,  155, 1065,  155,  155,  155,  185,  185,
> +      185,  185,  185,  185,  185,  185,  185,  185, 1065, 1065,
> +     1065,  155,  185,  185,  185,  185,  185,  185,  185,  185,
> +      185,  185,  185,  185,  185,  185,  185,  890,  185,  185,
> +      185,  185,  185,  185,  185,  156,  155,  185,  155,  155,
> +      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
> +      155,  155,  155,  155,  155,  269,  488,  487,  486,  269,
> +
> +      280,  280,  280,  280,  280,  280,  280,  280,  280,  280,
> +      485,  269,  482,  481,  280,  280,  280,  280,  280,  280,
> +      280,  280,  280,  280,  280,  280,  280,  280,  915,  280,
> +      280,  280,  280,  280,  280,  280,  280,  480,  479,  282,
> +      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
> +      269,  269,  269,  269,  269,  269,  269,  925,  926,  926,
> +      926,  926,  926,  926,  926,  926,  926,  926, 1241,  478,
> +     1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104,
> +      342, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112,
> +     1112,  477,  476,  475,  474,  299,  925,  927,  927,  927,
> +
> +      927,  927,  927,  927,  927,  927,  927,  342, 1113, 1113,
> +     1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,  342, 1114,
> +     1114, 1114, 1114, 1114, 1115, 1112, 1112, 1112, 1112, 1119,
> +      473,  472,  471, 1119,  299,  925,  928,  928,  928,  928,
> +      928,  929,  926,  926,  926,  926,  470, 1159, 1241,  469,
> +      468, 1159, 1241, 1241, 1241, 1241, 1126, 1120,  182, 1127,
> +     1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,  174,
> +      560,  560,  299,  299,  298, 1160,  560,  298,  439,  561,
> +      561,  438,  430,  298,  298,  561,  185,  298,  298,  429,
> +      298,  298,  298,  314,  314,  314,  314,  314,  314,  314,
> +
> +      314,  314,  314, 1070,  185,  428,  298,  314,  314,  314,
> +      314,  314,  314,  314,  314,  314,  314,  314,  314,  314,
> +      314,  930,  314,  314,  314,  314,  314,  314,  314,  314,
> +      299,  298,  314,  298,  298,  298,  298,  298,  298,  298,
> +      298,  298,  298,  298,  298,  298,  298,  298,  298,  298,
> +      854,  855,  855,  855,  855,  855,  855,  855,  855,  855,
> +      855, 1066,  427, 1116, 1116, 1066, 1067, 1068, 1069, 1241,
> +     1116,  426,  425, 1241, 1067, 1068, 1069, 1128, 1129, 1130,
> +     1128, 1128, 1128, 1128, 1128, 1128, 1128,  298,  156,  854,
> +      855,  855,  855,  855,  855,  855,  855,  855,  855,  855,
> +
> +     1241, 1184,  418, 1184, 1241, 1241, 1241, 1069, 1241, 1184,
> +      303,  301, 1241, 1241, 1241, 1241, 1070, 1204, 1204, 1204,
> +     1204, 1204, 1204,  299, 1070,  296,  417,  156,  861,  416,
> +      949,  949,  949,  949,  949,  949,  949,  949,  949,  949,
> +      863,  861,  414,  950,  950,  950,  950,  950,  950,  950,
> +      950,  950,  950,  951,  413, 1070,  405,  952,  952,  952,
> +      952,  952,  952, 1072, 1073,  404, 1074, 1074, 1074, 1074,
> +     1074, 1074, 1074, 1074, 1074, 1074, 1235, 1235, 1235, 1235,
> +     1235, 1235,  403,  952,  952,  952,  952,  952,  952,  956,
> +      957,  958,  956,  956,  956,  956,  956,  956,  956,  959,
> +
> +      402,  401,  400,  960,  960,  960,  960,  960,  960, 1073,
> +     1241, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
> +     1074, 1119, 1161,  270,  262, 1119, 1161,  257,  258,  960,
> +      960,  960,  960,  960,  960,  568,  342,  968,  968,  968,
> +      968,  968,  968,  968,  968,  968,  968,  880,  252, 1120,
> +     1162,  967,  967,  967,  967,  967,  967,  252, 1134, 1135,
> +     1136, 1134, 1134, 1134, 1134, 1134, 1134, 1134,  246, 1083,
> +      314, 1084, 1084, 1084, 1084, 1084, 1084,  967,  967,  967,
> +      967,  967,  967,  568,  342,  969,  969,  969,  969,  969,
> +      969,  969,  969,  969,  969,  299,  204,  239,  156,  970,
> +
> +      970,  970,  970,  970,  970, 1161,  387, 1241,  299, 1161,
> +     1071, 1159,  379,  565,  565, 1159,  378, 1071, 1071,  565,
> +      377, 1071,  376,  375,  156,  970,  970,  970,  970,  970,
> +      970,  155,  370, 1162,  155, 1071, 1071, 1071,  369, 1160,
> +      155,  155,  368,  367,  155,  155,  366,  155,  155,  155,
> +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
> +      280,  365,  185,  155,  185,  185,  185,  185,  185,  185,
> +      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
> +      185,  185,  185,  185,  185,  185,  185,  156,  155,  975,
> +      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
> +
> +      155,  155,  155,  155,  155,  155,  155,  269,  356,  355,
> +      354,  269,  280,  280,  280,  280,  280,  280,  280,  280,
> +      280,  280,  353,  269,  352,  351,  280,  280,  280,  280,
> +      280,  280,  280,  280,  280,  280,  280,  280,  280,  280,
> +      280,  280,  280, 1001,  280,  280,  280,  280,  280,  350,
> +      349,  282,  269,  269,  269,  269,  269,  269,  269,  269,
> +      269,  269,  269,  269,  269,  269,  269,  269,  269,  925,
> +      926,  926,  926,  926,  926,  926,  926,  926,  926,  926,
> +     1145,  348, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
> +     1146, 1146, 1145,  347, 1147, 1147, 1147, 1147, 1147, 1147,
> +
> +     1147, 1147, 1147, 1147,  182,  155,  182,  299,  925,  926,
> +      926,  926,  926,  926,  926,  926,  926,  926,  926, 1145,
> +      272, 1148, 1148, 1148, 1148, 1148, 1149, 1146, 1146, 1146,
> +     1146, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111,
> +     1111,  170,  168,  161,  159,  156,  299,  298, 1187, 1187,
> +      298,  323, 1187, 1187,  322,  321,  298,  298,  320,  319,
> +      298,  298,  318,  298,  298,  298,  314,  314,  314,  314,
> +      314,  314,  314,  314,  314,  314, 1188, 1188,  314,  298,
> +      314,  314,  314,  314,  314,  314,  314,  314,  314,  314,
> +      314,  314,  314,  314,  314,  314,  314, 1011,  314,  314,
> +
> +      314,  314,  314,  299,  298,  314,  298,  298,  298,  298,
> +      298,  298,  298,  298,  298,  298,  298,  298,  298,  298,
> +      298,  298,  298, 1017,  303, 1018, 1018, 1018, 1018, 1018,
> +     1018, 1018, 1018, 1018, 1018,  861,  299, 1152, 1152, 1152,
> +     1152, 1152, 1152,  296,  290,  289,  288, 1103, 1155, 1155,
> +     1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155,  666,  666,
> +      287,  286,  156, 1017,  666, 1019, 1019, 1019, 1019, 1019,
> +     1019, 1019, 1019, 1019, 1019, 1241,  285, 1154, 1154, 1154,
> +     1154, 1154, 1154, 1154, 1154, 1154, 1154,  342, 1112, 1112,
> +     1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112,  668,  668,
> +
> +      280,  258,  156, 1017,  668, 1020, 1020, 1020, 1020, 1020,
> +     1021, 1022, 1022, 1022, 1022,  342, 1112, 1112, 1112, 1112,
> +     1112, 1112, 1112, 1112, 1112, 1112, 1127, 1127, 1127, 1127,
> +     1127, 1127, 1127, 1127, 1127, 1127,  252,  246,  669,  669,
> +      158,  239,  156, 1017,  669, 1022, 1022, 1022, 1018, 1018,
> +     1018, 1018, 1018, 1018, 1018, 1127, 1127, 1127, 1127, 1127,
> +     1127, 1127, 1127, 1127, 1127, 1165,  158, 1166, 1166, 1166,
> +     1166, 1166, 1166, 1166, 1166, 1166, 1166,  197,  768,  768,
> +      232,  194,  156,  861,  768, 1030, 1030, 1030, 1030, 1030,
> +     1030, 1030, 1030, 1030, 1030,  951,  861,  185, 1031, 1031,
> +
> +     1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1032,  224,
> +      222,  200, 1033, 1033, 1033, 1033, 1033, 1033, 1165,  199,
> +     1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
> +     1145,  196, 1146, 1146, 1146, 1146, 1146, 1146, 1033, 1033,
> +     1033, 1033, 1033, 1033, 1037, 1038, 1039, 1037, 1037, 1037,
> +     1037, 1037, 1037, 1037, 1040,  195,  192,  182, 1041, 1041,
> +     1041, 1041, 1041, 1041, 1165,  170, 1168, 1168, 1168, 1168,
> +     1168, 1169, 1166, 1166, 1166, 1166, 1165,  159, 1166, 1166,
> +     1166, 1166, 1166, 1166, 1041, 1041, 1041, 1041, 1041, 1041,
> +      568,  342, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047,
> +
> +     1047, 1047, 1083,  158, 1084, 1084, 1084, 1084, 1084, 1084,
> +     1084, 1084, 1084, 1084,  156, 1159, 1241, 1241, 1140, 1159,
> +     1141, 1141, 1141, 1141, 1141, 1141, 1161, 1241, 1241, 1241,
> +     1161, 1177, 1178, 1179, 1177, 1177, 1177, 1177, 1177, 1177,
> +     1177,  299, 1083, 1160, 1085, 1085, 1085, 1085, 1085, 1085,
> +     1085, 1085, 1085, 1085, 1162, 1241, 1211,  156, 1212, 1212,
> +     1212, 1212, 1212, 1212,  314,  769,  769, 1241,  156, 1241,
> +     1241,  769,  770,  770,  282,  314, 1241,  282,  770,  282,
> +     1241,  299, 1083, 1241, 1086, 1086, 1086, 1086, 1086, 1087,
> +     1088, 1088, 1088, 1088, 1180, 1181, 1182, 1180, 1180, 1180,
> +
> +     1180, 1180, 1180, 1180, 1145, 1241, 1146, 1146, 1146, 1146,
> +     1146, 1146, 1146, 1146, 1146, 1146, 1241, 1241, 1241, 1187,
> +     1241,  299, 1083, 1187, 1088, 1088, 1088, 1084, 1084, 1084,
> +     1084, 1084, 1084, 1084, 1145, 1241, 1146, 1146, 1146, 1146,
> +     1146, 1146, 1146, 1146, 1146, 1146,  861, 1188, 1185, 1185,
> +     1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1241, 1241,
> +     1241,  299, 1017, 1241, 1018, 1018, 1018, 1018, 1018, 1018,
> +     1018, 1018, 1018, 1018, 1241, 1241,  185, 1193, 1194, 1195,
> +     1193, 1193, 1193, 1193, 1193, 1193, 1193, 1165, 1241, 1166,
> +     1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1241,
> +
> +     1241,  156, 1017, 1241, 1018, 1018, 1018, 1018, 1018, 1018,
> +     1018, 1018, 1018, 1018, 1165, 1241, 1166, 1166, 1166, 1166,
> +     1166, 1166, 1166, 1166, 1166, 1166, 1241, 1241, 1241, 1241,
> +     1241, 1196, 1197, 1198, 1196, 1196, 1196, 1196, 1196, 1196,
> +     1196,  156,  861, 1241, 1101, 1101, 1101, 1101, 1101, 1101,
> +     1101, 1101, 1101, 1101, 1032,  861, 1241, 1102, 1102, 1102,
> +     1102, 1102, 1102, 1102, 1102, 1102, 1102, 1103,  299, 1241,
> +     1241, 1104, 1104, 1104, 1104, 1104, 1104, 1171, 1241, 1172,
> +     1172, 1172, 1172, 1172, 1172, 1187,  859,  859, 1241, 1187,
> +      860,  860,  859, 1241, 1241, 1241,  860, 1104, 1104, 1104,
> +
> +     1104, 1104, 1104, 1108, 1109, 1110, 1108, 1108, 1108, 1108,
> +     1108, 1108, 1108, 1188, 1241, 1241,  299, 1111, 1111, 1111,
> +     1111, 1111, 1111, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
> +     1204, 1204, 1204, 1241,  314,  944,  944, 1241, 1241, 1241,
> +     1241,  944, 1241, 1111, 1111, 1111, 1111, 1111, 1111, 1083,
> +     1241, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084,
> +     1084, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
> +     1205, 1206, 1206, 1206, 1206, 1206, 1207, 1204, 1204, 1204,
> +     1204, 1028, 1028, 1241, 1099, 1099, 1241, 1028,  299, 1083,
> +     1099, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084,
> +
> +     1084, 1211, 1241, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
> +     1212, 1212, 1212, 1211, 1241, 1213, 1213, 1213, 1213, 1213,
> +     1213, 1213, 1213, 1213, 1213, 1241, 1241, 1241,  299, 1140,
> +     1241, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
> +     1141, 1211, 1241, 1214, 1214, 1214, 1214, 1214, 1215, 1212,
> +     1212, 1212, 1212, 1221, 1222, 1223, 1221, 1221, 1221, 1221,
> +     1221, 1221, 1221, 1241, 1150, 1150, 1241, 1241,  156, 1140,
> +     1150, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
> +     1142, 1241, 1199, 1241, 1200, 1200, 1200, 1200, 1200, 1200,
> +      156, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
> +
> +     1204, 1183, 1183, 1241, 1241, 1241, 1241, 1183,  156, 1140,
> +     1241, 1143, 1143, 1143, 1143, 1143, 1144, 1141, 1141, 1141,
> +     1141,  156, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
> +     1204, 1204, 1225, 1226, 1227, 1225, 1225, 1225, 1225, 1225,
> +     1225, 1225, 1241, 1241, 1241, 1241, 1241, 1241,  156,  861,
> +     1241, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152,
> +     1152, 1103,  861, 1241, 1153, 1153, 1153, 1153, 1153, 1153,
> +     1153, 1153, 1153, 1153, 1241, 1241, 1241, 1241, 1154, 1154,
> +     1154, 1154, 1154, 1154, 1211, 1241, 1212, 1212, 1212, 1212,
> +     1212, 1212, 1212, 1212, 1212, 1212, 1241, 1241, 1241, 1241,
> +
> +     1241, 1241, 1241, 1241, 1154, 1154, 1154, 1154, 1154, 1154,
> +     1171, 1241, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
> +     1172, 1172, 1211, 1241, 1212, 1212, 1212, 1212, 1212, 1212,
> +     1212, 1212, 1212, 1212, 1228, 1229, 1230, 1228, 1228, 1228,
> +     1228, 1228, 1228, 1228, 1241, 1241, 1241, 1241, 1241,  299,
> +     1171, 1241, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173,
> +     1173, 1173, 1241, 1216, 1241, 1217, 1217, 1217, 1217, 1217,
> +     1217,  299, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231,
> +     1231, 1231, 1241, 1231, 1231, 1231, 1231, 1231, 1231,  299,
> +     1171, 1241, 1174, 1174, 1174, 1174, 1174, 1175, 1172, 1172,
> +
> +     1172, 1172,  299, 1241, 1241, 1241, 1241, 1241, 1241,  156,
> +     1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221,
> +      156, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,  299,
> +     1140, 1241, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
> +     1141, 1141, 1241, 1241, 1241, 1241, 1241,  156, 1232, 1232,
> +     1232, 1232, 1232, 1233, 1231, 1231, 1231, 1231, 1235, 1235,
> +     1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1241,  156,
> +     1140, 1241, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
> +     1141, 1141, 1241, 1241, 1241,  156, 1225, 1225, 1225, 1225,
> +     1225, 1225, 1225, 1225, 1225, 1225, 1236, 1236, 1236, 1236,
> +
> +     1236, 1237, 1235, 1235, 1235, 1235, 1241, 1241, 1241,  156,
> +     1171, 1241, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
> +     1172, 1172, 1241, 1241, 1241, 1238, 1238, 1238, 1238, 1238,
> +     1238, 1238, 1238, 1238, 1238, 1228, 1228, 1228, 1228, 1228,
> +     1228, 1228, 1228, 1228, 1228, 1241, 1241, 1241, 1241,  299,
> +     1171, 1241, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
> +     1172, 1172,  299, 1241, 1241, 1238, 1238, 1238, 1238, 1238,
> +     1238, 1241,  299, 1239, 1239, 1239, 1239, 1239, 1240, 1238,
> +     1238, 1238, 1238, 1241, 1241, 1241, 1241, 1241, 1241,  299,
> +     1199, 1241, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
> +
> +     1200, 1200,  299, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +      299, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231,
> +     1231, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,  156,
> +     1199, 1241, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201,
> +     1201, 1201, 1241, 1241, 1241, 1241, 1241, 1241,  156, 1235,
> +     1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1238,
> +     1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,  156,
> +     1199, 1241, 1202, 1202, 1202, 1202, 1202, 1203, 1200, 1200,
> +     1200, 1200, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241,  299, 1241, 1241, 1241,
> +
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,  156,
> +     1216, 1241, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
> +     1217, 1217, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,  299,
> +     1216, 1241, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
> +     1218, 1218, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,  299,
> +     1216, 1241, 1219, 1219, 1219, 1219, 1219, 1220, 1217, 1217,
> +
> +     1217, 1217, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,  299,
> +     1199, 1241, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
> +     1200, 1200, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,  156,
> +     1199, 1241, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
> +     1200, 1200, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,  156,
> +     1216, 1241, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
> +     1217, 1217, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,  299,
> +     1216, 1241, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
> +     1217, 1217, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,  299,
> +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
> +
> +       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
> +       77,   84,   84,   84,   84,   84,   84,   84,   84,   84,
> +       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
> +       84,   84,   40,   40,   40,   40,   40,   40,   40,   40,
> +       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
> +       40,   40,   40,   95,   95,   95,   95,   95,   95,   95,
>         95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
> -       95,   95,   95,   95,   95,   95,   95,   95,   23,   24,
> -      207,   25,   23,   26,  231,   93,  296,  167,  167,  167,
> -      167,  167,  167,  167,  167,  167,  167,  262,  281,  281,
> -      281,  281,  281,  282,  319,  234,  234,  322,  188,  301,
> -      234,  234,  280,  280,  280,  280,  280,  280,  280,  280,
> -      280,  280,  316,  316,  316,  316,  316,  317,  206,  207,
> +       95,   95,   95,   95,  102,  102,  102,  102,  102,  102,
> +      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
> +      102,  102,  102,  102,  102,  129,  129,  129,  129,  129,
> +
> +      129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
> +      129,  129,  129,  129,  129,  129,  155, 1241, 1241,  155,
> +     1241, 1241, 1241,  155, 1241,  155, 1241,  155,  155,  155,
> +     1241, 1241,  155,  155,  155,  155,  155,  160,  160,  160,
> +      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
> +      160,  160,  160,  160,  160,  160,  160,  160,  165, 1241,
> +     1241,  165, 1241, 1241,  165,  165, 1241,  165, 1241,  165,
> +      165,  165,  165, 1241,  165,  165,  165,  165,  165,  169,
> +     1241, 1241,  169, 1241, 1241, 1241,  169, 1241,  169, 1241,
> +      169,  169,  169, 1241, 1241,  169,  169,  169,  169,  169,
> +
> +      171, 1241, 1241,  171,  171,  171, 1241,  171,  171,  171,
> +     1241,  171,  171,  171, 1241, 1241,  171,  171,  171,  171,
> +      171,  207,  207, 1241,  207,  207,  207, 1241,  207,  207,
> +      207,  207,  207,  207,  207,  207,  207,  207,  207,  207,
> +      207,  207,  229, 1241, 1241,  229,  229,  229, 1241,  229,
> +      229,  229, 1241,  229,  229,  229, 1241, 1241,  229,  229,
> +      229,  229,  229,  233,  233, 1241,  233,  233,  233, 1241,
> +      233,  233,  233,  233,  233,  233,  233,  233,  233,  233,
> +      233,  233,  233,  233,  238, 1241, 1241,  238,  238,  238,
> +     1241,  238,  238,  238, 1241,  238,  238,  238, 1241,  238,
> +
> +      238, 1241,  238,  238,  238,  244,  244, 1241,  244,  244,
> +      244, 1241, 1241,  244,  244,  244,  244,  244,  244,  244,
> +      244,  244, 1241,  244,  244,  244,  247,  247,  247,  247,
> +      247,  247,  247,  247,  247,  247,  247,  247,  247,  247,
> +      247,  247,  247,  247,  247,  247,  247,  251, 1241, 1241,
> +      251,  251, 1241, 1241,  251,  251,  251, 1241,  251,  251,
> +      251,  251, 1241,  251,  251,  251,  251,  251,  255,  255,
> +      255,  255,  255,  255,  255,  255,  255,  255,  255,  255,
> +      255,  255,  255,  255,  255,  255,  255,  255,  255,  257,
> +      257, 1241,  257,  257, 1241,  257,  257,  257,  257,  257,
> +
> +      257,  257,  257,  257,  257,  257,  257,  257,  257,  257,
> +      264, 1241, 1241,  264, 1241, 1241,  264,  264, 1241,  264,
> +     1241,  264,  264,  264,  264, 1241,  264,  264,  264,  264,
> +      264,  268, 1241, 1241,  268, 1241, 1241, 1241,  268, 1241,
> +      268, 1241,  268,  268,  268, 1241,  268,  268,  268,  268,
> +      268,  268,  271, 1241, 1241,  271,  271,  271, 1241,  271,
> +      271,  271, 1241,  271,  271,  271, 1241,  271,  271,  271,
> +      271,  271,  271,  208,  208, 1241,  208,  208,  208, 1241,
> +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
> +      208,  208,  208,  208,  295, 1241, 1241, 1241,  295,  295,
> +
> +      295,  295,  295,  295,  295,  295,  295,  295,  295,  295,
> +      295,  295,  295,  295,  295,  298, 1241, 1241,  298, 1241,
> +     1241, 1241,  298, 1241,  298, 1241,  298,  298,  298, 1241,
> +     1241,  298,  298,  298,  298,  298,  300, 1241, 1241,  300,
> +     1241, 1241,  300,  300, 1241,  300, 1241,  300,  300,  300,
> +      300, 1241,  300,  300,  300,  300,  300,  302, 1241, 1241,
> +      302, 1241, 1241, 1241,  302, 1241,  302, 1241,  302,  302,
> +      302, 1241, 1241,  302,  302,  302,  302,  302,  304, 1241,
> +     1241,  304,  304,  304, 1241,  304,  304,  304, 1241,  304,
> +      304,  304, 1241, 1241,  304,  304,  304,  304,  304,  326,
> +
> +      326, 1241,  326,  326,  326, 1241,  326,  326,  326,  326,
> +      326,  326,  326,  326,  326,  326,  326,  326,  326,  326,
> +      155, 1241, 1241,  155, 1241, 1241, 1241,  155, 1241,  155,
> +     1241,  155,  155,  155, 1241, 1241,  155,  155,  155,  155,
> +      155,  331,  331,  331,  331,  331,  331,  331,  331,  331,
> +      331,  331,  331,  331,  331,  331,  331,  331,  331,  331,
> +      331,  331,  333,  333, 1241,  333,  333,  333,  333,  333,
> +      333,  333,  333,  333,  333,  333,  333,  333,  333,  333,
> +      333,  333,  333,  165, 1241, 1241,  165, 1241, 1241, 1241,
> +      165, 1241,  165, 1241,  165,  165,  165, 1241, 1241,  165,
> +
> +      165,  165,  165,  165,  169, 1241, 1241,  169, 1241, 1241,
> +     1241,  169, 1241,  169, 1241,  169,  169,  169, 1241, 1241,
> +      169,  169,  169,  169,  169,  171, 1241, 1241,  171,  171,
> +      171, 1241,  171,  171,  171, 1241,  171,  171,  171, 1241,
> +     1241,  171,  171,  171,  171,  171,  172, 1241, 1241,  172,
> +      172,  172, 1241,  172,  172,  172, 1241,  172,  172,  172,
> +     1241, 1241,  172,  172,  172,  172,  172,  343,  343,  343,
> +     1241, 1241, 1241, 1241,  343,  207,  207, 1241,  207,  207,
> +      207, 1241,  207,  207,  207,  207,  207,  207,  207,  207,
> +      207,  207,  207,  207,  207,  207,  208,  208, 1241,  208,
> +
> +      208,  208, 1241,  208,  208,  208,  208,  208,  208,  208,
> +      208,  208,  208,  208,  208,  208,  208,  229, 1241, 1241,
> +      229,  229,  229, 1241,  229,  229,  229, 1241,  229,  229,
> +      229, 1241, 1241,  229,  229,  229,  229,  229,  230, 1241,
> +     1241,  230,  230,  230, 1241,  230,  230,  230, 1241,  230,
> +      230,  230, 1241, 1241,  230,  230,  230,  230,  230,  233,
> +      233, 1241,  233,  233,  233, 1241,  233,  233,  233,  233,
> +      233,  233,  233,  233,  233,  233,  233,  233,  233,  233,
> +      234,  234, 1241,  234,  234,  234, 1241,  234,  234,  234,
> +      234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
> +
> +      234,  238, 1241, 1241,  238,  238,  238, 1241,  238,  238,
> +      238, 1241,  238,  238,  238, 1241,  238,  238, 1241,  238,
> +      238,  238,  244,  244, 1241,  244,  244,  244, 1241, 1241,
> +      244,  244,  244,  244,  244,  244,  244,  244,  244, 1241,
> +      244,  244,  244,  251, 1241, 1241,  251,  251, 1241, 1241,
> +      251,  251,  251, 1241,  251,  251,  251,  251, 1241,  251,
> +      251,  251,  251,  251,  257,  257, 1241,  257,  257, 1241,
> +      257,  257,  257,  257,  257,  257,  257,  257,  257,  257,
> +      257,  257,  257,  257,  257,  267, 1241, 1241,  267, 1241,
> +     1241, 1241,  267, 1241,  267, 1241,  267,  267,  267, 1241,
> +
> +     1241,  267,  267,  267,  267,  267,  268, 1241, 1241,  268,
> +     1241, 1241, 1241,  268, 1241,  268, 1241,  268,  268,  268,
> +     1241,  268,  268,  268,  268,  268,  268,  269, 1241, 1241,
> +      269,  269, 1241,  269,  269, 1241, 1241,  269,  269,  271,
> +     1241, 1241,  271,  271,  271, 1241,  271,  271,  271, 1241,
> +      271,  271,  271, 1241,  271,  271,  271,  271,  271,  271,
> +      295, 1241, 1241, 1241,  295,  295,  295,  295,  295,  295,
> +      295,  295,  295,  295,  295,  295,  295,  295,  295,  295,
> +      295,  298, 1241, 1241,  298, 1241, 1241, 1241,  298, 1241,
> +      298, 1241,  298,  298,  298, 1241, 1241,  298,  298,  298,
> +
> +      298,  298,  300, 1241, 1241,  300, 1241, 1241, 1241,  300,
> +     1241,  300, 1241,  300,  300,  300, 1241, 1241,  300,  300,
> +      300,  300,  300,  302, 1241, 1241,  302, 1241, 1241, 1241,
> +      302, 1241,  302, 1241,  302,  302,  302, 1241, 1241,  302,
> +      302,  302,  302,  302,  304, 1241, 1241,  304,  304,  304,
> +     1241,  304,  304,  304, 1241,  304,  304,  304, 1241, 1241,
> +      304,  304,  304,  304,  304,  305, 1241, 1241,  305,  305,
> +      305, 1241,  305,  305,  305, 1241,  305,  305,  305, 1241,
> +     1241,  305,  305,  305,  305,  305,  326,  326, 1241,  326,
> +      326,  326, 1241,  326,  326,  326,  326,  326,  326,  326,
>  
> -      234,  245,  206,   94,  159,   95,   95,   95,   95,   95,
> -       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
> -       95,   95,   95,   23,   24,  235,   25,   23,   26,   97,
> -       93,  206,  207,  169,  245,  206,   98,   99,  100, 1253,
> -      304,  279,  279,  279,  279,  279,  279,  279,  279,  279,
> -      279,  334,  101,  301,  269,  304,  346,  346,  346,  346,
> -      346,  346,  310,  310,  348,  335,  159,  310,  310,  380,
> -      159,  159,  159,  304,  336,  350,  381,  159,  102,   23,
> -       24,  306,   25,   23,   26,   97,   93,  310,  379,  391,
> -      450,  392,   98,   99,  100,  315,  315,  315,  315,  315,
> -
> -      315,  315,  315,  315,  315,  232,  232,  159,  101,  232,
> -      232,  303,  311,  314,  314,  314,  314,  314,  314,  314,
> -      314,  314,  314,  167,  167,  167,  167,  167,  167,  167,
> -      167,  167,  167, 1223,  102,   40,   23,   24,   40,   25,
> -       23,   26,   40,   40,   40,  108,   30,   31,   40,  109,
> -       33,   40,   40,  110,  111,  112,  113,  111,  111,  111,
> -      111,  111,  111,  111,   38,  114,   40,   40,  115,  116,
> -      116,  116,  117,  118,  119,  119,  120,  119,  121,  122,
> -      123,  119,  124,  119,  125,  119,  119,  119,  119,  119,
> -      119,   94,  126,   40,  127,  127,  127,  127,  127,  127,
> -
> -      128,  128,  128,  129,  128,  128,  128,  128,  130,  128,
> -      128,  135,   23,   24,  135,   25,   23,   26,   40,   40,
> -      135,  136,   30,   31,  135,  137,   33,  135,  135,  138,
> -      139,  140,  141,  139,  139,  139,  139,  139,  139,  139,
> -       38,   39,   40,  135,  142,  143,  143,  143,  144,  145,
> -      146,  146,  147,  146,  148,  149,  150,  146,  151,  146,
> -      152,  146,  146,  146,  146,  146,  146,  153,  154,  135,
> -      155,  155,  155,  155,  155,  155,  135,  135,  135,  156,
> -      135,  135,  135,  135,  157,  135,  135,  164,  264,  165,
> -      167,  167,  167,  167,  167,  167,  167,  167,  167,  167,
> -
> -      295,  166,  873,  158,  167,  167,  167,  167,  167,  167,
> -      167,  167,  167,  167,  177,  169,  178,  178,  178,  178,
> -      178,  178,  178,  178,  178,  178,  179,  395,  492,  493,
> -      180,  180,  180,  180,  180,  180, 1253,  179,  262,  207,
> -      159,  158,  158,  158,  158,  158,  388,  296,  158,  158,
> -      390,  249,  158,  159,  389,  249,  180,  180,  180,  180,
> -      180,  180,  158,  270,  159,  158,  158,  158,  158,  400,
> -      159,  158,  158,  400,  396,  158,  158,  393,  158,  158,
> -      158,  187,  187,  187,  187,  187,  187,  187,  187,  187,
> -      187,  179, 1115,  304,  158,  187,  187,  187,  187,  187,
> -
> -      187,  188,  188,  188,  188,  189,  188,  188,  188,  190,
> -      188,  188,  188,  188,  188,  188,  188,  188,  159,  158,
> -      188,  180,  180,  180,  180,  180,  180,  158,  158,  158,
> -      158,  158,  158,  158,  158,  158,  158,  158,  188,  188,
> -      188,  188,  188,  188,  188,  188,  188,  188, 1253,  164,
> -      908,  338,  188,  188,  188,  188,  188,  188,  304,  159,
> -      302,  451,  188,  188,  340,  399,  188,  341,  341,  341,
> -      341,  341,  341,  341,  341,  341,  341,  159,  158,  158,
> -      158,  158,  158,  158,  206,  207,  348,  208,  209,  158,
> -      158,  158,  229,  388,  158,  158,  229,  469,  158,  175,
> -
> -      175, 1177,  234,  234,  175,  175,  230,  234,  234,  164,
> -      301,  338,  158,  158,  158,  211,  304,  387,  159,  211,
> -      211,  211,  452,  212,  175,  211,  211,  234,  159,  211,
> -      168,  168,  168,  168,  168,  159,  500,  168,  168,  211,
> -      422,  168,  621,  211,  211,  211,  388,  206,  207,  176,
> -      245,  206,  235,  159,  159,  168,  168,  168,  346,  346,
> -      346,  346,  346,  346,  346,  346,  346,  346,  504,  516,
> -      213,  164,  453,  165,  338,  172,  172,  172,  172,  172,
> -      263, 1253,  172,  172,  263,  166,  172,  296,  167,  167,
> -      167,  167,  167,  167,  167,  167,  167,  167,  594,  515,
> -
> -      172,  172,  172,  342,  343,  344,  342,  342,  342,  342,
> -      342,  342,  342,  346,  346,  346,  346,  346,  346,  346,
> -      346,  346,  346,  206,  207,  211,  245,  206,  158,  164,
> -      295,  455,  210,  377,  217,  262,  223,  238,  217,  159,
> -      159,  238,  238,  238,  475,  239,  396,  238,  238,  363,
> -      364,  238,  159,  365,  512,  366,  367,  159,  304,  368,
> -      400,  369,  370,  388,  400,  238,  238,  238,  218,  219,
> -     1253,  206,  207,  220,  245,  206,  564,  296,  159,  238,
> -      378,  221,  158, 1253,  222,  169,  237,  397,  164,  304,
> -      338, 1253,  240,  244,  207,  608,  245,  244,  246,  159,
> -
> -      247,  164,  514,  455,  568,  246, 1253,  247,  167,  167,
> -      167,  167,  167,  167,  167,  167,  167,  167,  270,  363,
> -      364,  247,  247,  365,  300,  366,  367, 1253,  300,  368,
> -      453,  369,  455,  270,  398, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253,  720,  593,  511,  247,  246,
> -      164, 1253,  165,  206,  207,  348,  245,  206,  265,  266,
> -      647,  267,  265,  648,  253,  605,  469, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253,  271,  159,  301,
> -      271,  539,  540, 1253,  541,  255,  271,  271, 1253,  255,
> -      271,  255,  255,  271,  271,  268,  268,  268,  268,  255,
> -
> -      348, 1253,  268,  268,  599,  597,  268,  273,  256,  271,
> -     1253,  473,  175, 1253,  255, 1253,  175, 1253,  604,  175,
> -      598,  268,  268,  576,  576,  576,  175,  405,  405,  405,
> -      405,  405,  405,  274,  271,  271,  175,  613,  606,  175,
> -      175,  175,  175,  175, 1253,  175,  175,  175,  175,  175,
> -     1253, 1253,  175,  175,  271,  271,  271,  271,  271,  612,
> -      607,  271,  271,  873,  609,  271,  273,  175,  175,  401,
> -      402,  403,  401,  401,  401,  401,  401,  401,  401,  271,
> -      271,  271,  405,  405,  405,  405,  405,  405,  405,  405,
> -      405,  405,  276,  175,  175,  273, 1253, 1253,  277,  273,
> -
> -      278,  278,  278,  278,  278,  278,  278,  278,  278,  278,
> -      179,  273,  615,  706,  279,  279,  279,  279,  279,  279,
> -      273,  273,  273,  273,  273,  273,  273,  273,  273,  273,
> -      273,  273,  273,  273,  273,  273,  273, 1253, 1115,  721,
> -      279,  279,  279,  279,  279,  279,  273,  273,  273,  273,
> -      273,  273,  273,  273,  273,  273,  273, 1253,  610,  273,
> -      273,  273,  273,  273,  273,  273,  273,  273,  273, 1253,
> -      159,  620, 1044,  273,  273,  273,  273,  273,  273,  405,
> -      405,  405,  405,  405,  405,  405,  405,  405,  405,  431,
> -      431,  431,  431,  431,  431,  431,  431,  431,  431,  273,
> -
> -      273,  273,  273,  273,  273,  273, 1253,  159,  543,  273,
> -      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
> -      179,  273, 1157,  616,  283,  283,  283,  283,  283,  283,
> -      284,  284,  284,  284,  285,  284,  284,  284,  284,  284,
> -      284,  284,  284,  284,  284,  284,  284,  304, 1188,  286,
> -      279,  279,  279,  279,  279,  279,  273,  273,  273,  273,
> -      273,  273,  273,  273,  273,  273,  273,  284,  284,  284,
> -      284,  284,  284,  284,  284,  284,  284, 1253, 1253, 1253,
> -      395,  284,  284,  284,  284,  284,  284,  611,  413,  414,
> -     1182,  284,  415,  617,  416,  417,  618,  619,  418,  614,
> -
> -      419,  431,  431,  431,  431,  431,  431,  273,  273,  273,
> -      273,  273,  273,  312,  671,  313,  313,  313,  313,  313,
> -      313,  313,  313,  313,  313,  179,  159,  396,  159,  314,
> -      314,  314,  314,  314,  314,  595,  159, 1253, 1253,  595,
> -      303,  303,  303,  303,  303,  179,  710,  303,  303,  600,
> -      304,  303,  304,  388,  601,  314,  314,  314,  314,  314,
> -      314,  303,  159,  596,  303,  303,  303,  303,  636,  628,
> -      303,  303,  159,  637,  303,  303, 1253,  303,  303,  303,
> -      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
> -      179,  627,  825,  303,  318,  318,  318,  318,  318,  318,
> -
> -      319,  319,  319,  319,  320,  319,  319,  319,  319,  319,
> -      319,  319,  319,  319,  319,  319,  319,  304,  303,  319,
> -      314,  314,  314,  314,  314,  314,  303,  303,  303,  303,
> -      303,  303,  303,  303,  303,  303,  303,  319,  319,  319,
> -      319,  319,  319,  319,  319,  319,  319, 1253,  179, 1253,
> -      159,  319,  319,  319,  319,  319,  319,  668,  439,  440,
> -      669,  319,  441,  709,  442,  443,  310,  310,  444,  700,
> -      445,  310,  310,  501,  502,  304,  503,  303,  303,  303,
> -      303,  303,  303,  206,  207,  348,  329,  330,  303,  303,
> -      303,  310,  304,  303,  303,  159,  469,  303,  427,  428,
> -
> -      429,  427,  427,  427,  427,  427,  427,  427,  159,  670,
> -      657,  303,  303,  303,  211,  658,  311,  602,  211,  211,
> -      211,  602,  332,  348,  211,  211, 1253,  304,  211,  305,
> -      305,  305,  305,  305,  672,  304,  305,  305,  304, 1253,
> -      305,  701,  211,  211,  211,  603, 1253,  206,  207, 1253,
> -      245,  206,  704,  712,  305,  305,  305,  164, 1253,  338,
> -      307,  307,  307,  307,  307, 1253, 1253,  307,  307,  333,
> -      175,  307,  708,  158,  174,  158,  158,  174,  711,  702,
> -      158,  158,  348,  705,  174,  307,  307,  307,  431,  431,
> -      431,  431,  431,  431,  431,  431,  431,  431,  174,  174,
> -
> -      158,  177,  304,  345,  345,  345,  345,  345,  345,  345,
> -      345,  345,  345,  179, 1044, 1253,  723,  345,  345,  345,
> -      345,  345,  345,  625,  211,  565,  566,  303,  567,  580,
> -      348,  331,  448,  585,  585,  585,  585,  585,  586,  703,
> -      159,  582, 1253,  345,  345,  345,  345,  345,  345,  158,
> -     1253,  159,  158, 1253,  903,  188, 1253,  717,  158,  158,
> -      304,  714,  158,  158,  707,  158,  158,  158,  352,  352,
> -      352,  352,  352,  352,  352,  352,  352,  352,  179,  449,
> -      824,  158,  352,  352,  352,  352,  352,  352,  188,  188,
> -      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
> -
> -      188,  188,  188,  188,  188,  159,  158,  188,  345,  345,
> -      345,  345,  345,  345,  158,  158,  158,  158,  158,  158,
> -      158,  158,  158,  158,  158,  188,  188,  188,  188,  188,
> -      188,  188,  188,  188,  188, 1253,  906,  188,  963,  188,
> -      188,  188,  188,  188,  188,  341,  341,  341,  341,  341,
> -      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
> -      341,  341,  341,  341,  341,  158,  158,  158,  158,  158,
> -      158,  211,  722, 1253,  602,  211,  211,  211,  602,  212,
> -      234,  211,  211, 1253,  234,  211,  456,  234,  457,  457,
> -      457,  457,  457,  457,  234, 1253,  718,  319, 1025,  211,
> -
> -      211,  211,  603,  713,  716,  159, 1253, 1253,  234,  234,
> -      517, 1253,  518,  518,  518,  518,  518,  518,  518,  518,
> -      518,  518, 1150,  159,  159,  159,  213,  234,  719,  724,
> -      158,  233,  158,  158,  233, 1253,  728,  158,  158, 1253,
> -      517,  233,  519,  519,  519,  519,  519,  519,  519,  519,
> -      519,  519,  634,  159,  773,  233,  233,  158,  238,  730,
> -      715, 1253,  238,  238,  238, 1253,  239, 1149,  238,  238,
> -     1253,  517,  238,  520,  520,  520,  520,  520,  521,  518,
> -      518,  518,  518, 1253,  348,  304,  238,  238,  238, 1253,
> -      310,  815,  772,  774,  310,  582,  517,  310,  518,  518,
> -
> -      518,  518,  518,  518,  310,  164,  304,  338,  635,  159,
> -      775,  348,  776,  240,  271,  580,  348,  271,  310,  310,
> -     1253,  729,  469,  271,  271,  304,  304,  271,  812,  673,
> -      271,  271,  569,  570,  571,  569,  569,  569,  569,  569,
> -      569,  569, 1253,  348,  273,  304,  271,  574,  574,  575,
> -      576,  576,  576,  576,  576,  576,  576,  466,  584,  584,
> -      584,  584,  584,  584,  584,  584,  584,  584,  159,  159,
> -      274,  271,  271,  175, 1253,  159,  175,  348,  727,  175,
> -      175,  808,  175,  175,  175,  175,  175, 1145,  582,  175,
> -      175, 1253,  814,  583,  583,  583,  583,  583,  583,  583,
> -
> -      583,  583,  583,  273,  175,  175,  629,  630,  631,  629,
> -      629,  629,  629,  629,  629,  629,  517,  159,  518,  518,
> -      518,  518,  518,  518,  518,  518,  518,  518, 1253,  276,
> -      175,  175,  277, 1129,  404,  404,  404,  404,  404,  404,
> -      404,  404,  404,  404,  179,  809, 1253, 1253,  404,  404,
> -      404,  404,  404,  404,  517, 1253,  518,  518,  518,  518,
> -      518,  518,  518,  518,  518,  518,  813,  832, 1144,  595,
> -      580,  348,  818,  595,  404,  404,  404,  404,  404,  404,
> -      273, 1253,  582,  754,  273,  406,  406,  406,  406,  406,
> -      406,  406,  406,  406,  406,  179,  273,  596,  827,  406,
> -
> -      406,  406,  406,  406,  406,  284,  284,  284,  284,  284,
> -      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
> -      284,  284,  304, 1143,  286,  404,  404,  404,  404,  404,
> -      404,  273,  273,  273,  273,  273,  273,  273,  273,  273,
> -      273,  273,  284,  284,  284,  284,  284,  284,  284,  284,
> -      284,  284, 1253,  580,  348, 1253,  284,  284,  284,  284,
> -      284,  284, 1253, 1253, 1253,  690, 1253,  188, 1253, 1253,
> -      905,  826, 1253, 1253,  819, 1253,  820, 1253,  348, 1253,
> -     1085,  821,  273,  273,  273,  273,  273,  273,  310,  690,
> -     1253,  303,  309,  303,  303,  309, 1253, 1253,  303,  303,
> -
> -      641,  159,  309, 1253,  638, 1253, 1253, 1016,  848, 1253,
> -     1253,  639,  833,  849,  159,  642,  309,  309,  303,  312,
> -      284,  430,  430,  430,  430,  430,  430,  430,  430,  430,
> -      430,  179,  838, 1253, 1253,  430,  430,  430,  430,  430,
> -      430,  159,  159,  602,  595, 1253,  602,  602,  595, 1253,
> -      602,  861,  837,  839,  640,  644,  862,  304,  304, 1029,
> -      159,  430,  430,  430,  430,  430,  430,  303,  865, 1130,
> -      303,  603,  596, 1253,  603,  159,  303,  303,  915,  188,
> -      303,  303,  901,  303,  303,  303,  432,  432,  432,  432,
> -      432,  432,  432,  432,  432,  432,  179,  645,  159,  303,
> -
> -      432,  432,  432,  432,  432,  432,  319,  319,  319,  319,
> -      319,  319,  319,  319,  319,  319,  319,  319,  319,  319,
> -      319,  319,  319,  304,  303,  319,  430,  430,  430,  430,
> -      430,  430,  303,  303,  303,  303,  303,  303,  303,  303,
> -      303,  303,  303,  319,  319,  319,  319,  319,  319,  319,
> -      319,  319,  319, 1253,  164,  348,  338,  319,  319,  319,
> -      319,  319,  319, 1253, 1253, 1085,  582, 1253, 1253,  652,
> -      653,  654,  652,  652,  652,  652,  652,  652,  652,  348,
> -      164, 1236,  338,  303,  303,  303,  303,  303,  303,  211,
> -      690, 1253, 1253,  211,  211,  211,  188,  332,  904,  211,
> -
> -      211,  580,  348,  211,  909,  188,  304,  188,  646,  580,
> -      348,  643, 1253,  690,  836,  188, 1253,  211,  211,  211,
> -      543,  798,  544,  544,  544,  544,  544,  544,  679,  679,
> -      679,  679,  679,  679,  679,  679,  679,  679,  466,  188,
> -     1253,  918,  910, 1029,  333,  456,  737,  457,  457,  457,
> -      457,  457,  457,  457,  457,  457,  457,  319, 1103,  304,
> -      684,  685,  686,  684,  684,  684,  684,  684,  684,  684,
> -      591,  591,  591,  591,  591,  591,  591,  591,  591,  591,
> -      159,  188,  159,  919,  159,  456,  907,  458,  458,  458,
> -      458,  458,  458,  458,  458,  458,  458,  580,  348,  688,
> -
> -      688,  688,  688,  688,  688,  947,  159,  319,  911,  582,
> -      692,  692,  692,  692,  692,  692,  692,  692,  692,  692,
> -      188,  348,  188,  920,  159,  456,  912,  459,  459,  459,
> -      459,  459,  460,  457,  457,  457,  457,  693,  693,  693,
> -      693,  693,  694, 1253,  931,  691,  691,  691,  691,  691,
> -      691,  691,  691,  691,  691,  284,  284,  319, 1253,  159,
> -      304,  930, 1253,  945,  159,  461,  461,  461,  461,  461,
> -      461,  461,  461,  461,  461,  179,  963,  921,  951,  461,
> -      461,  461,  461,  461,  461,  731, 1253,  732,  732,  732,
> -      732,  732,  732,  732,  732,  732,  732,  319,  284,  319,
> -
> -      741,  943,  159,  935,  950,  461,  461,  461,  461,  461,
> -      461,  463,  464,  465,  465,  465,  465,  465,  465,  465,
> -      465,  466,  580,  348,  875,  467,  467,  467,  467,  467,
> -      467,  731,  946,  733,  733,  733,  733,  733,  733,  733,
> -      733,  733,  733, 1253,  319,  319, 1035, 1253,  994,  948,
> -     1101,  467,  467,  467,  467,  467,  467,  348,  470,  471,
> -      472,  470,  470,  470,  470,  470,  470,  470,  473,  188,
> -     1001, 1253,  474,  474,  474,  474,  474,  474,  731,  934,
> -      734,  734,  734,  734,  734,  735,  732,  732,  732,  732,
> -      284,  188, 1198, 1253,  348,  736, 1095,  949,  474,  474,
> -
> -      474,  474,  474,  474,  158,  798,  810,  158,  319,  159,
> -      810,  988,  188,  158,  158,  986, 1094,  158,  158,  188,
> -      158,  158,  158,  476,  476,  476,  476,  476,  476,  476,
> -      476,  476,  476,  179,  811,  304,  158,  476,  476,  476,
> -      476,  476,  476,  188,  188,  188,  188,  188,  188,  188,
> -      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
> -      159,  158,  188,  461,  461,  461,  461,  461,  461,  158,
> -      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
> -      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
> -     1253,  873,  319, 1151,  188,  188,  188,  188,  188,  188,
> -
> -     1253, 1253,  991,  875, 1253, 1253, 1253, 1093,  348,  188,
> -     1253, 1253,  866, 1253, 1253, 1253,  348, 1253,  875,  690,
> -      158,  158,  158,  158,  158,  158,  211,  798, 1253, 1253,
> -      211,  211,  211, 1064,  212,  740,  211,  211, 1253, 1253,
> -      211, 1253,  188, 1253, 1253, 1253,  742, 1253, 1253, 1253,
> -      159, 1091,  990,  744,  211,  211,  211,  743,  580,  348,
> -      188,  745,  580,  348,  796,  796,  796,  796,  796,  796,
> -      798, 1253, 1253, 1253,  690,  937,  996,  989, 1069,  746,
> -      747,  213,  211,  188,  188,  188,  211,  211,  211,  211,
> -      377,  159,  211,  211, 1026,  748,  211,  777,  778,  779,
> -
> -      777,  777,  777,  777,  777,  777,  777,  319, 1006,  159,
> -      211,  211,  211,  304,  673, 1067,  674,  674,  674,  674,
> -      674,  674,  789,  188,  790,  790,  790,  790,  790,  790,
> -      790,  790,  790,  790,  159,  580,  348,  213,  238, 1253,
> -      348, 1071,  238,  238,  238,  188,  239,  892,  238,  238,
> -      973,  892,  238,  159,  789,  875,  791,  791,  791,  791,
> -      791,  791,  791,  791,  791,  791,  238,  238,  238,  789,
> -      783,  792,  792,  792,  792,  792,  793,  790,  790,  790,
> -      790,  699,  699,  699,  699,  699,  699,  699,  699,  699,
> -      699,  816,  822,  240,  238,  816,  822,  304,  238,  238,
> -
> -      238,  238,  397, 1027,  238,  238,  319, 1095,  238,  800,
> -      800,  800,  800,  800,  800,  800,  800,  800,  800,  817,
> -      823,  995,  238,  238,  238,  801,  801,  801,  801,  801,
> -      802, 1253,  188,  799,  799,  799,  799,  799,  799,  799,
> -      799,  799,  799,  828,  830, 1152,  304,  828,  830,  240,
> -      522,  522,  522,  522,  522,  522,  522,  522,  522,  522,
> -      179, 1074, 1133, 1075,  522,  522,  522,  522,  522,  522,
> -      188,  829,  831,  840,  841,  842,  840,  840,  840,  840,
> -      840,  840,  840, 1028,  159,  810,  873,  873, 1024,  810,
> -      522,  522,  522,  522,  522,  522,  273, 1221,  875,  963,
> -
> -      273,  523,  523,  523,  523,  523,  523,  523,  523,  523,
> -      523,  179,  273,  811,  188,  523,  523,  523,  523,  523,
> -      523,  284,  284,  284,  284,  284,  284,  284,  284,  284,
> -      284,  284,  284,  284,  284,  284,  284,  284, 1018, 1017,
> -      286,  522,  522,  522,  522,  522,  522,  273,  273,  273,
> -      273,  273,  273,  273,  273,  273,  273,  273,  284,  284,
> -      284,  284,  284,  284,  284,  284,  284,  284, 1253, 1136,
> -     1015, 1075,  284,  284,  284,  284,  284,  284,  731, 1253,
> -      732,  732,  732,  732,  732,  732,  732,  732,  732,  732,
> -      731,  963,  732,  732,  732,  732,  732,  732,  273,  273,
> -
> -      273,  273,  273,  273,  543,  873,  544,  544,  544,  544,
> -      544,  544,  544,  544,  544,  544,  731,  963,  732,  732,
> -      732,  732,  732,  732,  732,  732,  732,  732, 1253,  816,
> -     1253, 1253, 1253,  816, 1253, 1253, 1092,  822, 1253,  284,
> -     1014,  822, 1253,  304,  543,  922,  545,  545,  545,  545,
> -      545,  545,  545,  545,  545,  545, 1253,  817, 1253, 1253,
> -      348, 1203,  159, 1204,  843,  823, 1253, 1003, 1253,  828,
> -      830,  798, 1253,  828,  830,  846, 1004,  164,  847,  338,
> -     1004, 1002,  851,  304,  543,  159,  546,  546,  546,  546,
> -      546,  547,  544,  544,  544,  544, 1253,  829,  831,  853,
> -
> -      854,  855,  853,  853,  853,  853,  853,  853,  853,  754,
> -     1135,  755,  755,  755,  755,  755,  755,  188,  810,  188,
> -      850,  816,  810,  304,  303,  816,  548,  548,  548,  548,
> -      548,  548,  548,  548,  548,  548,  304, 1005,  783,  348,
> -      548,  548,  548,  548,  548,  548,  811,  578,  304,  817,
> -      892,  580,  348,  159,  822,  828,  830,  810,  822,  828,
> -      830,  810, 1102,  892, 1060,  319,  548,  548,  548,  548,
> -      548,  548,  549,  549,  549,  549,  549,  549,  549,  549,
> -      549,  549,  823,  829,  831,  811,  549,  549,  549,  549,
> -      549,  549,  788,  788,  788,  788,  788,  788,  788,  788,
> -
> -      788,  788,  877,  877,  877,  877,  877,  877,  877,  877,
> -      877,  877,  548,  548,  548,  548,  548,  548,  211, 1061,
> -     1068,  944,  211,  211,  211, 1222,  332, 1204,  211,  211,
> -      188,  188,  211,  878,  878,  878,  878,  878,  879,  895,
> -      895,  895,  895,  895,  896,  936,  211,  211,  211, 1253,
> -      933,  876,  876,  876,  876,  876,  876,  876,  876,  876,
> -      876,  885,  886,  887,  885,  885,  885,  885,  885,  885,
> -      885,  816,  822,  333,  211,  816,  822,  932,  211,  211,
> -      211,  211,  448, 1104,  211,  211,  319,  789,  211,  790,
> -      790,  790,  790,  790,  790,  790,  790,  790,  790,  817,
> -
> -      823,  929,  211,  211,  211,  789,  873,  790,  790,  790,
> -      790,  790,  790,  790,  790,  790,  790,  789, 1044,  790,
> -      790,  790,  790,  790,  790, 1196, 1196, 1196, 1196,  333,
> -      456,  928,  457,  457,  457,  457,  457,  457,  457,  457,
> -      457,  457,  807,  807,  807,  807,  807,  807,  807,  807,
> -      807,  807,  580,  348,  890,  890,  890,  890,  890,  890,
> -     1070,  917, 1073, 1074,  798, 1075, 1073, 1183, 1211,  159,
> -      456,  188,  457,  457,  457,  457,  457,  457,  457,  457,
> -      457,  457,  894,  894,  894,  894,  894,  894,  894,  894,
> -      894,  894, 1253, 1253,  893,  893,  893,  893,  893,  893,
> -
> -      893,  893,  893,  893,  828, 1044,  304,  159,  828,  159,
> -      580,  348,  581,  581,  581,  581,  581,  581,  581,  581,
> -      581,  581,  582,  916, 1007,  188,  583,  583,  583,  583,
> -      583,  583,  829,  866,  867,  867,  867,  867,  867,  867,
> -      348,  164,  830,  338,  992,  914,  830, 1007,  992, 1007,
> -     1007,  892,  583,  583,  583,  583,  583,  583,  348,  587,
> -      588,  589,  587,  587,  587,  587,  587,  587,  587,  590,
> -      831,  159,  993,  591,  591,  591,  591,  591,  591,  922,
> -      923,  923,  923,  923,  923,  923,  923,  923,  923,  923,
> -      966,  966,  966,  966,  966,  967,  913, 1228,  873,  591,
> -
> -      591,  591,  591,  591,  591,  158, 1076,  997,  158, 1134,
> -     1044,  997, 1175,  789,  158,  158,  783,  188,  158,  158,
> -      188,  158,  158,  158,  188,  188,  188,  188,  188,  188,
> -      188,  188,  188,  188,  179,  998,  304,  158,  188,  188,
> -      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
> -      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
> -      188,  159,  158,  188,  158,  158,  158,  158,  158,  158,
> -      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
> -      158,  632,  632,  632,  632,  632,  632,  632,  632,  632,
> -      632,  179,  254,  254,  254,  632,  632,  632,  632,  632,
> -
> -      632,  922,  924,  924,  924,  924,  924,  924,  924,  924,
> -      924,  924,  984,  984,  984,  984,  984,  985,  873,  578,
> -      466,  632,  632,  632,  632,  632,  632,  273,  304,  304,
> -     1115,  273,  633,  633,  633,  633,  633,  633,  633,  633,
> -      633,  633,  179,  273,  304,  304,  633,  633,  633,  633,
> -      633,  633,  284,  284,  284,  284,  284,  284,  284,  284,
> -      284,  284,  284,  284,  284,  284,  284,  284,  284, 1246,
> -      864,  286,  632,  632,  632,  632,  632,  632,  273,  273,
> -      273,  273,  273,  273,  273,  273,  273,  273,  273,  595,
> -      188,  863,  860,  595,  922,  925,  925,  925,  925,  925,
> -
> -      926,  923,  923,  923,  923,  859, 1253,  284,  284,  284,
> -      284,  284,  284,  284,  284,  284,  284,  596, 1115,  858,
> -      857,  284,  284,  284,  284,  284,  284,  856,  952,  953,
> -      954,  955,  952,  952,  952,  952,  952,  952,  922,  923,
> -      923,  923,  923,  923,  923,  852,  845,  273,  273,  273,
> -      273,  273,  273,  543,  844,  544,  544,  544,  544,  544,
> -      544,  544,  544,  544,  544,  159,  957,  958,  959,  957,
> -      957,  957,  957,  957,  957,  957,  884,  884,  884,  884,
> -      884,  884,  884,  884,  884,  884, 1047, 1047, 1047, 1047,
> -     1047, 1048,  304,  543, 1170,  544,  544,  544,  544,  544,
> -
> -      544,  544,  544,  544,  544,  873,  188,  961,  961,  961,
> -      961,  961,  961,  254,  254,  254,  873,  875,  965,  965,
> -      965,  965,  965,  965,  965,  965,  965,  965, 1115,  731,
> -      999,  835,  304,  673,  999,  674,  674,  674,  674,  674,
> -      674,  674,  674,  674,  674, 1253,  834,  964,  964,  964,
> -      964,  964,  964,  964,  964,  964,  964,  973, 1000,  974,
> -      974,  974,  974,  974,  974,  974,  974,  974,  974,  159,
> -     1065,  159,  159,  673, 1065,  675,  675,  675,  675,  675,
> -      675,  675,  675,  675,  675,  973,  159,  975,  975,  975,
> -      975,  975,  975,  975,  975,  975,  975,  973, 1066,  976,
> -
> -      976,  976,  976,  976,  977,  974,  974,  974,  974,  159,
> -     1253,  783,  159,  673,  578,  676,  676,  676,  676,  676,
> -      677,  674,  674,  674,  674,  900,  900,  900,  900,  900,
> -      900,  900,  900,  900,  900,  580,  348,  980,  980,  980,
> -      980,  980,  980, 1128, 1128, 1073, 1074,  892, 1075, 1073,
> -     1128,  466,  159,  580,  348,  688,  688,  688,  688,  688,
> -      688,  688,  688,  688,  688,  582, 1007,  466,  771,  687,
> -      687,  687,  687,  687,  687,  983,  983,  983,  983,  983,
> -      983,  983,  983,  983,  983,  770,  992,  184,  184, 1007,
> -      992, 1007, 1008,  184,  769,  687,  687,  687,  687,  687,
> -
> -      687,  580,  348,  689,  689,  689,  689,  689,  689,  689,
> -      689,  689,  689,  690,  993,  768,  159,  691,  691,  691,
> -      691,  691,  691, 1253,  767,  982,  982,  982,  982,  982,
> -      982,  982,  982,  982,  982,  284, 1118, 1118, 1118, 1118,
> -     1118, 1119,  766,  691,  691,  691,  691,  691,  691,  348,
> -      695,  696,  697,  695,  695,  695,  695,  695,  695,  695,
> -      698,  765,  764,  763,  699,  699,  699,  699,  699,  699,
> -     1009, 1010, 1011, 1012, 1009, 1009, 1009, 1009, 1009, 1009,
> -      992, 1220, 1176,  164,  992,  338, 1176, 1220,  762,  761,
> -      699,  699,  699,  699,  699,  699,  754,  760,  755,  755,
> -
> -      755,  755,  755,  755,  755,  755,  755,  755,  993,  922,
> -      923,  923,  923,  923,  923,  923,  923,  923,  923,  923,
> -      997,  759,  753,  752,  997,  937,  938,  938,  938,  938,
> -      938,  938,  751,  750,  749,  304,  754,  188,  756,  756,
> -      756,  756,  756,  756,  756,  756,  756,  756,  998,  922,
> -      923,  923,  923,  923,  923,  923,  923,  923,  923,  923,
> -      999,  997,  999,  304,  999,  997,  999,  973,  739,  974,
> -      974,  974,  974,  974,  974,  304,  754,  188,  757,  757,
> -      757,  757,  757,  758,  755,  755,  755,  755, 1000,  998,
> -     1000, 1019, 1020, 1021, 1022, 1019, 1019, 1019, 1019, 1019,
> -
> -     1019,  992,  997,  999,  738,  992,  997,  999,  184,  184,
> -      284,  284, 1253, 1253,  184,  304,  673,  188,  674,  674,
> -      674,  674,  674,  674,  674,  674,  674,  674,  304,  993,
> -      998, 1000, 1035,  505, 1036, 1036, 1036, 1036, 1036, 1036,
> -     1036, 1036, 1036, 1036, 1168, 1168, 1168, 1168, 1168, 1169,
> -      319,  319,  319, 1062,  726,  159,  673, 1062,  674,  674,
> -      674,  674,  674,  674,  674,  674,  674,  674, 1035,  725,
> -     1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037,
> -     1035, 1063, 1038, 1038, 1038, 1038, 1038, 1039, 1036, 1036,
> -     1036, 1036, 1253,  682,  578,  159,  784,  785,  786,  784,
> -
> -      784,  784,  784,  784,  784,  784,  787,  466,  678,  466,
> -      788,  788,  788,  788,  788,  788,  972,  972,  972,  972,
> -      972,  972,  972,  972,  972,  972, 1046, 1046, 1046, 1046,
> -     1046, 1046, 1046, 1046, 1046, 1046,  788,  788,  788,  788,
> -      788,  788,  580,  348,  796,  796,  796,  796,  796,  796,
> -      796,  796,  796,  796,  690,  185,  304,  667,  795,  795,
> -      795,  795,  795,  795,  873,  666, 1042, 1042, 1042, 1042,
> -     1042, 1042,  665,  664,  663, 1035,  963, 1036, 1036, 1036,
> -     1036, 1036, 1036,  662,  795,  795,  795,  795,  795,  795,
> -      580,  348,  797,  797,  797,  797,  797,  797,  797,  797,
> -
> -      797,  797,  798,  661,  660,  659,  799,  799,  799,  799,
> -      799,  799, 1253,  656, 1045, 1045, 1045, 1045, 1045, 1045,
> -     1045, 1045, 1045, 1045,  580,  348, 1059, 1059, 1059, 1059,
> -     1059, 1059,  799,  799,  799,  799,  799,  799,  348,  803,
> -      804,  805,  803,  803,  803,  803,  803,  803,  803,  806,
> -      655,  179,  651,  807,  807,  807,  807,  807,  807, 1054,
> -     1055, 1056, 1054, 1054, 1054, 1054, 1054, 1054, 1054,  650,
> -      164, 1029,  338, 1030, 1030, 1030, 1030, 1030, 1030,  807,
> -      807,  807,  807,  807,  807,  754,  649,  755,  755,  755,
> -      755,  755,  755,  755,  755,  755,  755,  973,  517,  974,
> -
> -      974,  974,  974,  974,  974,  974,  974,  974,  974,  973,
> -      159,  974,  974,  974,  974,  974,  974,  974,  974,  974,
> -      974,  505, 1062,  624,  304,  754, 1062,  755,  755,  755,
> -      755,  755,  755,  755,  755,  755,  755, 1078,  505,  623,
> -     1137, 1078, 1079, 1080, 1081, 1202, 1203, 1078, 1204, 1202,
> -     1063, 1078, 1079, 1080, 1081,  347,  347,  505, 1065, 1065,
> -      622,  347, 1065, 1065,  304,  866,  867,  867,  867,  867,
> -      867,  867,  867,  867,  867,  867,  159, 1253,  873,  188,
> -     1113, 1113, 1113, 1113, 1113, 1113, 1066, 1066, 1253,  466,
> -     1044, 1085, 1082, 1086, 1086, 1086, 1086, 1086, 1086,  578,
> -
> -      466,  185, 1084,  159,  866,  868,  868,  868,  868,  868,
> -      868,  868,  868,  868,  868,  188, 1085,  563, 1086, 1086,
> -     1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1085,  562,
> -     1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
> -      561,  560,  159,  866,  869,  869,  869,  869,  869,  870,
> -      867,  867,  867,  867, 1085,  559, 1088, 1088, 1088, 1088,
> -     1088, 1089, 1090, 1090, 1090, 1090, 1085,  558, 1090, 1090,
> -     1090, 1086, 1086, 1086, 1086, 1086, 1086, 1086,  557, 1131,
> -      556,  159,  873, 1131,  874,  874,  874,  874,  874,  874,
> -      874,  874,  874,  874,  875,  555,  554,  553,  876,  876,
> -
> -      876,  876,  876,  876,  552, 1202, 1203, 1132, 1204, 1202,
> -      462,  462,  551, 1062, 1062, 1065,  462, 1062, 1062, 1065,
> -      550,  312,  542,  538,  876,  876,  876,  876,  876,  876,
> -      880,  881,  882,  880,  880,  880,  880,  880,  880,  880,
> -      883, 1063, 1063, 1066,  884,  884,  884,  884,  884,  884,
> -      537,  536, 1105, 1106, 1107, 1105, 1105, 1105, 1105, 1105,
> -     1105, 1105,  284,  319,  319,  535,  534,  533,  532,  531,
> -      884,  884,  884,  884,  884,  884,  580,  348,  890,  890,
> -      890,  890,  890,  890,  890,  890,  890,  890,  798,  159,
> -      530,  529,  889,  889,  889,  889,  889,  889, 1108, 1109,
> -
> -     1110, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1053, 1053,
> -     1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,  889,  889,
> -      889,  889,  889,  889,  580,  348,  891,  891,  891,  891,
> -      891,  891,  891,  891,  891,  891,  892,  528,  527,  526,
> -      893,  893,  893,  893,  893,  893, 1035,  525, 1036, 1036,
> -     1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1131,  524,
> -      286,  277, 1131,  286,  513,  286,  893,  893,  893,  893,
> -      893,  893,  348,  897,  898,  899,  897,  897,  897,  897,
> -      897,  897,  897,  510,  509,  508, 1132,  900,  900,  900,
> -      900,  900,  900, 1035,  507, 1036, 1036, 1036, 1036, 1036,
> -
> -     1036, 1036, 1036, 1036, 1036,  572,  572,  319,  499,  498,
> -      497,  572,  496,  900,  900,  900,  900,  900,  900,  158,
> -     1253,  286,  158, 1077,  286,  495,  286,  494,  158,  158,
> -     1077, 1077,  158,  158, 1077,  158,  158,  158,  188,  188,
> -      188,  188,  188,  188,  188,  188,  188,  188, 1077, 1077,
> -     1077,  158,  188,  188,  188,  188,  188,  188,  188,  188,
> -      188,  188,  188,  188,  188,  188,  188,  902,  188,  188,
> -      188,  188,  188,  188,  188,  159,  158,  188,  158,  158,
> -      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
> -      158,  158,  158,  158,  158,  273,  491,  490,  489,  273,
> -
> -      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
> -      488,  273,  487,  486,  284,  284,  284,  284,  284,  284,
> -      284,  284,  284,  284,  284,  284,  284,  284,  927,  284,
> -      284,  284,  284,  284,  284,  284,  284,  485,  484,  286,
> -      273,  273,  273,  273,  273,  273,  273,  273,  273,  273,
> -      273,  273,  273,  273,  273,  273,  273,  937,  938,  938,
> -      938,  938,  938,  938,  938,  938,  938,  938, 1117, 1117,
> -     1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1253,  483,
> -     1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
> -      482,  481,  480,  479,  478,  304,  937,  939,  939,  939,
> -
> -      939,  939,  939,  939,  939,  939,  939,  348, 1124, 1124,
> -     1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,  348, 1125,
> -     1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1131,
> -      477,  185,  177, 1131,  304,  937,  940,  940,  940,  940,
> -      940,  941,  938,  938,  938,  938,  348, 1126, 1126, 1126,
> -     1126, 1126, 1127, 1124, 1124, 1124, 1124, 1132, 1138,  304,
> -      447, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,
> -     1139,  446,  438,  304,  303, 1131, 1173,  303,  437, 1131,
> -     1173,  436,  435,  303,  303,  434,  188,  303,  303,  433,
> -      303,  303,  303,  319,  319,  319,  319,  319,  319,  319,
> -
> -      319,  319,  319, 1132, 1174,  303,  303,  319,  319,  319,
> -      319,  319,  319,  319,  319,  319,  319,  319,  319,  319,
> -      319,  942,  319,  319,  319,  319,  319,  319,  319,  319,
> -      304,  303,  319,  303,  303,  303,  303,  303,  303,  303,
> -      303,  303,  303,  303,  303,  303,  303,  303,  303,  303,
> -      866,  867,  867,  867,  867,  867,  867,  867,  867,  867,
> -      867, 1253, 1196,  426, 1196, 1253, 1253, 1253, 1253, 1078,
> -     1196,  308,  306, 1078, 1079, 1080, 1081, 1140, 1141, 1142,
> -     1140, 1140, 1140, 1140, 1140, 1140, 1140,  304,  159,  866,
> -      867,  867,  867,  867,  867,  867,  867,  867,  867,  867,
> -
> -     1253,  301,  425,  424, 1253, 1079, 1080, 1081, 1253,  423,
> -      421,  420, 1253, 1253, 1253, 1081, 1082,  348, 1124, 1124,
> -     1124, 1124, 1124, 1124, 1082,  412,  411,  159,  873,  410,
> -      961,  961,  961,  961,  961,  961,  961,  961,  961,  961,
> -      875,  873,  409,  962,  962,  962,  962,  962,  962,  962,
> -      962,  962,  962,  963,  408, 1082,  407,  964,  964,  964,
> -      964,  964,  964, 1082, 1253, 1253,  274,  266, 1253, 1253,
> -     1253, 1253, 1146, 1147, 1148, 1146, 1146, 1146, 1146, 1146,
> -     1146, 1146,  261,  964,  964,  964,  964,  964,  964,  968,
> -      969,  970,  968,  968,  968,  968,  968,  968,  968,  971,
> -
> -      262,  256,  256,  972,  972,  972,  972,  972,  972,  304,
> -     1095,  250, 1096, 1096, 1096, 1096, 1096, 1096,  286, 1084,
> -     1171,  286, 1171,  286, 1171,  207, 1171,  243,  159,  972,
> -      972,  972,  972,  972,  972,  580,  348,  980,  980,  980,
> -      980,  980,  980,  980,  980,  980,  980,  892, 1172,  304,
> -     1172,  979,  979,  979,  979,  979,  979, 1085,  394, 1086,
> -     1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086,  284,
> -     1173,  319,  386,  385, 1173,  384,  383,  979,  979,  979,
> -      979,  979,  979,  580,  348,  981,  981,  981,  981,  981,
> -      981,  981,  981,  981,  981,  382,  159,  376, 1174,  982,
> -
> -      982,  982,  982,  982,  982, 1171,  375, 1253,  374, 1171,
> -     1083, 1171,  373,  372,  371, 1171,  362, 1083, 1083,  319,
> -      361, 1083,  360,  359,  358,  982,  982,  982,  982,  982,
> -      982,  158,  357, 1172,  158, 1083, 1083, 1083,  356, 1172,
> -      158,  158,  355,  354,  158,  158,  353,  158,  158,  158,
> -      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
> -      185,  158,  188,  158,  188,  188,  188,  188,  188,  188,
> -      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
> -      188,  188,  188,  188,  188,  188,  188,  159,  158,  987,
> -      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
> -
> -      158,  158,  158,  158,  158,  158,  158,  273,  185,  276,
> -      173,  273,  284,  284,  284,  284,  284,  284,  284,  284,
> -      284,  284,  171,  273,  164,  162,  284,  284,  284,  284,
> -      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
> -      284,  284,  284, 1013,  284,  284,  284,  284,  284,  159,
> -      328,  286,  273,  273,  273,  273,  273,  273,  273,  273,
> -      273,  273,  273,  273,  273,  273,  273,  273,  273,  937,
> -      938,  938,  938,  938,  938,  938,  938,  938,  938,  938,
> -     1085,  327, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086,
> -     1086, 1086, 1157,  326, 1158, 1158, 1158, 1158, 1158, 1158,
> -
> -     1158, 1158, 1158, 1158,  325,  324,  323,  304,  937,  938,
> -      938,  938,  938,  938,  938,  938,  938,  938,  938, 1157,
> -      319, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159,
> -     1159, 1157,  308, 1160, 1160, 1160, 1160, 1160, 1161, 1158,
> -     1158, 1158, 1158,  304,  301,  297,  304,  303, 1173, 1199,
> -      303,  294, 1173, 1199,  293,  292,  303,  303,  291,  290,
> -      303,  303,  289,  303,  303,  303,  319,  319,  319,  319,
> -      319,  319,  319,  319,  319,  319, 1174, 1200,  284,  303,
> -      319,  319,  319,  319,  319,  319,  319,  319,  319,  319,
> -      319,  319,  319,  319,  319,  319,  319, 1023,  319,  319,
> -
> -      319,  319,  319,  304,  303,  319,  303,  303,  303,  303,
> -      303,  303,  303,  303,  303,  303,  303,  303,  303,  303,
> -      303,  303,  303, 1029,  262, 1030, 1030, 1030, 1030, 1030,
> -     1030, 1030, 1030, 1030, 1030, 1123, 1123, 1123, 1123, 1123,
> -     1123, 1123, 1123, 1123, 1123,  873,  256, 1164, 1164, 1164,
> -     1164, 1164, 1164,  573,  573,  577,  577, 1115,  250,  573,
> -      161,  577,  159, 1029,  243, 1031, 1031, 1031, 1031, 1031,
> -     1031, 1031, 1031, 1031, 1031, 1167, 1167, 1167, 1167, 1167,
> -     1167, 1167, 1167, 1167, 1167, 1253,  161, 1166, 1166, 1166,
> -     1166, 1166, 1166, 1166, 1166, 1166, 1166,  200,  678,  678,
> -
> -      236,  197,  159, 1029,  678, 1032, 1032, 1032, 1032, 1032,
> -     1033, 1034, 1034, 1034, 1034,  348, 1124, 1124, 1124, 1124,
> -     1124, 1124, 1124, 1124, 1124, 1124,  348, 1124, 1124, 1124,
> -     1124, 1124, 1124, 1124, 1124, 1124, 1124, 1199,  188,  228,
> -     1173, 1199,  159, 1029, 1173, 1034, 1034, 1034, 1030, 1030,
> -     1030, 1030, 1030, 1030, 1030, 1139, 1139, 1139, 1139, 1139,
> -     1139, 1139, 1139, 1139, 1139, 1200,  226,  203, 1174, 1139,
> -     1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,  202,
> -      199,  198,  159,  873,  195, 1042, 1042, 1042, 1042, 1042,
> -     1042, 1042, 1042, 1042, 1042,  963,  873,  188, 1043, 1043,
> -
> -     1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1044,  185,
> -      173,  162, 1045, 1045, 1045, 1045, 1045, 1045, 1177,  161,
> -     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
> -     1157,  159, 1158, 1158, 1158, 1158, 1158, 1158, 1045, 1045,
> -     1045, 1045, 1045, 1045, 1049, 1050, 1051, 1049, 1049, 1049,
> -     1049, 1049, 1049, 1049, 1052, 1253, 1253, 1253, 1053, 1053,
> -     1053, 1053, 1053, 1053, 1177, 1253, 1179, 1179, 1179, 1179,
> -     1179, 1179, 1179, 1179, 1179, 1179, 1152, 1253, 1153, 1153,
> -     1153, 1153, 1153, 1153, 1053, 1053, 1053, 1053, 1053, 1053,
> -      580,  348, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
> -
> -     1059, 1059, 1095, 1253, 1096, 1096, 1096, 1096, 1096, 1096,
> -     1096, 1096, 1096, 1096, 1177,  159, 1180, 1180, 1180, 1180,
> -     1180, 1181, 1178, 1178, 1178, 1178, 1189, 1190, 1191, 1189,
> -     1189, 1189, 1189, 1189, 1189, 1189, 1253,  680,  680, 1253,
> -     1253,  304, 1095,  680, 1097, 1097, 1097, 1097, 1097, 1097,
> -     1097, 1097, 1097, 1097, 1177, 1253, 1178, 1178, 1178, 1178,
> -     1178, 1178, 1253,  159, 1192, 1193, 1194, 1192, 1192, 1192,
> -     1192, 1192, 1192, 1192, 1216, 1216, 1216, 1216, 1216, 1216,
> -     1253,  304, 1095, 1253, 1098, 1098, 1098, 1098, 1098, 1099,
> -     1100, 1100, 1100, 1100, 1157, 1253, 1158, 1158, 1158, 1158,
> -
> -     1158, 1158, 1158, 1158, 1158, 1158, 1157, 1253, 1158, 1158,
> -     1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1253, 1199,
> -     1253,  304, 1095, 1199, 1100, 1100, 1100, 1096, 1096, 1096,
> -     1096, 1096, 1096, 1096,  873, 1253, 1197, 1197, 1197, 1197,
> -     1197, 1197, 1197, 1197, 1197, 1197, 1253, 1200, 1205, 1206,
> -     1207, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1253, 1253,
> -     1253,  304, 1029, 1253, 1030, 1030, 1030, 1030, 1030, 1030,
> -     1030, 1030, 1030, 1030, 1253, 1177,  188, 1178, 1178, 1178,
> -     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1177, 1253, 1178,
> -     1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1253,
> -
> -     1253,  159, 1029, 1253, 1030, 1030, 1030, 1030, 1030, 1030,
> -     1030, 1030, 1030, 1030, 1253, 1253, 1253, 1253, 1253, 1208,
> -     1209, 1210, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1183,
> -     1253, 1184, 1184, 1184, 1184, 1184, 1184,  681,  681, 1253,
> -     1253,  159,  873,  681, 1113, 1113, 1113, 1113, 1113, 1113,
> -     1113, 1113, 1113, 1113, 1044,  873,  304, 1114, 1114, 1114,
> -     1114, 1114, 1114, 1114, 1114, 1114, 1114, 1115,  304, 1253,
> -     1253, 1116, 1116, 1116, 1116, 1116, 1116, 1211, 1253, 1212,
> -     1212, 1212, 1212, 1212, 1212, 1199, 1253, 1253, 1223, 1199,
> -     1224, 1224, 1224, 1224, 1224, 1224, 1253, 1116, 1116, 1116,
> -
> -     1116, 1116, 1116, 1120, 1121, 1122, 1120, 1120, 1120, 1120,
> -     1120, 1120, 1120, 1200, 1253, 1253,  159, 1123, 1123, 1123,
> -     1123, 1123, 1123, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
> -     1216, 1216, 1216, 1253,  319, 1247, 1247, 1247, 1247, 1247,
> -     1247, 1253, 1253, 1123, 1123, 1123, 1123, 1123, 1123, 1095,
> -     1253, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096,
> -     1096, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
> -     1217, 1218, 1218, 1218, 1218, 1218, 1219, 1216, 1216, 1216,
> -     1216,  780,  780, 1253,  781,  781, 1253,  780,  304, 1095,
> -      781, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096,
> -
> -     1096, 1223, 1253, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
> -     1224, 1224, 1224, 1223, 1253, 1225, 1225, 1225, 1225, 1225,
> -     1225, 1225, 1225, 1225, 1225, 1253, 1253, 1253,  304, 1152,
> -     1253, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
> -     1153, 1223, 1253, 1226, 1226, 1226, 1226, 1226, 1227, 1224,
> -     1224, 1224, 1224, 1233, 1234, 1235, 1233, 1233, 1233, 1233,
> -     1233, 1233, 1233, 1253,  782,  782, 1253, 1253,  159, 1152,
> -      782, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154,
> -     1154,  871,  871,  872,  872, 1253, 1253,  871, 1253,  872,
> -      159, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
> -
> -     1216,  956,  956, 1253, 1040, 1040, 1253,  956,  159, 1152,
> -     1040, 1155, 1155, 1155, 1155, 1155, 1156, 1153, 1153, 1153,
> -     1153, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
> -     1216, 1237, 1238, 1239, 1237, 1237, 1237, 1237, 1237, 1237,
> -     1237,  286, 1253, 1253,  286, 1253,  286, 1253,  159,  873,
> -     1253, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
> -     1164, 1115,  873, 1253, 1165, 1165, 1165, 1165, 1165, 1165,
> -     1165, 1165, 1165, 1165, 1253, 1253, 1253, 1253, 1166, 1166,
> -     1166, 1166, 1166, 1166, 1223, 1253, 1224, 1224, 1224, 1224,
> -     1224, 1224, 1224, 1224, 1224, 1224, 1111, 1111, 1253, 1253,
> -
> -     1253, 1253, 1111, 1253, 1166, 1166, 1166, 1166, 1166, 1166,
> -     1183, 1253, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184,
> -     1184, 1184, 1223, 1253, 1224, 1224, 1224, 1224, 1224, 1224,
> -     1224, 1224, 1224, 1224, 1240, 1241, 1242, 1240, 1240, 1240,
> -     1240, 1240, 1240, 1240, 1253, 1162, 1162, 1253, 1253,  304,
> -     1183, 1162, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
> -     1185, 1185, 1253, 1228, 1253, 1229, 1229, 1229, 1229, 1229,
> -     1229,  304, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
> -     1243, 1243, 1253, 1243, 1243, 1243, 1243, 1243, 1243,  304,
> -     1183, 1253, 1186, 1186, 1186, 1186, 1186, 1187, 1184, 1184,
> -
> -     1184, 1184,  304, 1253, 1253, 1253, 1253, 1253, 1253,  159,
> -     1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233,
> -      159, 1195, 1195, 1253, 1253, 1253, 1253, 1195, 1253,  304,
> -     1152, 1253, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
> -     1153, 1153, 1253, 1253, 1253, 1253, 1253,  159, 1244, 1244,
> -     1244, 1244, 1244, 1245, 1243, 1243, 1243, 1243, 1247, 1247,
> -     1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1253,  159,
> -     1152, 1253, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
> -     1153, 1153, 1253, 1253, 1253,  159, 1237, 1237, 1237, 1237,
> -     1237, 1237, 1237, 1237, 1237, 1237, 1248, 1248, 1248, 1248,
> -
> -     1248, 1249, 1247, 1247, 1247, 1247, 1253, 1253, 1253,  159,
> -     1183, 1253, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184,
> -     1184, 1184, 1253, 1253, 1253, 1250, 1250, 1250, 1250, 1250,
> -     1250, 1250, 1250, 1250, 1250, 1240, 1240, 1240, 1240, 1240,
> -     1240, 1240, 1240, 1240, 1240, 1253, 1253, 1253, 1253,  304,
> -     1183, 1253, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184,
> -     1184, 1184,  304, 1253, 1253, 1250, 1250, 1250, 1250, 1250,
> -     1250, 1253,  304, 1251, 1251, 1251, 1251, 1251, 1252, 1250,
> -     1250, 1250, 1250, 1253, 1253, 1253, 1253, 1253, 1253,  304,
> -     1211, 1253, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
> -
> -     1212, 1212,  304, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -      304, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
> -     1243, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,  159,
> -     1211, 1253, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
> -     1213, 1213, 1253, 1253, 1253, 1253, 1253, 1253,  159, 1247,
> -     1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1250,
> -     1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250,  159,
> -     1211, 1253, 1214, 1214, 1214, 1214, 1214, 1215, 1212, 1212,
> -     1212, 1212, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253,  304, 1253, 1253, 1253,
> -
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,  159,
> -     1228, 1253, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229,
> -     1229, 1229, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,  304,
> -     1228, 1253, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230,
> -     1230, 1230, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,  304,
> -     1228, 1253, 1231, 1231, 1231, 1231, 1231, 1232, 1229, 1229,
> -
> -     1229, 1229, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,  304,
> -     1211, 1253, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
> -     1212, 1212, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,  159,
> -     1211, 1253, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
> -     1212, 1212, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,  159,
> -     1228, 1253, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229,
> -     1229, 1229, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,  304,
> -     1228, 1253, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229,
> -     1229, 1229, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,  304,
> -       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
> -
> -       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
> -       78,   85,   85,   85,   85,   85,   85,   85,   85,   85,
> -       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
> -       85,   85,   40,   40,   40,   40,   40,   40,   40,   40,
> -       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
> -       40,   40,   40,   96,   96,   96,   96,   96,   96,   96,
> -       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
> -       96,   96,   96,   96,  103,  103,  103,  103,  103,  103,
> -      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
> -      103,  103,  103,  103,  103,  131,  131,  131,  131,  131,
> -
> -      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
> -      131,  131,  131,  131,  131,  131,  158, 1253, 1253,  158,
> -     1253, 1253, 1253,  158, 1253,  158, 1253,  158,  158,  158,
> -     1253, 1253,  158,  158,  158,  158,  158,  163,  163,  163,
> -      163,  163,  163,  163,  163,  163,  163,  163,  163,  163,
> -      163,  163,  163,  163,  163,  163,  163,  163,  168, 1253,
> -     1253,  168, 1253, 1253,  168,  168, 1253,  168, 1253,  168,
> -      168,  168,  168, 1253,  168,  168,  168,  168,  168,  172,
> -     1253, 1253,  172, 1253, 1253, 1253,  172, 1253,  172, 1253,
> -      172,  172,  172, 1253, 1253,  172,  172,  172,  172,  172,
> -
> -      174, 1253, 1253,  174,  174,  174, 1253,  174,  174,  174,
> -     1253,  174,  174,  174, 1253, 1253,  174,  174,  174,  174,
> -      174,  210,  210, 1253,  210,  210,  210, 1253,  210,  210,
> -      210,  210,  210,  210,  210,  210,  210,  210,  210,  210,
> -      210,  210,  233, 1253, 1253,  233,  233,  233, 1253,  233,
> -      233,  233, 1253,  233,  233,  233, 1253, 1253,  233,  233,
> -      233,  233,  233,  237,  237, 1253,  237,  237,  237, 1253,
> -      237,  237,  237,  237,  237,  237,  237,  237,  237,  237,
> -      237,  237,  237,  237,  242, 1253, 1253,  242,  242,  242,
> -     1253,  242,  242,  242, 1253,  242,  242,  242, 1253,  242,
> -
> -      242, 1253,  242,  242,  242,  248,  248, 1253,  248,  248,
> -      248, 1253, 1253,  248,  248,  248,  248,  248,  248,  248,
> -      248,  248, 1253,  248,  248,  248,  251,  251,  251,  251,
> -      251,  251,  251,  251,  251,  251,  251,  251,  251,  251,
> -      251,  251,  251,  251,  251,  251,  251,  255, 1253, 1253,
> -      255,  255, 1253, 1253,  255,  255,  255, 1253,  255,  255,
> -      255,  255, 1253,  255,  255,  255,  255,  255,  259,  259,
> -      259,  259,  259,  259,  259,  259,  259,  259,  259,  259,
> -      259,  259,  259,  259,  259,  259,  259,  259,  259,  261,
> -      261, 1253,  261,  261, 1253,  261,  261,  261,  261,  261,
> -
> -      261,  261,  261,  261,  261,  261,  261,  261,  261,  261,
> -      268, 1253, 1253,  268, 1253, 1253,  268,  268, 1253,  268,
> -     1253,  268,  268,  268,  268, 1253,  268,  268,  268,  268,
> -      268,  272, 1253, 1253,  272, 1253, 1253, 1253,  272, 1253,
> -      272, 1253,  272,  272,  272, 1253,  272,  272,  272,  272,
> -      272,  272,  275, 1253, 1253,  275,  275,  275, 1253,  275,
> -      275,  275, 1253,  275,  275,  275, 1253,  275,  275,  275,
> -      275,  275,  275,  211,  211, 1253,  211,  211,  211, 1253,
> -      211,  211,  211,  211,  211,  211,  211,  211,  211,  211,
> -      211,  211,  211,  211,  300, 1253, 1253, 1253,  300,  300,
> -
> -      300,  300,  300,  300,  300,  300,  300,  300,  300,  300,
> -      300,  300,  300,  300,  300,  303, 1253, 1253,  303, 1253,
> -     1253, 1253,  303, 1253,  303, 1253,  303,  303,  303, 1253,
> -     1253,  303,  303,  303,  303,  303,  305, 1253, 1253,  305,
> -     1253, 1253,  305,  305, 1253,  305, 1253,  305,  305,  305,
> -      305, 1253,  305,  305,  305,  305,  305,  307, 1253, 1253,
> -      307, 1253, 1253, 1253,  307, 1253,  307, 1253,  307,  307,
> -      307, 1253, 1253,  307,  307,  307,  307,  307,  309, 1253,
> -     1253,  309,  309,  309, 1253,  309,  309,  309, 1253,  309,
> -      309,  309, 1253, 1253,  309,  309,  309,  309,  309,  331,
> +      326,  326,  326,  326,  326,  326,  326,  331,  331,  331,
> +      331,  331,  331,  331,  331,  331,  331,  331,  331,  331,
> +      331,  331,  331,  331,  331,  331,  331,  331,  445,  445,
> +      445,  445,  445,  445,  445,  445,  445,  445,  445,  445,
> +      445,  445,  445,  445,  445,  445,  445,  445,  445,  155,
> +     1241, 1241,  155, 1241, 1241, 1241,  155, 1241,  155, 1241,
> +      155,  155,  155, 1241, 1241,  155,  155,  155,  155,  155,
> +      459,  459,  459, 1241, 1241, 1241, 1241,  459,  207,  207,
> +     1241,  207,  207,  207, 1241,  207,  207,  207,  207,  207,
> +      207,  207,  207,  207,  207,  207,  207,  207,  207,  234,
> +
> +      234, 1241,  234,  234,  234,  234,  234,  234,  234,  234,
> +      234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
> +      233,  233, 1241,  233,  233,  233, 1241,  233,  233,  233,
> +      233,  233,  233,  233,  233,  233,  233,  233,  233,  233,
> +      233,  208,  208, 1241,  208,  208,  208, 1241,  208,  208,
> +      208,  208,  208,  208,  208,  208,  208,  208,  208,  208,
> +      208,  208,  567,  567,  567, 1241, 1241, 1241, 1241,  567,
> +      465,  465,  465, 1241, 1241, 1241, 1241,  465,  331,  331,
> +      331,  331,  331,  331,  331,  331,  331,  331,  331,  331,
> +      331,  331,  331,  331,  331,  331,  331,  331,  331,  234,
> +
> +      234, 1241,  234,  234,  234, 1241,  234,  234,  234,  234,
> +      234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
> +      671,  671,  671, 1241, 1241, 1241, 1241,  671,  675,  675,
> +      675,  675, 1241, 1241, 1241, 1241,  675,  782,  782,  782,
> +     1241, 1241, 1241, 1241,  782,  783,  783,  783,  783, 1241,
> +     1241, 1241, 1241,  783,  876,  876,  876, 1241, 1241, 1241,
> +     1241,  876,  877,  877,  877,  877, 1241, 1241, 1241, 1241,
> +      877,  331,  331,  331,  331,  331,  331,  331,  331,  331,
> +      331,  331,  331,  331,  331,  331,  331,  331,  331,  331,
> +      331,  331,  269, 1241, 1241,  269,  269, 1241,  269,  269,
>  
> -      331, 1253,  331,  331,  331, 1253,  331,  331,  331,  331,
> +     1241, 1241,  269,  269,  298, 1241, 1241,  298, 1241, 1241,
> +     1241,  298, 1241,  298, 1241,  298,  298,  298, 1241, 1241,
> +      298,  298,  298,  298,  298,  948, 1241,  948,  948, 1241,
> +     1241, 1241, 1241,  948,  966,  966,  966, 1241, 1241, 1241,
> +     1241,  966,  967,  967,  967,  967, 1241, 1241, 1241, 1241,
> +      967,  331,  331,  331,  331,  331,  331,  331,  331,  331,
>        331,  331,  331,  331,  331,  331,  331,  331,  331,  331,
> -      158, 1253, 1253,  158, 1253, 1253, 1253,  158, 1253,  158,
> -     1253,  158,  158,  158, 1253, 1253,  158,  158,  158,  158,
> -      158,  337,  337,  337,  337,  337,  337,  337,  337,  337,
> -      337,  337,  337,  337,  337,  337,  337,  337,  337,  337,
> -      337,  337,  339,  339, 1253,  339,  339,  339,  339,  339,
> -      339,  339,  339,  339,  339,  339,  339,  339,  339,  339,
> -      339,  339,  339,  168, 1253, 1253,  168, 1253, 1253, 1253,
> -      168, 1253,  168, 1253,  168,  168,  168, 1253, 1253,  168,
> -
> -      168,  168,  168,  168,  172, 1253, 1253,  172, 1253, 1253,
> -     1253,  172, 1253,  172, 1253,  172,  172,  172, 1253, 1253,
> -      172,  172,  172,  172,  172,  174, 1253, 1253,  174,  174,
> -      174, 1253,  174,  174,  174, 1253,  174,  174,  174, 1253,
> -     1253,  174,  174,  174,  174,  174,  175, 1253, 1253,  175,
> -      175,  175, 1253,  175,  175,  175, 1253,  175,  175,  175,
> -     1253, 1253,  175,  175,  175,  175,  175,  349,  349,  349,
> -     1253, 1253, 1253, 1253,  349,  210,  210, 1253,  210,  210,
> -      210, 1253,  210,  210,  210,  210,  210,  210,  210,  210,
> -      210,  210,  210,  210,  210,  210,  211,  211, 1253,  211,
> -
> -      211,  211, 1253,  211,  211,  211,  211,  211,  211,  211,
> -      211,  211,  211,  211,  211,  211,  211,  233, 1253, 1253,
> -      233,  233,  233, 1253,  233,  233,  233, 1253,  233,  233,
> -      233, 1253, 1253,  233,  233,  233,  233,  233,  234, 1253,
> -     1253,  234,  234,  234, 1253,  234,  234,  234, 1253,  234,
> -      234,  234, 1253, 1253,  234,  234,  234,  234,  234,  237,
> -      237, 1253,  237,  237,  237, 1253,  237,  237,  237,  237,
> -      237,  237,  237,  237,  237,  237,  237,  237,  237,  237,
> -      238,  238, 1253,  238,  238,  238, 1253,  238,  238,  238,
> -      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
> -
> -      238,  242, 1253, 1253,  242,  242,  242, 1253,  242,  242,
> -      242, 1253,  242,  242,  242, 1253,  242,  242, 1253,  242,
> -      242,  242,  248,  248, 1253,  248,  248,  248, 1253, 1253,
> -      248,  248,  248,  248,  248,  248,  248,  248,  248, 1253,
> -      248,  248,  248,  255, 1253, 1253,  255,  255, 1253, 1253,
> -      255,  255,  255, 1253,  255,  255,  255,  255, 1253,  255,
> -      255,  255,  255,  255,  261,  261, 1253,  261,  261, 1253,
> -      261,  261,  261,  261,  261,  261,  261,  261,  261,  261,
> -      261,  261,  261,  261,  261,  271, 1253, 1253,  271, 1253,
> -     1253, 1253,  271, 1253,  271, 1253,  271,  271,  271, 1253,
> -
> -     1253,  271,  271,  271,  271,  271,  272, 1253, 1253,  272,
> -     1253, 1253, 1253,  272, 1253,  272, 1253,  272,  272,  272,
> -     1253,  272,  272,  272,  272,  272,  272,  273, 1253, 1253,
> -      273,  273, 1253,  273,  273, 1253, 1253,  273,  273,  275,
> -     1253, 1253,  275,  275,  275, 1253,  275,  275,  275, 1253,
> -      275,  275,  275, 1253,  275,  275,  275,  275,  275,  275,
> -      300, 1253, 1253, 1253,  300,  300,  300,  300,  300,  300,
> -      300,  300,  300,  300,  300,  300,  300,  300,  300,  300,
> -      300,  303, 1253, 1253,  303, 1253, 1253, 1253,  303, 1253,
> -      303, 1253,  303,  303,  303, 1253, 1253,  303,  303,  303,
> -
> -      303,  303,  305, 1253, 1253,  305, 1253, 1253, 1253,  305,
> -     1253,  305, 1253,  305,  305,  305, 1253, 1253,  305,  305,
> -      305,  305,  305,  307, 1253, 1253,  307, 1253, 1253, 1253,
> -      307, 1253,  307, 1253,  307,  307,  307, 1253, 1253,  307,
> -      307,  307,  307,  307,  309, 1253, 1253,  309,  309,  309,
> -     1253,  309,  309,  309, 1253,  309,  309,  309, 1253, 1253,
> -      309,  309,  309,  309,  309,  310, 1253, 1253,  310,  310,
> -      310, 1253,  310,  310,  310, 1253,  310,  310,  310, 1253,
> -     1253,  310,  310,  310,  310,  310,  331,  331, 1253,  331,
> -      331,  331, 1253,  331,  331,  331,  331,  331,  331,  331,
> -
> -      331,  331,  331,  331,  331,  331,  331,  337,  337,  337,
> -      337,  337,  337,  337,  337,  337,  337,  337,  337,  337,
> -      337,  337,  337,  337,  337,  337,  337,  337,  454,  454,
> -      454,  454,  454,  454,  454,  454,  454,  454,  454,  454,
> -      454,  454,  454,  454,  454,  454,  454,  454,  454,  158,
> -     1253, 1253,  158, 1253, 1253, 1253,  158, 1253,  158, 1253,
> -      158,  158,  158, 1253, 1253,  158,  158,  158,  158,  158,
> -      468,  468,  468, 1253, 1253, 1253, 1253,  468,  210,  210,
> -     1253,  210,  210,  210, 1253,  210,  210,  210,  210,  210,
> -      210,  210,  210,  210,  210,  210,  210,  210,  210,  238,
> -
> -      238, 1253,  238,  238,  238,  238,  238,  238,  238,  238,
> -      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
> -      237,  237, 1253,  237,  237,  237, 1253,  237,  237,  237,
> -      237,  237,  237,  237,  237,  237,  237,  237,  237,  237,
> -      237,  211,  211, 1253,  211,  211,  211, 1253,  211,  211,
> -      211,  211,  211,  211,  211,  211,  211,  211,  211,  211,
> -      211,  211,  579,  579,  579, 1253, 1253, 1253, 1253,  579,
> -      474,  474,  474, 1253, 1253, 1253, 1253,  474,  337,  337,
> -      337,  337,  337,  337,  337,  337,  337,  337,  337,  337,
> -      337,  337,  337,  337,  337,  337,  337,  337,  337,  238,
> -
> -      238, 1253,  238,  238,  238, 1253,  238,  238,  238,  238,
> -      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
> -      683,  683,  683, 1253, 1253, 1253, 1253,  683,  687,  687,
> -      687,  687, 1253, 1253, 1253, 1253,  687,  794,  794,  794,
> -     1253, 1253, 1253, 1253,  794,  795,  795,  795,  795, 1253,
> -     1253, 1253, 1253,  795,  888,  888,  888, 1253, 1253, 1253,
> -     1253,  888,  889,  889,  889,  889, 1253, 1253, 1253, 1253,
> -      889,  337,  337,  337,  337,  337,  337,  337,  337,  337,
> -      337,  337,  337,  337,  337,  337,  337,  337,  337,  337,
> -      337,  337,  273, 1253, 1253,  273,  273, 1253,  273,  273,
> -
> -     1253, 1253,  273,  273,  303, 1253, 1253,  303, 1253, 1253,
> -     1253,  303, 1253,  303, 1253,  303,  303,  303, 1253, 1253,
> -      303,  303,  303,  303,  303,  960, 1253,  960,  960, 1253,
> -     1253, 1253, 1253,  960,  978,  978,  978, 1253, 1253, 1253,
> -     1253,  978,  979,  979,  979,  979, 1253, 1253, 1253, 1253,
> -      979,  337,  337,  337,  337,  337,  337,  337,  337,  337,
> -      337,  337,  337,  337,  337,  337,  337,  337,  337,  337,
> -      337,  337,  273, 1253, 1253,  273,  273, 1253,  273,  273,
> -     1253, 1253,  273,  273,  303, 1253, 1253,  303, 1253, 1253,
> -     1253,  303, 1253,  303, 1253,  303,  303,  303, 1253, 1253,
> -
> -      303,  303,  303,  303,  303, 1041, 1253, 1041, 1041, 1253,
> -     1253, 1253, 1253, 1041, 1057, 1057, 1057, 1253, 1253, 1253,
> -     1253, 1057, 1058, 1058, 1058, 1253, 1253, 1253, 1253, 1253,
> -     1058, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
> -     1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
> -     1072, 1072, 1077, 1077, 1253, 1077, 1077, 1077, 1077, 1077,
> -     1253, 1077, 1253, 1077, 1077, 1077, 1253, 1253, 1077, 1077,
> -     1077, 1077, 1077, 1083, 1083, 1253, 1083, 1083, 1083, 1083,
> -     1083, 1253, 1083, 1253, 1083, 1083, 1083, 1253, 1253, 1083,
> -     1083, 1083, 1083, 1083, 1112, 1253, 1112, 1112, 1253, 1253,
> -
> -     1253, 1253, 1112, 1163, 1253, 1163, 1163, 1253, 1253, 1253,
> -     1253, 1163, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201,
> -     1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201,
> -     1201, 1201, 1201,   21, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> +      331,  331,  269, 1241, 1241,  269,  269, 1241,  269,  269,
> +     1241, 1241,  269,  269,  298, 1241, 1241,  298, 1241, 1241,
> +     1241,  298, 1241,  298, 1241,  298,  298,  298, 1241, 1241,
> +
> +      298,  298,  298,  298,  298, 1029, 1241, 1029, 1029, 1241,
> +     1241, 1241, 1241, 1029, 1045, 1045, 1045, 1241, 1241, 1241,
> +     1241, 1045, 1046, 1046, 1046, 1241, 1241, 1241, 1241, 1241,
> +     1046, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060,
> +     1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060,
> +     1060, 1060, 1065, 1065, 1241, 1065, 1065, 1065, 1065, 1065,
> +     1241, 1065, 1241, 1065, 1065, 1065, 1241, 1241, 1065, 1065,
> +     1065, 1065, 1065, 1071, 1071, 1241, 1071, 1071, 1071, 1071,
> +     1071, 1241, 1071, 1241, 1071, 1071, 1071, 1241, 1241, 1071,
> +     1071, 1071, 1071, 1071, 1100, 1241, 1100, 1100, 1241, 1241,
> +
> +     1241, 1241, 1100, 1151, 1241, 1151, 1151, 1241, 1241, 1241,
> +     1241, 1151, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189,
> +     1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189,
> +     1189, 1189, 1189,   21, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
>  
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241
>      } ;
>  
>  static yyconst flex_int16_t yy_chk[9611] =
> @@ -1969,57 +1966,57 @@
>          1,    1,    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,   23,   43,   41,
> -        2,   23,   43,    2,    5,    5,  382,    5,    5,    5,
> -       41,    5,    6,    6,  382,    6,    6,    6,    5,    6,
> +        2,   23,   43,    2,    5,    5,  375,    5,    5,    5,
> +       41,    5,    6,    6,  375,    6,    6,    6,    5,    6,
>  
>          7,    7,   55,    7,    7,    7,    6,    7,    7,   29,
> -        2,    2,    5,    5,   45,    2,   55,   49,   45,  512,
> -        6,    6,   49,    2,   70,   45,    2,    3,   70,   59,
> +        2,    2,    5,    5,   45,    2,   55,   49,   45,  502,
> +        6,    6,   49,    2,   69,   45,    2,    3,   69,  116,
>         29,    3,   13,   13,    3,   13,   13,   13,   13,    5,
> -       59,    3,  512,   44,    3,   52,   44,    6,   14,   14,
> +      116,    3,  502,   44,    3,   52,   44,    6,   14,   14,
>         44,   14,   14,   14,   14,    7,   44,   29,    3,    3,
> -       52,    3,   37,   37,   37,   37,   37,   37,   66,    3,
> -      163,    3,  163,    3,    3,   46,    3,  457,   46,   46,
> -      108,    8,    8,    3,    8,    8,    8,   13,    8,    8,
> -       17,   17,   17,   17,   17,   17,   17,   66,   68,    3,
> -
> -        4,  108,   68,   14,    4,   34,   34,    4,   60,   64,
> -       34,   34,   68,   64,    4,   86,  457,    4,   60,   86,
> -       18,   18,   18,   18,   18,   18,   18,   60,  108,   64,
> -       34,    4,    4,   77,    4, 1250,    8,   92,   92,  130,
> -       92,   92,    4,   77,    4,   17,    4,    4,  130,    4,
> -       94,   94,   77,   94,   94,   34,    4,   36,   36,   36,
> -       36,   36,   36,   36,   36,   36,   36,   61,  105,   98,
> -      100,   61,    4,    9,    9,   18,    9,    9,    9,   58,
> +       52,    3,   37,   37,   37,   37,   37,   37,   65,    3,
> +      160,    3,  160,    3,    3,   46,    3,  448,   46,   46,
> +      107,    8,    8,    3,    8,    8,    8,   13,    8,    8,
> +       17,   17,   17,   17,   17,   17,   17,   65,   67,    3,
> +
> +        4,  107,   67,   14,    4,   34,   34,    4,   59,   63,
> +       34,   34,   67,   63,    4,   85,  448,    4,   59,   85,
> +       18,   18,   18,   18,   18,   18,   18,   59,  107,   63,
> +       34,    4,    4,   76,    4, 1238,    8,   91,   91,  128,
> +       91,   91,    4,   76,    4,   17,    4,    4,  128,    4,
> +       93,   93,   76,   93,   93,   34,    4,   36,   36,   36,
> +       36,   36,   36,   36,   36,   36,   36,   60,  104,   97,
> +       99,   60,    4,    9,    9,   18,    9,    9,    9,   58,
>          9,   58,   58,   58,   58,   58,   58,   58,   58,   58,
> -       58,   63,  117,  475,   63,   98,  100,  118,   63,  186,
> +       58,   62,  364,  364,   62,   97,   99,  117,   62,  183,
>  
> -      118,   61,   61,  117,   63,  475,   61,  102,  102,  126,
> -      102,  102,  104,  186,   61,  144,  104,   61,  105,  160,
> -       63,  107,  107,  160,  107,  107,  144,  107,    9,  132,
> +      117,   60,   60,  125,   62,  157,   60,  101,  101,  157,
> +      101,  101,  103,  183,   60,  142,  103,   60,  104,  226,
> +       62,  106,  106,  226,  106,  106,  142,  106,    9,  130,
>          9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
>          9,    9,    9,    9,    9,    9,    9,    9,   10,   10,
> -      208,   10,   10,   10,   69,   10,  126,   69,   69,   69,
> -       69,   69,   69,   69,   69,   69,   69,  104,  113,  113,
> -      113,  113,  113,  113,  145,   71,   71,  145, 1246,  132,
> -       71,   71,  112,  112,  112,  112,  112,  112,  112,  112,
> -      112,  112,  141,  141,  141,  141,  141,  141,  134,  134,
> +      125,   10,   10,   10,   68,   10,  134,   68,   68,   68,
> +       68,   68,   68,   68,   68,   68,   68,  103,  112,  112,
> +      112,  112,  112,  112, 1234,   70,   70,  134,  205,  130,
> +       70,   70,  111,  111,  111,  111,  111,  111,  111,  111,
> +      111,  111,  139,  139,  139,  139,  139,  139,  132,  132,
>  
> -       71,  134,  134,   10,  208,   10,   10,   10,   10,   10,
> +       70,  132,  132,   10,  134,   10,   10,   10,   10,   10,
>         10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
> -       10,   10,   10,   11,   11,   71,   11,   11,   11,   11,
> -       11,  206,  206,  136,  206,  206,   11,   11,   11,  127,
> -      156,  127,  127,  127,  127,  127,  127,  127,  127,  127,
> -      127,  156,   11,  134,  136,  157,  183,  183,  183,  183,
> -      183,  183,  138,  138,  185,  157,  215,  138,  138,  215,
> -      216,  214,  226,  334,  157,  185,  216,  227,   11,   12,
> -       12,  136,   12,   12,   12,   12,   12,  138,  214,  226,
> -      334,  227,   12,   12,   12,  140,  140,  140,  140,  140,
> -
> -      140,  140,  140,  140,  140,  230,  232, 1243,   12,  230,
> -      232,  155,  138,  155,  155,  155,  155,  155,  155,  155,
> -      155,  155,  155,  166,  166,  166,  166,  166,  166,  166,
> -      166,  166,  166, 1224,   12,   15,   15,   15,   15,   15,
> +       10,   10,   10,   11,   11,   70,   11,   11,   11,   11,
> +       11,  143,  205,  331,  143,  331,   11,   11,   11,  126,
> +      182,  126,  126,  126,  126,  126,  126,  126,  126,  126,
> +      126,  182,   11,  132,  167,  228,  136,  136,  208,  228,
> +     1231,  136,  136,  138,  138,  138,  138,  138,  138,  138,
> +      138,  138,  138,  211,  222,  167,  211,  154,   11,   12,
> +       12,  136,   12,   12,   12,   12,   12,  154, 1212,  212,
> +      223,  222,   12,   12,   12,  212,  154,  203,  203,  245,
> +
> +      203,  203,  167,  245,  223,  208,  136,  153,   12,  153,
> +      153,  153,  153,  153,  153,  153,  153,  153,  153,  163,
> +      163,  163,  163,  163,  163,  163,  163,  163,  163,  240,
> +      240, 1185,  240,  240,   12,   15,   15,   15,   15,   15,
>         15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
>         15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
>         15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
> @@ -2035,989 +2032,989 @@
>         19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
>         19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
>         19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
> -       19,   19,   19,   19,   19,   19,   19,   28,  264,   28,
> -      167,  167,  167,  167,  167,  167,  167,  167,  167,  167,
> +       19,   19,   19,   19,   19,   19,   19,   28,  260,   28,
> +      164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
>  
> -      211,   28, 1197,  225,   28,   28,   28,   28,   28,   28,
> -       28,   28,   28,   28,   35,  170,   35,   35,   35,   35,
> -       35,   35,   35,   35,   35,   35,   35,  238,  370,  370,
> -       35,   35,   35,   35,   35,   35,  170,  461,  264,  329,
> -      224,  159,  159,  159,  159,  159,  224,  211,  159,  159,
> -      225,  249,  159,   35,  224,  249,   35,   35,   35,   35,
> -       35,   35,   42,  170,  461,   42,  159,  159,  159,  266,
> -      228,   42,   42,  266,  238,   42,   42,  228,   42,   42,
> +      221,   28,  807,  234,   28,   28,   28,   28,   28,   28,
> +       28,   28,   28,   28,   35,  807,   35,   35,   35,   35,
> +       35,   35,   35,   35,   35,   35,   35,  297, 1183,  224,
> +       35,   35,   35,   35,   35,   35,  224,  452,  260,  324,
> +      220,  156,  156,  156,  156,  156,  220,  221,  156,  156,
> +      234,  262,  156,   35,  220,  262,   35,   35,   35,   35,
> +       35,   35,   42,  237,  452,   42,  156,  156,  156,  237,
> +      329,   42,   42,  329,  384,   42,   42,  297,   42,   42,
>         42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
> -       42,   42, 1195,  329,   42,   42,   42,   42,   42,   42,
> +       42,   42,  384,  324,   42,   42,   42,   42,   42,   42,
>  
>         42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
>         42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
>         42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
>         42,   42,   42,   42,   42,   42,   42,   42,   47,   47,
> -       47,   47,   47,   47,   47,   47,   47,   47,   47,  223,
> -      819,  223,   47,   47,   47,   47,   47,   47,  335,  241,
> -      302,  335,   47,  819,  169,  241,   47,  169,  169,  169,
> -      169,  169,  169,  169,  169,  169,  169,  393,   47,   47,
> -       47,   47,   47,   47,   56,   56,  349,   56,   56,   56,
> -       56,   56,  229,  393,   56,   56,  229,  349,   56,  174,
> -
> -      174, 1178,  233,  233,  174,  174,  229,  233,  233,  337,
> -      302,  337,   56,   56,   56,   57,  336,  223,  379,   57,
> -       57,   57,  336,   57,  174,   57,   57,  233,  391,   57,
> -      171,  171,  171,  171,  171,  504,  379,  171,  171,  296,
> -      296,  171,  504,   57,   57,   57,  391,  244,  244,  174,
> -      244,  244,  233,  381,  399,  171,  171,  171,  181,  181,
> -      181,  181,  181,  181,  181,  181,  181,  181,  381,  399,
> -       57,   62,  338,   62,  338,  173,  173,  173,  173,  173,
> -      263,  478,  173,  173,  263,   62,  173,  296,   62,   62,
> -       62,   62,   62,   62,   62,   62,   62,   62,  478,  396,
> -
> -      173,  173,  173,  177,  177,  177,  177,  177,  177,  177,
> -      177,  177,  177,  182,  182,  182,  182,  182,  182,  182,
> -      182,  182,  182,  209,  209,  213,  209,  209,  213,  339,
> -      422,  339,  213,  213,  217,  263,   62,   76,  217,  351,
> -      177,   76,   76,   76,  351,   76,  396,   76,   76,  199,
> -      199,   76,  388,  199,  388,  199,  199,  389,  450,  199,
> -      400,  199,  199,  389,  400,   76,   76,   76,  217,  217,
> -      268,  252,  252,  217,  252,  252,  450,  422,  209,  240,
> -      213,  217,  240,  489,  217,  269,  240,  240,  387,  452,
> -      387,  268,   76,   84,   84,  489,   84,   84,   84,  392,
> -
> -       84,  454,  392,  454,  452,   84,  269,   84,  231,  231,
> -      231,  231,  231,  231,  231,  231,  231,  231,  268,  236,
> -      236,   84,   84,  236,  301,  236,  236,  477,  301,  236,
> -      455,  236,  455,  269,  240,  253,  253,  253,  253,  253,
> -      253,  253,  253,  253,  253,  617,  477,  387,   84,   84,
> -       93,  486,   93,  260,  260,  468,  260,  260,  265,  265,
> -      539,  265,  265,  539,   93,  486,  468,   93,   93,   93,
> -       93,   93,   93,   93,   93,   93,   93,  109,  617,  301,
> -      109,  424,  424,  482,  424,  256,  109,  109,  480,  256,
> -      109,  256,  256,  109,  109,  270,  270,  270,  270,  256,
> -
> -      469,  481,  270,  270,  482,  480,  270,  109,  260,  109,
> -      485,  469,  276,  494,  256, 1166,  276,  487,  485,  276,
> -      481,  270,  270,  465,  465,  465,  276,  282,  282,  282,
> -      282,  282,  282,  109,  109,  109,  110,  494,  487,  110,
> -      276,  276,  110,  110,  490,  110,  110,  110,  110,  110,
> -      488,  493,  110,  110,  274,  274,  274,  274,  274,  493,
> -      488,  274,  274, 1165,  490,  274,  110,  110,  110,  277,
> -      277,  277,  277,  277,  277,  277,  277,  277,  277,  274,
> -      274,  274,  280,  280,  280,  280,  280,  280,  280,  280,
> -      280,  280,  110,  110,  110,  111,  497,  600,  111,  111,
> -
> -      111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
> -      111,  111,  497,  600,  111,  111,  111,  111,  111,  111,
> -      111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
> -      111,  111,  111,  111,  111,  111,  111,  491, 1163,  618,
> -      111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
> -      111,  111,  111,  111,  111,  111,  111,  114,  491,  114,
> -      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
> -      618,  503, 1162,  114,  114,  114,  114,  114,  114,  281,
> -      281,  281,  281,  281,  281,  281,  281,  281,  281,  315,
> -      315,  315,  315,  315,  315,  315,  315,  315,  315,  114,
> -
> -      114,  114,  114,  114,  114,  115,  498,  503,  544,  115,
> -      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
> -      115,  115, 1158,  498,  115,  115,  115,  115,  115,  115,
> -      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
> -      115,  115,  115,  115,  115,  115,  115,  544, 1151,  115,
> -      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
> -      115,  115,  115,  115,  115,  115,  115,  119,  119,  119,
> -      119,  119,  119,  119,  119,  119,  119,  119,  492,  495,
> -      515,  119,  119,  119,  119,  119,  119,  492,  292,  292,
> -     1145,  119,  292,  501,  292,  292,  501,  502,  292,  495,
> -
> -      292,  317,  317,  317,  317,  317,  317,  119,  119,  119,
> -      119,  119,  119,  139,  567,  139,  139,  139,  139,  139,
> -      139,  139,  139,  139,  139,  139,  502,  515,  501,  139,
> -      139,  139,  139,  139,  139,  479,  514,  483,  606,  479,
> -      304,  304,  304,  304,  304,  513,  606,  304,  304,  483,
> -      567,  304,  139,  514,  483,  139,  139,  139,  139,  139,
> -      139,  142,  516,  479,  142,  304,  304,  304,  527,  516,
> -      142,  142,  513,  527,  142,  142,  714,  142,  142,  142,
> -      142,  142,  142,  142,  142,  142,  142,  142,  142,  142,
> -      142,  513,  714,  142,  142,  142,  142,  142,  142,  142,
> -
> -      142,  142,  142,  142,  142,  142,  142,  142,  142,  142,
> -      142,  142,  142,  142,  142,  142,  142,  142,  142,  142,
> -      142,  142,  142,  142,  142,  142,  142,  142,  142,  142,
> -      142,  142,  142,  142,  142,  142,  142,  146,  146,  146,
> -      146,  146,  146,  146,  146,  146,  146,  146,  548,  605,
> -      592,  146,  146,  146,  146,  146,  146,  565,  326,  326,
> -      565,  146,  326,  605,  326,  326,  309,  309,  326,  592,
> -      326,  309,  309,  380,  380,  548,  380,  146,  146,  146,
> -      146,  146,  146,  153,  153,  579,  153,  153,  153,  153,
> -      153,  309,  565,  153,  153, 1129,  579,  153,  312,  312,
> -
> -      312,  312,  312,  312,  312,  312,  312,  312,  380,  566,
> -      553,  153,  153,  153,  154,  553,  309,  484,  154,  154,
> -      154,  484,  154, 1128,  154,  154,  593,  568,  154,  306,
> -      306,  306,  306,  306,  568,  312,  306,  306,  566,  608,
> -      306,  593,  154,  154,  154,  484,  598,  330,  330,  607,
> -      330,  330,  598,  608,  306,  306,  306,  511,  594,  511,
> -      308,  308,  308,  308,  308,  599,  604,  308,  308,  154,
> -      176,  308,  604,  176,  176,  176,  176,  176,  607,  594,
> -      176,  176, 1124,  599,  176,  308,  308,  308,  316,  316,
> -      316,  316,  316,  316,  316,  316,  316,  316,  176,  176,
> -
> -      176,  178,  330,  178,  178,  178,  178,  178,  178,  178,
> -      178,  178,  178,  178, 1112,  597,  620,  178,  178,  178,
> -      178,  178,  178,  511,  333,  451,  451,  333,  451,  581,
> -      581,  333,  333,  472,  472,  472,  472,  472,  472,  597,
> -      178,  581,  601,  178,  178,  178,  178,  178,  178,  187,
> -      613,  620,  187,  610,  812,  812,  713,  613,  187,  187,
> -      451,  610,  187,  187,  601,  187,  187,  187,  187,  187,
> -      187,  187,  187,  187,  187,  187,  187,  187,  187,  333,
> -      713,  187,  187,  187,  187,  187,  187,  187,  187,  187,
> -      187,  187,  187,  187,  187,  187,  187,  187,  187,  187,
> -
> -      187,  187,  187,  187,  187,  187,  187,  187,  187,  187,
> -      187,  187,  187,  187,  187,  187,  187,  187,  187,  187,
> -      187,  187,  187,  187,  187,  188,  188,  188,  188,  188,
> -      188,  188,  188,  188,  188,  188,  815,  815, 1111,  188,
> -      188,  188,  188,  188,  188,  340,  340,  340,  340,  340,
> -      340,  340,  340,  340,  340,  341,  341,  341,  341,  341,
> -      341,  341,  341,  341,  341,  188,  188,  188,  188,  188,
> -      188,  210,  619,  615,  528,  210,  210,  210,  528,  210,
> -      394,  210,  210,  609,  394,  210,  460,  394,  460,  460,
> -      460,  460,  460,  460,  394,  612,  615,  944,  944,  210,
> -
> -      210,  210,  528,  609,  612,  619,  616,  525,  394,  394,
> -      401,  525,  401,  401,  401,  401,  401,  401,  401,  401,
> -      401,  401, 1103,  621,  626,  460,  210,  235,  616,  621,
> -      235,  235,  235,  235,  235,  525,  626,  235,  235,  611,
> -      402,  235,  402,  402,  402,  402,  402,  402,  402,  402,
> -      402,  402,  525,  628,  669,  235,  235,  235,  237,  628,
> -      611,  526,  237,  237,  237,  526,  237, 1102,  237,  237,
> -      707,  403,  237,  403,  403,  403,  403,  403,  403,  403,
> -      403,  403,  403,  583,  583,  669,  237,  237,  237,  526,
> -      426,  707,  668,  670,  426,  583,  521,  426,  521,  521,
> -
> -      521,  521,  521,  521,  426,  625,  672,  625,  526,  627,
> -      671,  683,  672,  237,  272,  981,  981,  272,  426,  426,
> -      704,  627,  683,  272,  272,  668,  670,  272,  704,  674,
> -      272,  272,  456,  456,  456,  456,  456,  456,  456,  456,
> -      456,  456,  982,  982,  272,  671,  272,  464,  464,  464,
> -      464,  464,  464,  464,  464,  464,  464,  464,  471,  471,
> -      471,  471,  471,  471,  471,  471,  471,  471,  674,  456,
> -      272,  272,  272,  275,  706,  700,  275,  687,  625,  275,
> -      275,  700,  275,  275,  275,  275,  275, 1094,  687,  275,
> -      275,  474,  706,  474,  474,  474,  474,  474,  474,  474,
> -
> -      474,  474,  474,  275,  275,  275,  517,  517,  517,  517,
> -      517,  517,  517,  517,  517,  517,  519, 1060,  519,  519,
> -      519,  519,  519,  519,  519,  519,  519,  519,  701,  275,
> -      275,  275,  278, 1060,  278,  278,  278,  278,  278,  278,
> -      278,  278,  278,  278,  278,  701,  719,  705,  278,  278,
> -      278,  278,  278,  278,  520,  709,  520,  520,  520,  520,
> -      520,  520,  520,  520,  520,  520,  705,  719, 1093,  550,
> -      688,  688,  709,  550,  278,  278,  278,  278,  278,  278,
> -      283,  716,  688,  755,  283,  283,  283,  283,  283,  283,
> -      283,  283,  283,  283,  283,  283,  283,  550,  716,  283,
> -
> -      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
> -      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
> -      283,  283,  755, 1092,  283,  283,  283,  283,  283,  283,
> -      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
> -      283,  283,  284,  284,  284,  284,  284,  284,  284,  284,
> -      284,  284,  284,  689,  689,  710,  284,  284,  284,  284,
> -      284,  284,  532,  715,  711,  689,  532,  814,  529,  530,
> -      814,  715,  529,  530,  710,  533,  711,  691,  691,  533,
> -     1090,  711,  284,  284,  284,  284,  284,  284,  311,  691,
> -      532,  311,  311,  311,  311,  311,  529,  530,  311,  311,
> -
> -      532,  724,  311,  533,  529,  531,  535,  931,  743,  531,
> -      535,  530,  724,  743,  729,  533,  311,  311,  311,  313,
> -      931,  313,  313,  313,  313,  313,  313,  313,  313,  313,
> -      313,  313,  729,  531,  535,  313,  313,  313,  313,  313,
> -      313,  728,  730,  554,  595,  536,  602,  554,  595,  536,
> -      602,  766,  728,  730,  531,  535,  766,  776,  313, 1030,
> -      833,  313,  313,  313,  313,  313,  313,  318,  776, 1061,
> -      318,  554,  595,  536,  602,  808,  318,  318,  833, 1061,
> -      318,  318,  808,  318,  318,  318,  318,  318,  318,  318,
> -      318,  318,  318,  318,  318,  318,  318,  536, 1030,  318,
> -
> -      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
> -      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
> -      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
> -      318,  318,  318,  318,  318,  318,  318,  318,  318,  318,
> -      318,  318,  318,  319,  319,  319,  319,  319,  319,  319,
> -      319,  319,  319,  319,  727,  794,  727,  319,  319,  319,
> -      319,  319,  319,  534,  537, 1086,  794,  534,  537,  543,
> -      543,  543,  543,  543,  543,  543,  543,  543,  543,  795,
> -      836, 1221,  836,  319,  319,  319,  319,  319,  319,  331,
> -      795,  534,  537,  331,  331,  331, 1221,  331,  813,  331,
> -
> -      331,  796,  796,  331,  820,  813,  543,  820,  537,  797,
> -      797,  534,  635,  796,  727, 1064,  635,  331,  331,  331,
> -      547,  797,  547,  547,  547,  547,  547,  547,  574,  574,
> -      574,  574,  574,  574,  574,  574,  574,  574,  574,  821,
> -      635,  836,  821, 1034,  331,  342,  635,  342,  342,  342,
> -      342,  342,  342,  342,  342,  342,  342, 1027, 1027,  547,
> -      580,  580,  580,  580,  580,  580,  580,  580,  580,  580,
> -      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
> -      837,  818, 1034,  837,  342,  343,  818,  343,  343,  343,
> -      343,  343,  343,  343,  343,  343,  343,  586,  586,  586,
> -
> -      586,  586,  586,  586,  586,  861,  838,  861,  824,  586,
> -      588,  588,  588,  588,  588,  588,  588,  588,  588,  588,
> -      824, 1058,  825,  838,  343,  344,  825,  344,  344,  344,
> -      344,  344,  344,  344,  344,  344,  344,  589,  589,  589,
> -      589,  589,  589,  591,  847,  591,  591,  591,  591,  591,
> -      591,  591,  591,  591,  591,  846,  847,  859,  639,  839,
> -      865,  846,  639,  859,  344,  345,  345,  345,  345,  345,
> -      345,  345,  345,  345,  345,  345, 1041,  839,  865,  345,
> -      345,  345,  345,  345,  345,  629,  639,  629,  629,  629,
> -      629,  629,  629,  629,  629,  629,  629,  857,  851,  864,
> -
> -      639,  857,  345,  851,  864,  345,  345,  345,  345,  345,
> -      345,  348,  348,  348,  348,  348,  348,  348,  348,  348,
> -      348,  348, 1059, 1059, 1040,  348,  348,  348,  348,  348,
> -      348,  630,  860,  630,  630,  630,  630,  630,  630,  630,
> -      630,  630,  630,  634,  860,  862, 1036,  634,  908,  862,
> -     1025,  348,  348,  348,  348,  348,  348,  350,  350,  350,
> -      350,  350,  350,  350,  350,  350,  350,  350,  350,  908,
> -      914,  634,  350,  350,  350,  350,  350,  350,  631,  850,
> -      631,  631,  631,  631,  631,  631,  631,  631,  631,  631,
> -      850,  914, 1170,  799,  799,  634, 1096,  863,  350,  350,
> -
> -      350,  350,  350,  350,  352,  799,  703,  352,  863,  901,
> -      703,  903, 1170,  352,  352,  901, 1018,  352,  352,  903,
> -      352,  352,  352,  352,  352,  352,  352,  352,  352,  352,
> -      352,  352,  352,  352,  703, 1096,  352,  352,  352,  352,
> -      352,  352,  352,  352,  352,  352,  352,  352,  352,  352,
> -      352,  352,  352,  352,  352,  352,  352,  352,  352,  352,
> -      352,  352,  352,  352,  352,  352,  352,  352,  352,  352,
> -      352,  352,  352,  352,  352,  352,  352,  352,  352,  352,
> -      353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
> -      353,  874, 1104, 1104,  353,  353,  353,  353,  353,  353,
> -
> -      641,  638,  906,  874,  641,  638,  876, 1017,  888,  906,
> -      640,  642,  867,  643,  640,  642,  889,  643,  876,  888,
> -      353,  353,  353,  353,  353,  353,  377,  889,  641,  638,
> -      377,  377,  377,  989,  377,  638,  377,  377,  640,  642,
> -      377,  643,  989,  644,  646,  645,  640,  644,  646,  645,
> -      867, 1015,  905,  642,  377,  377,  377,  641,  890,  890,
> -      905,  643,  694,  694,  694,  694,  694,  694,  694,  694,
> -      890,  644,  646,  645,  694,  938,  910,  904,  995,  644,
> -      645,  377,  378,  904,  910,  995,  378,  378,  378,  378,
> -      378,  919,  378,  378,  946,  646,  378,  673,  673,  673,
> -
> -      673,  673,  673,  673,  673,  673,  673,  946,  919, 1006,
> -      378,  378,  378,  938,  677,  991,  677,  677,  677,  677,
> -      677,  677,  684,  991,  684,  684,  684,  684,  684,  684,
> -      684,  684,  684,  684,  673,  891,  891,  378,  397,  893,
> -      893, 1002,  397,  397,  397, 1001,  397,  891,  397,  397,
> -      974,  893,  397,  677,  685,  960,  685,  685,  685,  685,
> -      685,  685,  685,  685,  685,  685,  397,  397,  397,  686,
> -      956,  686,  686,  686,  686,  686,  686,  686,  686,  686,
> -      686,  690,  690,  690,  690,  690,  690,  690,  690,  690,
> -      690,  708,  712,  397,  398,  708,  712,  951,  398,  398,
> -
> -      398,  398,  398,  947,  398,  398,  947, 1100,  398,  696,
> -      696,  696,  696,  696,  696,  696,  696,  696,  696,  708,
> -      712,  909,  398,  398,  398,  697,  697,  697,  697,  697,
> -      697,  699,  909,  699,  699,  699,  699,  699,  699,  699,
> -      699,  699,  699,  717,  718, 1153, 1100,  717,  718,  398,
> -      404,  404,  404,  404,  404,  404,  404,  404,  404,  404,
> -      404, 1072, 1068, 1072,  404,  404,  404,  404,  404,  404,
> -     1068,  717,  718,  731,  731,  731,  731,  731,  731,  731,
> -      731,  731,  731,  948, 1153,  736,  961,  962,  943,  736,
> -      404,  404,  404,  404,  404,  404,  406, 1198,  961,  962,
> -
> -      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
> -      406,  406,  406,  736, 1198,  406,  406,  406,  406,  406,
> -      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
> -      406,  406,  406,  406,  406,  406,  406,  406,  933,  932,
> -      406,  406,  406,  406,  406,  406,  406,  406,  406,  406,
> -      406,  406,  406,  406,  406,  406,  406,  406,  407,  407,
> -      407,  407,  407,  407,  407,  407,  407,  407,  407, 1075,
> -      929, 1075,  407,  407,  407,  407,  407,  407,  733,  964,
> -      733,  733,  733,  733,  733,  733,  733,  733,  733,  733,
> -      735,  964,  735,  735,  735,  735,  735,  735,  407,  407,
> -
> -      407,  407,  407,  407,  427, 1042,  427,  427,  427,  427,
> -      427,  427,  427,  427,  427,  427,  734, 1042,  734,  734,
> -      734,  734,  734,  734,  734,  734,  734,  734,  737,  740,
> -      741,  742,  737,  740,  741,  742, 1016,  744,  746, 1016,
> -      928,  744,  746,  427,  428,  923,  428,  428,  428,  428,
> -      428,  428,  428,  428,  428,  428,  737,  740,  741,  742,
> -      978, 1201,  921, 1201,  737,  744,  746,  917,  745,  747,
> -      748,  978,  745,  747,  748,  741,  918,  918,  742,  918,
> -      918,  916,  746,  428,  429,  915,  429,  429,  429,  429,
> -      429,  429,  429,  429,  429,  429,  745,  747,  748,  754,
> -
> -      754,  754,  754,  754,  754,  754,  754,  754,  754,  758,
> -     1070,  758,  758,  758,  758,  758,  758, 1070,  759,  913,
> -      745,  763,  759,  429,  430,  763,  430,  430,  430,  430,
> -      430,  430,  430,  430,  430,  430,  754,  918,  872,  979,
> -      430,  430,  430,  430,  430,  430,  759,  871,  758,  763,
> -      979,  980,  980,  986,  767,  770,  771,  810,  767,  770,
> -      771,  810, 1026,  980,  986, 1026,  430,  430,  430,  430,
> -      430,  430,  432,  432,  432,  432,  432,  432,  432,  432,
> -      432,  432,  767,  770,  771,  810,  432,  432,  432,  432,
> -      432,  432,  783,  783,  783,  783,  783,  783,  783,  783,
> -
> -      783,  783,  785,  785,  785,  785,  785,  785,  785,  785,
> -      785,  785,  432,  432,  432,  432,  432,  432,  448,  987,
> -      994,  858,  448,  448,  448, 1204,  448, 1204,  448,  448,
> -      987,  994,  448,  786,  786,  786,  786,  786,  786,  805,
> -      805,  805,  805,  805,  805,  852,  448,  448,  448,  788,
> -      849,  788,  788,  788,  788,  788,  788,  788,  788,  788,
> -      788,  789,  789,  789,  789,  789,  789,  789,  789,  789,
> -      789,  816,  822,  448,  449,  816,  822,  848,  449,  449,
> -      449,  449,  449, 1028,  449,  449, 1028,  791,  449,  791,
> -      791,  791,  791,  791,  791,  791,  791,  791,  791,  816,
> -
> -      822,  845,  449,  449,  449,  792, 1043,  792,  792,  792,
> -      792,  792,  792,  792,  792,  792,  792,  793, 1043,  793,
> -      793,  793,  793,  793,  793, 1169, 1169, 1169, 1169,  449,
> -      458,  844,  458,  458,  458,  458,  458,  458,  458,  458,
> -      458,  458,  798,  798,  798,  798,  798,  798,  798,  798,
> -      798,  798,  802,  802,  802,  802,  802,  802,  802,  802,
> -      996,  835, 1004, 1004,  802, 1004, 1004, 1184, 1212,  458,
> -      459,  996,  459,  459,  459,  459,  459,  459,  459,  459,
> -      459,  459,  804,  804,  804,  804,  804,  804,  804,  804,
> -      804,  804,  807, 1045,  807,  807,  807,  807,  807,  807,
> -
> -      807,  807,  807,  807,  828, 1045, 1184, 1212,  828,  459,
> -      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
> -      470,  470,  470,  834, 1003,  832,  470,  470,  470,  470,
> -      470,  470,  828,  870,  870,  870,  870,  870,  870,  870,
> -     1057, 1005,  830, 1005,  992,  827,  830, 1003,  992, 1003,
> -     1003, 1057,  470,  470,  470,  470,  470,  470,  473,  473,
> -      473,  473,  473,  473,  473,  473,  473,  473,  473,  473,
> -      830,  870,  992,  473,  473,  473,  473,  473,  473,  840,
> -      840,  840,  840,  840,  840,  840,  840,  840,  840,  840,
> -      882,  882,  882,  882,  882,  882,  826, 1229, 1113,  473,
> -
> -      473,  473,  473,  473,  473,  476, 1005,  997,  476, 1069,
> -     1113,  997, 1135,  790,  476,  476,  782, 1069,  476,  476,
> -     1135,  476,  476,  476,  476,  476,  476,  476,  476,  476,
> -      476,  476,  476,  476,  476,  997, 1229,  476,  476,  476,
> -      476,  476,  476,  476,  476,  476,  476,  476,  476,  476,
> -      476,  476,  476,  476,  476,  476,  476,  476,  476,  476,
> -      476,  476,  476,  476,  476,  476,  476,  476,  476,  476,
> -      476,  476,  476,  476,  476,  476,  476,  476,  476,  476,
> -      476,  522,  522,  522,  522,  522,  522,  522,  522,  522,
> -      522,  522, 1272, 1272, 1272,  522,  522,  522,  522,  522,
> -
> -      522,  841,  841,  841,  841,  841,  841,  841,  841,  841,
> -      841,  841,  899,  899,  899,  899,  899,  899, 1114,  781,
> -      780,  522,  522,  522,  522,  522,  522,  523,  775,  774,
> -     1114,  523,  523,  523,  523,  523,  523,  523,  523,  523,
> -      523,  523,  523,  523,  773,  772,  523,  523,  523,  523,
> -      523,  523,  523,  523,  523,  523,  523,  523,  523,  523,
> -      523,  523,  523,  523,  523,  523,  523,  523,  523, 1236,
> -      769,  523,  523,  523,  523,  523,  523,  523,  523,  523,
> -      523,  523,  523,  523,  523,  523,  523,  523,  523,  524,
> -     1236,  768,  765,  524,  842,  842,  842,  842,  842,  842,
> -
> -      842,  842,  842,  842,  842,  764, 1116,  524,  524,  524,
> -      524,  524,  524,  524,  524,  524,  524,  524, 1116,  762,
> -      761,  524,  524,  524,  524,  524,  524,  760,  866,  866,
> -      866,  866,  866,  866,  866,  866,  866,  866,  926,  926,
> -      926,  926,  926,  926,  926,  753,  739,  524,  524,  524,
> -      524,  524,  524,  545,  738,  545,  545,  545,  545,  545,
> -      545,  545,  545,  545,  545,  866,  873,  873,  873,  873,
> -      873,  873,  873,  873,  873,  873,  875,  875,  875,  875,
> -      875,  875,  875,  875,  875,  875,  970,  970,  970,  970,
> -      970,  970,  545,  546, 1130,  546,  546,  546,  546,  546,
> -
> -      546,  546,  546,  546,  546,  879, 1130,  879,  879,  879,
> -      879,  879,  879, 1304, 1304, 1304, 1164,  879,  881,  881,
> -      881,  881,  881,  881,  881,  881,  881,  881, 1164,  732,
> -      999,  726,  546,  569,  999,  569,  569,  569,  569,  569,
> -      569,  569,  569,  569,  569,  884,  725,  884,  884,  884,
> -      884,  884,  884,  884,  884,  884,  884,  885,  999,  885,
> -      885,  885,  885,  885,  885,  885,  885,  885,  885,  723,
> -     1014,  722,  569,  570, 1014,  570,  570,  570,  570,  570,
> -      570,  570,  570,  570,  570,  886,  721,  886,  886,  886,
> -      886,  886,  886,  886,  886,  886,  886,  887, 1014,  887,
> -
> -      887,  887,  887,  887,  887,  887,  887,  887,  887,  720,
> -      702,  681,  570,  571,  680,  571,  571,  571,  571,  571,
> -      571,  571,  571,  571,  571,  892,  892,  892,  892,  892,
> -      892,  892,  892,  892,  892,  896,  896,  896,  896,  896,
> -      896,  896,  896, 1371, 1371, 1073, 1073,  896, 1073, 1073,
> -     1371,  679,  571,  584,  584,  584,  584,  584,  584,  584,
> -      584,  584,  584,  584,  584,  584,  920,  678,  667,  584,
> -      584,  584,  584,  584,  584,  898,  898,  898,  898,  898,
> -      898,  898,  898,  898,  898,  666,  930, 1265, 1265,  920,
> -      930,  920,  920, 1265,  665,  584,  584,  584,  584,  584,
> -
> -      584,  587,  587,  587,  587,  587,  587,  587,  587,  587,
> -      587,  587,  587,  587,  930,  664,  920,  587,  587,  587,
> -      587,  587,  587,  900,  663,  900,  900,  900,  900,  900,
> -      900,  900,  900,  900,  900,  930, 1051, 1051, 1051, 1051,
> -     1051, 1051,  662,  587,  587,  587,  587,  587,  587,  590,
> -      590,  590,  590,  590,  590,  590,  590,  590,  590,  590,
> -      590,  661,  660,  659,  590,  590,  590,  590,  590,  590,
> -      922,  922,  922,  922,  922,  922,  922,  922,  922,  922,
> -      907, 1377, 1137, 1137,  907, 1137, 1137, 1377,  658,  657,
> -      590,  590,  590,  590,  590,  590,  652,  656,  652,  652,
> -
> -      652,  652,  652,  652,  652,  652,  652,  652,  907,  924,
> -      924,  924,  924,  924,  924,  924,  924,  924,  924,  924,
> -      911,  655,  651,  650,  911,  941,  941,  941,  941,  941,
> -      941,  941,  649,  648,  647,  652,  653,  907,  653,  653,
> -      653,  653,  653,  653,  653,  653,  653,  653,  911,  925,
> -      925,  925,  925,  925,  925,  925,  925,  925,  925,  925,
> -      912,  934,  935,  941,  912,  934,  935,  977,  637,  977,
> -      977,  977,  977,  977,  977,  653,  654,  911,  654,  654,
> -      654,  654,  654,  654,  654,  654,  654,  654,  912,  934,
> -      935,  937,  937,  937,  937,  937,  937,  937,  937,  937,
> -
> -      937,  945,  949,  950,  636,  945,  949,  950, 1293, 1293,
> -      934,  935,  633,  632, 1293,  654,  675,  912,  675,  675,
> -      675,  675,  675,  675,  675,  675,  675,  675,  937,  945,
> -      949,  950,  957,  624,  957,  957,  957,  957,  957,  957,
> -      957,  957,  957,  957, 1122, 1122, 1122, 1122, 1122, 1122,
> -      945,  949,  950, 1062,  623,  675,  676, 1062,  676,  676,
> -      676,  676,  676,  676,  676,  676,  676,  676,  958,  622,
> -      958,  958,  958,  958,  958,  958,  958,  958,  958,  958,
> -      959, 1062,  959,  959,  959,  959,  959,  959,  959,  959,
> -      959,  959,  614,  578,  577,  676,  682,  682,  682,  682,
> -
> -      682,  682,  682,  682,  682,  682,  682,  576,  575,  573,
> -      682,  682,  682,  682,  682,  682,  963,  963,  963,  963,
> -      963,  963,  963,  963,  963,  963,  969,  969,  969,  969,
> -      969,  969,  969,  969,  969,  969,  682,  682,  682,  682,
> -      682,  682,  692,  692,  692,  692,  692,  692,  692,  692,
> -      692,  692,  692,  692,  692,  572,  564,  563,  692,  692,
> -      692,  692,  692,  692,  967,  562,  967,  967,  967,  967,
> -      967,  967,  561,  560,  559, 1039,  967, 1039, 1039, 1039,
> -     1039, 1039, 1039,  558,  692,  692,  692,  692,  692,  692,
> -      695,  695,  695,  695,  695,  695,  695,  695,  695,  695,
> -
> -      695,  695,  695,  557,  556,  555,  695,  695,  695,  695,
> -      695,  695,  972,  552,  972,  972,  972,  972,  972,  972,
> -      972,  972,  972,  972,  985,  985,  985,  985,  985,  985,
> -      985,  985,  695,  695,  695,  695,  695,  695,  698,  698,
> -      698,  698,  698,  698,  698,  698,  698,  698,  698,  698,
> -      551,  549,  542,  698,  698,  698,  698,  698,  698,  973,
> -      973,  973,  973,  973,  973,  973,  973,  973,  973,  541,
> -     1076, 1033, 1076, 1033, 1033, 1033, 1033, 1033, 1033,  698,
> -      698,  698,  698,  698,  698,  756,  540,  756,  756,  756,
> -      756,  756,  756,  756,  756,  756,  756,  975,  518,  975,
> -
> -      975,  975,  975,  975,  975,  975,  975,  975,  975,  976,
> -     1033,  976,  976,  976,  976,  976,  976,  976,  976,  976,
> -      976,  510,  988,  509,  756,  757,  988,  757,  757,  757,
> -      757,  757,  757,  757,  757,  757,  757, 1007,  508,  507,
> -     1076, 1007, 1007, 1007, 1007, 1176, 1176, 1008, 1176, 1176,
> -      988, 1008, 1008, 1008, 1008, 1294, 1294,  506,  990, 1065,
> -      505, 1294,  990, 1065,  757,  777,  777,  777,  777,  777,
> -      777,  777,  777,  777,  777,  777,  500,  499, 1048,  988,
> -     1048, 1048, 1048, 1048, 1048, 1048,  990, 1065,  496,  467,
> -     1048, 1089, 1007, 1089, 1089, 1089, 1089, 1089, 1089,  466,
> -
> -      463,  462, 1008,  777,  778,  778,  778,  778,  778,  778,
> -      778,  778,  778,  778,  778,  990, 1009,  447, 1009, 1009,
> -     1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1010,  446,
> -     1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010,
> -      445,  444,  778,  779,  779,  779,  779,  779,  779,  779,
> -      779,  779,  779,  779, 1011,  443, 1011, 1011, 1011, 1011,
> -     1011, 1011, 1011, 1011, 1011, 1011, 1012,  442, 1012, 1012,
> -     1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,  441, 1091,
> -      440,  779,  784, 1091,  784,  784,  784,  784,  784,  784,
> -      784,  784,  784,  784,  784,  439,  438,  437,  784,  784,
> -
> -      784,  784,  784,  784,  436, 1202, 1202, 1091, 1202, 1202,
> -     1322, 1322,  435, 1013, 1023, 1024, 1322, 1013, 1023, 1024,
> -      434,  431,  425,  423,  784,  784,  784,  784,  784,  784,
> -      787,  787,  787,  787,  787,  787,  787,  787,  787,  787,
> -      787, 1013, 1023, 1024,  787,  787,  787,  787,  787,  787,
> -      421,  420, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029,
> -     1029, 1029, 1013, 1023, 1024,  419,  418,  417,  416,  415,
> -      787,  787,  787,  787,  787,  787,  800,  800,  800,  800,
> -      800,  800,  800,  800,  800,  800,  800,  800,  800, 1029,
> -      414,  413,  800,  800,  800,  800,  800,  800, 1035, 1035,
> -
> -     1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1044, 1044,
> -     1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044,  800,  800,
> -      800,  800,  800,  800,  803,  803,  803,  803,  803,  803,
> -      803,  803,  803,  803,  803,  803,  803,  412,  411,  410,
> -      803,  803,  803,  803,  803,  803, 1037,  409, 1037, 1037,
> -     1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1101,  408,
> -     1311,  405, 1101, 1311,  390, 1311,  803,  803,  803,  803,
> -      803,  803,  806,  806,  806,  806,  806,  806,  806,  806,
> -      806,  806,  806,  386,  385,  384, 1101,  806,  806,  806,
> -      806,  806,  806, 1038,  383, 1038, 1038, 1038, 1038, 1038,
> -
> -     1038, 1038, 1038, 1038, 1038, 1328, 1328, 1101,  376,  375,
> -      374, 1328,  373,  806,  806,  806,  806,  806,  806,  809,
> -     1082, 1335,  809, 1082, 1335,  372, 1335,  371,  809,  809,
> -     1082, 1082,  809,  809, 1082,  809,  809,  809,  809,  809,
> -      809,  809,  809,  809,  809,  809,  809,  809, 1082, 1082,
> -     1082,  809,  809,  809,  809,  809,  809,  809,  809,  809,
> -      809,  809,  809,  809,  809,  809,  809,  809,  809,  809,
> -      809,  809,  809,  809,  809,  809,  809,  809,  809,  809,
> -      809,  809,  809,  809,  809,  809,  809,  809,  809,  809,
> -      809,  809,  809,  809,  809,  843,  369,  368,  367,  843,
> -
> -      843,  843,  843,  843,  843,  843,  843,  843,  843,  843,
> -      366,  843,  365,  364,  843,  843,  843,  843,  843,  843,
> -      843,  843,  843,  843,  843,  843,  843,  843,  843,  843,
> -      843,  843,  843,  843,  843,  843,  843,  363,  362,  843,
> -      843,  843,  843,  843,  843,  843,  843,  843,  843,  843,
> -      843,  843,  843,  843,  843,  843,  843,  853,  853,  853,
> -      853,  853,  853,  853,  853,  853,  853,  853, 1050, 1050,
> -     1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1053,  361,
> -     1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
> -      360,  359,  358,  357,  355,  853,  854,  854,  854,  854,
> -
> -      854,  854,  854,  854,  854,  854,  854, 1054, 1054, 1054,
> -     1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1055, 1055,
> -     1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1067,
> -      354,  347,  346, 1067,  854,  855,  855,  855,  855,  855,
> -      855,  855,  855,  855,  855,  855, 1056, 1056, 1056, 1056,
> -     1056, 1056, 1056, 1056, 1056, 1056, 1056, 1067, 1081,  332,
> -      328, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081, 1081,
> -     1081,  327,  325,  855,  856, 1131, 1144,  856,  324, 1131,
> -     1144,  323,  322,  856,  856,  321, 1067,  856,  856,  320,
> -      856,  856,  856,  856,  856,  856,  856,  856,  856,  856,
> +       47,   47,   47,   47,   47,   47,   47,   47,   47,  219,
> +     1166,  219,   47,   47,   47,   47,   47,   47,  332,  393,
> +      332,  259,   47,  393,  166,  259,   47,  166,  166,  166,
> +      166,  166,  166,  166,  166,  166,  166,  386,   47,   47,
> +       47,   47,   47,   47,   56,   56,  374,   56,   56,   56,
> +       56,   56,  296,  386,   56,   56,  296,  330,   56,  171,
> +
> +      171,  374, 1154,  330,  171,  171,  180,  180,  180,  180,
> +      180,  180,   56,   56,   56,   57,  259,  219,  469,   57,
> +       57,   57,  345,   57,  171,   57,   57,  345,  343,   57,
> +      168,  168,  168,  168,  168,  469,  225,  168,  168,  343,
> +      225,  168,  459,   57,   57,   57,  333,  296,  333,  171,
> +      225,  264,  381,  459,  381,  168,  168,  168,  178,  178,
> +      178,  178,  178,  178,  178,  178,  178,  178,  382,  460,
> +       57,   61,  264,   61,  382,  170,  170,  170,  170,  170,
> +      460,  385,  170,  170,  385,   61,  170,  567,   61,   61,
> +       61,   61,   61,   61,   61,   61,   61,   61,  567,  264,
> +
> +      170,  170,  170,  174,  174,  174,  174,  174,  174,  174,
> +      174,  174,  174,  179,  179,  179,  179,  179,  179,  179,
> +      179,  179,  179,  206,  206,  210,  206,  206,  210,  292,
> +      292, 1153,  210,  210,  213,  492,   61,   75,  213,  392,
> +      174,   75,   75,   75,  380,   75,  380,   75,   75,  196,
> +      196,   75,  389,  196,  392,  196,  196,  416,  416,  196,
> +      416,  196,  196, 1151,  492,   75,   75,   75,  213,  213,
> +      229,  229,  415,  213,  443,  229,  229,  292,  206,  236,
> +      210,  213,  236,  265,  213,  471,  236,  236,  445,  443,
> +      445,  479,   75,   83,   83,  229,   83,   83,   83,  389,
> +
> +       83,  479,  471,  380,  265,   83,  466,   83,  227,  227,
> +      227,  227,  227,  227,  227,  227,  227,  227,  466,  415,
> +      229,   83,   83,  232,  232, 1150,  446,  232,  446,  232,
> +      232,  265,  468,  232,  236,  232,  248,  248,  483,  248,
> +      248,  256,  256,  481,  256,  256,  472,  483,   83,   83,
> +       92,  468,   92,  249,  249,  249,  249,  249,  249,  249,
> +      249,  249,  249,  481,   92,  472,  489,   92,   92,   92,
> +       92,   92,   92,   92,   92,   92,   92,  108,  261,  261,
> +      108,  261,  261,  489,  470,  252,  108,  108,  470,  252,
> +      108,  252,  252,  108,  108,  328,  256,  272,  328,  252,
> +
> +     1146,  272,  328,  328,  272,  373,  373,  108,  373,  108,
> +      528,  272,  470,  528,  252,  273,  273,  273,  273,  273,
> +      273,  273,  273,  273,  273,  272,  272,  278,  278,  278,
> +      278,  278,  278,  108,  108,  108,  109,  477,  802,  109,
> +      373,  802,  109,  109,  486,  109,  109,  109,  109,  109,
> +      328,  477,  109,  109,  266,  266,  266,  266,  456,  456,
> +      456,  266,  266,  488,  486,  266,  109,  109,  109,  276,
> +      276,  276,  276,  276,  276,  276,  276,  276,  276,  488,
> +      266,  266,  277,  277,  277,  277,  277,  277,  277,  277,
> +      277,  277,  109,  109,  109,  110,  504,  581,  110,  110,
> +
> +      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
> +      110,  110,  581,  504,  110,  110,  110,  110,  110,  110,
> +      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
> +      110,  110,  110,  110,  110,  110,  110,  473, 1139,  505,
> +      110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
> +      110,  110,  110,  110,  110,  110,  110,  113,  473,  113,
> +      113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
> +      478,  476,  484,  113,  113,  113,  113,  113,  113,  476,
> +      484,  270,  270,  270,  270,  270,  505,  491,  270,  270,
> +      491,  478,  270,  312,  312,  312,  312,  312,  312,  113,
>  
> -      856,  856,  856, 1131, 1144,  314,  856,  856,  856,  856,
> -      856,  856,  856,  856,  856,  856,  856,  856,  856,  856,
> -      856,  856,  856,  856,  856,  856,  856,  856,  856,  856,
> -      856,  856,  856,  856,  856,  856,  856,  856,  856,  856,
> +      113,  113,  113,  113,  113,  114,  270,  270,  270,  114,
> +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
> +      114,  114,  491,  485,  114,  114,  114,  114,  114,  114,
> +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
> +      114,  114,  114,  114,  114,  114,  114,  485, 1133,  114,
> +      114,  114,  114,  114,  114,  114,  114,  114,  114,  114,
> +      114,  114,  114,  114,  114,  114,  114,  118,  118,  118,
> +      118,  118,  118,  118,  118,  118,  118,  118,  480,  537,
> +      494,  118,  118,  118,  118,  118,  118,  494,  288,  288,
> +      480,  118,  288,  482,  288,  288, 1117,  594,  288,  475,
> +
> +      288,  442,  442,  475,  442,  594,  537,  118,  118,  118,
> +      118,  118,  118,  137,  482,  137,  137,  137,  137,  137,
> +      137,  137,  137,  137,  137,  137,  493,  475,  506,  137,
> +      137,  137,  137,  137,  137,  506,  442,  474,  608,  556,
> +      299,  299,  299,  299,  299,  503,  556,  299,  299,  474,
> +      580,  299,  137,  533,  474,  137,  137,  137,  137,  137,
> +      137,  140,  493,  517,  140,  299,  299,  299,  517,  580,
> +      140,  140,  503,  608,  140,  140, 1116,  140,  140,  140,
> +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
> +      140,  503,  533,  140,  140,  140,  140,  140,  140,  140,
> +
> +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
> +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
> +      140,  140,  140,  140,  140,  140,  140,  140,  140,  140,
> +      140,  140,  140,  140,  140,  140,  140,  144,  144,  144,
> +      144,  144,  144,  144,  144,  144,  144,  144,  849,  555,
> +      849,  144,  144,  144,  144,  144,  144,  553,  321,  321,
> +      553,  144,  321, 1112,  321,  321,  304,  304,  321,  542,
> +      321,  304,  304,  501,  542,  501,  597,  144,  144,  144,
> +      144,  144,  144,  151,  151,  555,  151,  151,  151,  151,
> +      151,  304,  553,  151,  151, 1100,  597,  151,  307,  307,
> +
> +      307,  307,  307,  307,  307,  307,  307,  307,  587,  554,
> +      585,  151,  151,  151,  152,  598,  304,  518,  152,  152,
> +      152,  518,  152,  598,  152,  152,  587,  593,  152,  301,
> +      301,  301,  301,  301,  585,  307,  301,  301,  554,  501,
> +      301,  593,  152,  152,  152,  518,  586,  325,  325,  588,
> +      325,  325,  586,  592,  301,  301,  301,  582,  596,  592,
> +      303,  303,  303,  303,  303,  588,  919,  303,  303,  152,
> +      173,  303,  596,  173,  173,  173,  173,  173,  582,  919,
> +      173,  173,  605,  606,  173,  303,  303,  303,  310,  310,
> +      310,  310,  310,  310,  310,  310,  310,  310,  173,  173,
> +
> +      173,  175,  325,  175,  175,  175,  175,  175,  175,  175,
> +      175,  175,  175,  175,  606,  605, 1099,  175,  175,  175,
> +      175,  175,  175,  311,  311,  311,  311,  311,  311,  311,
> +      311,  311,  311,  463,  463,  463,  463,  463,  463,  589,
> +      175,  569,  569,  175,  175,  175,  175,  175,  175,  184,
> +      601,  539,  184,  569,  609,  539,  692,  601,  184,  184,
> +      609,  589,  184,  184,  692,  184,  184,  184,  184,  184,
> +      184,  184,  184,  184,  184,  184,  184,  184,  184,  539,
> +     1091,  184,  184,  184,  184,  184,  184,  184,  184,  184,
> +      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
> +
> +      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
> +      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
> +      184,  184,  184,  184,  184,  185,  185,  185,  185,  185,
> +      185,  185,  185,  185,  185,  185, 1060,  659, 1060,  185,
> +      185,  185,  185,  185,  185,  334,  334,  334,  334,  334,
> +      334,  334,  334,  334,  334,  335,  335,  335,  335,  335,
> +      335,  335,  335,  335,  335,  185,  185,  185,  185,  185,
> +      185,  207,  659,  701,  521,  207,  207,  207,  521,  207,
> +      387,  207,  207,  599,  387,  207,  451,  387,  451,  451,
> +      451,  451,  451,  451,  387,  595,  600,  701, 1090,  207,
> +
> +      207,  207,  521,  607,  599,  600,  603,  515,  387,  387,
> +      394,  515,  394,  394,  394,  394,  394,  394,  394,  394,
> +      394,  394,  616,  521,  595,  451,  207,  231,  616,  603,
> +      231,  231,  231,  231,  231,  515,  607,  231,  231, 1082,
> +      395,  231,  395,  395,  395,  395,  395,  395,  395,  395,
> +      395,  395,  515,  660,  657,  231,  231,  231,  233,  660,
> +      656,  516,  233,  233,  233,  516,  233,  662,  233,  233,
> +      604,  396,  233,  396,  396,  396,  396,  396,  396,  396,
> +      396,  396,  396,  571,  571,  657,  233,  233,  233,  516,
> +      418,  855,  604,  656,  418,  571,  511,  418,  511,  511,
> +
> +      511,  511,  511,  511,  418,  613,  662,  613,  516,  614,
> +      615,  689,  658,  233,  268,  671,  813,  268,  418,  418,
> +      813,  614,  615,  268,  268,  694,  671,  268,  689,  855,
> +      268,  268,  447,  447,  447,  447,  447,  447,  447,  447,
> +      447,  447,  743,  694,  268,  658,  268,  455,  455,  455,
> +      455,  455,  455,  455,  455,  455,  455,  455,  462,  462,
> +      462,  462,  462,  462,  462,  462,  462,  462,  688,  447,
> +      268,  268,  268,  271,  688,  697,  271,  675,  613,  271,
> +      271,  743,  271,  271,  271,  271,  271, 1081,  675,  271,
> +      271,  465,  697,  465,  465,  465,  465,  465,  465,  465,
> +
> +      465,  465,  465,  271,  271,  271,  507,  507,  507,  507,
> +      507,  507,  507,  507,  507,  507,  509,  702,  509,  509,
> +      509,  509,  509,  509,  509,  509,  509,  509,  693,  271,
> +      271,  271,  274,  702,  274,  274,  274,  274,  274,  274,
> +      274,  274,  274,  274,  274,  695, 1080,  693,  274,  274,
> +      274,  274,  274,  274,  510,  699,  510,  510,  510,  510,
> +      510,  510,  510,  510,  510,  510,  695,  699, 1209,  543,
> +      676,  676,  699,  543,  274,  274,  274,  274,  274,  274,
> +      279,  704,  676, 1209,  279,  279,  279,  279,  279,  279,
> +      279,  279,  279,  279,  279,  279,  279,  543,  704,  279,
> +
> +      279,  279,  279,  279,  279,  279,  279,  279,  279,  279,
> +      279,  279,  279,  279,  279,  279,  279,  279,  279,  279,
> +      279,  279,  800,  800,  279,  279,  279,  279,  279,  279,
> +      279,  279,  279,  279,  279,  279,  279,  279,  279,  279,
> +      279,  279,  280,  280,  280,  280,  280,  280,  280,  280,
> +      280,  280,  280,  677,  677,  698,  280,  280,  280,  280,
> +      280,  280,  522,  703,  808,  677,  522,  808,  519,  520,
> +      712,  703,  519,  520,  698,  523, 1078,  679,  679,  523,
> +      707,  712,  280,  280,  280,  280,  280,  280,  306,  679,
> +      522,  306,  306,  306,  306,  306,  519,  520,  306,  306,
> +
> +      522,  707,  306,  523,  519,  524,  525,  731,  754,  524,
> +      525,  520,  731,  754,  717,  523,  306,  306,  306,  308,
> +     1074,  308,  308,  308,  308,  308,  308,  308,  308,  308,
> +      308,  308,  717,  524,  525,  308,  308,  308,  308,  308,
> +      308,  716,  812,  583,  590,  526,  622,  583,  590,  526,
> +      622,  806,  716,  524,  812,  525,  806,  718,  308,  803,
> +      803,  308,  308,  308,  308,  308,  308,  313,  718, 1052,
> +      313,  583,  590,  526,  622,  796,  313,  313,  932,  932,
> +      313,  313,  796,  313,  313,  313,  313,  313,  313,  313,
> +      313,  313,  313,  313,  313,  313,  313,  526,  622,  313,
> +
> +      313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
> +      313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
> +      313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
> +      313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
> +      313,  313,  313,  314,  314,  314,  314,  314,  314,  314,
> +      314,  314,  314,  314,  764,  782,  891,  314,  314,  314,
> +      314,  314,  314,  527,  891,  764,  782,  527,  532,  532,
> +      532,  532,  532,  532,  532,  532,  532,  532,  691,  715,
> +      821,  715,  691,  314,  314,  314,  314,  314,  314,  326,
> +      783,  527,  835,  326,  326,  326,  834,  326,  821,  326,
> +
> +      326,  783,  834,  326,  835,  532,  691,  527, 1046,  574,
> +      574,  574,  574,  574,  574,  574,  574,  326,  326,  326,
> +      536,  574,  536,  536,  536,  536,  536,  536,  562,  562,
> +      562,  562,  562,  562,  562,  562,  562,  562,  562,  715,
> +      809,  826, 1029,  809,  326,  336,  838,  336,  336,  336,
> +      336,  336,  336,  336,  336,  336,  336,  838,  826,  536,
> +      568,  568,  568,  568,  568,  568,  568,  568,  568,  568,
> +      570,  570,  570,  570,  570,  570,  570,  570,  570,  570,
> +      825,  839, 1028,  825,  336,  337,  839,  337,  337,  337,
> +      337,  337,  337,  337,  337,  337,  337,  576,  576,  576,
> +
> +      576,  576,  576,  576,  576,  576,  576,  577,  577,  577,
> +      577,  577,  577,  661,  661,  661,  661,  661,  661,  661,
> +      661,  661,  661, 1024,  337,  338,  848,  338,  338,  338,
> +      338,  338,  338,  338,  338,  338,  338,  579,  848,  579,
> +      579,  579,  579,  579,  579,  579,  579,  579,  579,  617,
> +      661,  617,  617,  617,  617,  617,  617,  617,  617,  617,
> +      617,  824,  926,  824,  338,  339,  339,  339,  339,  339,
> +      339,  339,  339,  339,  339,  339,  969,  969, 1013,  339,
> +      339,  339,  339,  339,  339,  618,  862,  618,  618,  618,
> +      618,  618,  618,  618,  618,  618,  618,  801,  862,  845,
> +
> +      926, 1006,  339,  845,  801,  339,  339,  339,  339,  339,
> +      339,  342,  342,  342,  342,  342,  342,  342,  342,  342,
> +      342,  342,  824, 1005,  896,  342,  342,  342,  342,  342,
> +      342,  619,  827,  619,  619,  619,  619,  619,  619,  619,
> +      619,  619,  619,  628,  850,  896, 1003,  628,  850,  902,
> +      827,  342,  342,  342,  342,  342,  342,  344,  344,  344,
> +      344,  344,  344,  344,  344,  344,  344,  344,  344,  994,
> +      902,  628,  344,  344,  344,  344,  344,  344,  623,  628,
> +      632,  626,  623,  634,  632,  626,  672,  634,  672,  672,
> +      672,  672,  672,  672,  672,  672,  672,  672,  344,  344,
> +
> +      344,  344,  344,  344,  346,  852,  623,  346,  632,  626,
> +      852,  634,  623,  346,  346,  626,  632,  346,  346, 1048,
> +      346,  346,  346,  346,  346,  346,  346,  346,  346,  346,
> +      346,  346,  346,  346,  634, 1048,  346,  346,  346,  346,
> +      346,  346,  346,  346,  346,  346,  346,  346,  346,  346,
> +      346,  346,  346,  346,  346,  346,  346,  346,  346,  346,
> +      346,  346,  346,  346,  346,  346,  346,  346,  346,  346,
> +      346,  346,  346,  346,  346,  346,  346,  346,  346,  346,
> +      347,  347,  347,  347,  347,  347,  347,  347,  347,  347,
> +      347,  784,  784,  990,  347,  347,  347,  347,  347,  347,
> +
> +      627,  629,  847,  784,  627,  629,  864,  630,  847,  935,
> +      633,  630,  935,  631,  633,  696,  851,  631,  864,  696,
> +      347,  347,  347,  347,  347,  347,  371,  851,  627,  629,
> +      371,  371,  371,  853,  371,  630,  371,  371,  633,  876,
> +      371,  631,  627,  696,  893,  633,  877,  785,  785,  630,
> +      876,  853,  893,  989,  371,  371,  371,  877,  629,  785,
> +      665,  631,  665,  665,  665,  665,  665,  665,  673,  897,
> +      673,  673,  673,  673,  673,  673,  673,  673,  673,  673,
> +      897,  371,  372,  787,  787,  889,  372,  372,  372,  372,
> +      372,  889,  372,  372, 1004,  787,  372, 1004,  674,  665,
> +
> +      674,  674,  674,  674,  674,  674,  674,  674,  674,  674,
> +      372,  372,  372,  678,  678,  678,  678,  678,  678,  678,
> +      678,  678,  678,  682,  682,  682,  682,  682,  682,  682,
> +      682,  962,  894,  878,  878,  682,  700,  372,  390,  894,
> +      700,  892,  390,  390,  390,  878,  390,  892,  390,  390,
> +      934, 1018,  390,  684,  684,  684,  684,  684,  684,  684,
> +      684,  684,  684,  934,  700,  966,  390,  390,  390,  685,
> +      685,  685,  685,  685,  685,  687,  966,  687,  687,  687,
> +      687,  687,  687,  687,  687,  687,  687,  705,  706,  898,
> +     1018,  705,  706,  390,  391,  970,  970,  898,  391,  391,
> +
> +      391,  391,  391,  907,  391,  391,  949,  723,  391,  723,
> +      723,  723,  723,  723,  723,  705,  706,  993,  949,  993,
> +      907,  948,  391,  391,  391,  719,  719,  719,  719,  719,
> +      719,  719,  719,  719,  719,  721,  950,  721,  721,  721,
> +      721,  721,  721,  721,  721,  721,  721,  944,  950,  391,
> +      397,  397,  397,  397,  397,  397,  397,  397,  397,  397,
> +      397, 1015, 1015, 1224,  397,  397,  397,  397,  397,  397,
> +      722,  952,  722,  722,  722,  722,  722,  722,  722,  722,
> +      722,  722,  993,  952, 1224,  724,  879,  879,  967,  724,
> +      397,  397,  397,  397,  397,  397,  399, 1186,  879,  967,
> +
> +      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
> +      399,  399,  399,  724, 1186,  399,  399,  399,  399,  399,
> +      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
> +      399,  399,  399,  399,  399,  399,  399,  399, 1047, 1047,
> +      399,  399,  399,  399,  399,  399,  399,  399,  399,  399,
> +      399,  399,  399,  399,  399,  399,  399,  399,  400,  400,
> +      400,  400,  400,  400,  400,  400,  400,  400,  400, 1063,
> +      939, 1063,  400,  400,  400,  400,  400,  400,  771,  771,
> +      771,  771,  771,  771,  771,  771,  771,  771,  725,  728,
> +      729,  730,  725,  728,  729,  730,  977,  936,  400,  400,
> +
> +      400,  400,  400,  400,  419,  977,  419,  419,  419,  419,
> +      419,  419,  419,  419,  419,  419,  725,  728,  729,  730,
> +      974,  931,  992,  992,  725,  992,  992, 1022,  732,  733,
> +      734,  974,  732,  733,  734,  729,  735,  736,  730, 1014,
> +      735,  736, 1014,  419,  420,  921,  420,  420,  420,  420,
> +      420,  420,  420,  420,  420,  420,  732,  733,  734,  881,
> +      881,  979,  920,  983,  735,  736, 1022,  917,  747,  979,
> +      983,  881,  747,  746,  734,  746,  746,  746,  746,  746,
> +      746,  733, 1016,  420,  421, 1016,  421,  421,  421,  421,
> +      421,  421,  421,  421,  421,  421,  747, 1092, 1092,  742,
> +
> +      742,  742,  742,  742,  742,  742,  742,  742,  742,  751,
> +      755,  758,  746,  751,  755,  758,  916, 1056,  759, 1189,
> +      911, 1189,  759,  421,  422, 1056,  422,  422,  422,  422,
> +      422,  422,  422,  422,  422,  422,  742,  751,  755,  758,
> +      422,  422,  422,  422,  422,  422,  759,  773,  773,  773,
> +      773,  773,  773,  773,  773,  773,  773,  774,  774,  774,
> +      774,  774,  774, 1158,  909,  905,  422,  422,  422,  422,
> +      422,  422,  424,  424,  424,  424,  424,  424,  424,  424,
> +      424,  424,  975, 1158,  904,  903,  424,  424,  424,  424,
> +      424,  424,  776,  975,  776,  776,  776,  776,  776,  776,
> +
> +      776,  776,  776,  776,  781, 1084,  781,  781,  781,  781,
> +      781,  781,  424,  424,  424,  424,  424,  424,  440,  968,
> +      968,  901,  440,  440,  440, 1192,  440, 1192,  440,  440,
> +      860,  968,  440,  777,  777,  777,  777,  777,  777,  777,
> +      777,  777,  777,  859, 1084,  846,  440,  440,  440,  779,
> +     1030,  779,  779,  779,  779,  779,  779,  779,  779,  779,
> +      779,  780, 1030,  780,  780,  780,  780,  780,  780,  780,
> +      780,  780,  780,  440,  441,  982,  984, 1365,  441,  441,
> +      441,  441,  441, 1365,  441,  441,  982,  984,  441,  786,
> +      786,  786,  786,  786,  786,  786,  786,  786,  786,  840,
> +
> +      837, 1031,  441,  441,  441,  790,  790,  790,  790,  790,
> +      790,  790,  790, 1031,  836,  833, 1033,  790,  792,  792,
> +      792,  792,  792,  792,  792,  792,  792,  792, 1033,  441,
> +      449,  832,  449,  449,  449,  449,  449,  449,  449,  449,
> +      449,  449,  793,  793,  793,  793,  793,  793,  795,  823,
> +      795,  795,  795,  795,  795,  795,  795,  795,  795,  795,
> +      798,  804,  810,  816,  798,  804,  810,  816, 1088,  449,
> +      450,  991,  450,  450,  450,  450,  450,  450,  450,  450,
> +      450,  450,  870,  870,  870,  870,  870,  870,  798,  804,
> +      810,  816,  822,  820,  991,  818,  991,  991, 1049,  818,
> +
> +      887,  887,  887,  887,  887,  887,  815, 1088, 1049,  450,
> +      461,  461,  461,  461,  461,  461,  461,  461,  461,  461,
> +      461,  461,  461,  818,  814,  778,  461,  461,  461,  461,
> +      461,  461,  828,  828,  828,  828,  828,  828,  828,  828,
> +      828,  828,  828,  918, 1058,  906,  906,  918,  906,  906,
> +      770, 1058,  461,  461,  461,  461,  461,  461,  464,  464,
> +      464,  464,  464,  464,  464,  464,  464,  464,  464,  464,
> +      908,  918,  769,  464,  464,  464,  464,  464,  464,  829,
> +      829,  829,  829,  829,  829,  829,  829,  829,  829,  829,
> +      768,  763,  918,  908,  762,  908,  908, 1141, 1045,  464,
> +
> +      464,  464,  464,  464,  464,  467,  906,  980,  467, 1045,
> +      761,  980,  760,  757,  467,  467,  756,  753,  467,  467,
> +      908,  467,  467,  467,  467,  467,  467,  467,  467,  467,
> +      467,  467,  467,  467,  467,  980, 1141,  467,  467,  467,
> +      467,  467,  467,  467,  467,  467,  467,  467,  467,  467,
> +      467,  467,  467,  467,  467,  467,  467,  467,  467,  467,
> +      467,  467,  467,  467,  467,  467,  467,  467,  467,  467,
> +      467,  467,  467,  467,  467,  467,  467,  467,  467,  467,
> +      467,  512,  512,  512,  512,  512,  512,  512,  512,  512,
> +      512,  512, 1260, 1260, 1260,  512,  512,  512,  512,  512,
> +
> +      512,  830,  830,  830,  830,  830,  830,  830,  830,  830,
> +      830,  830,  914,  914,  914,  914,  914,  914,  914,  752,
> +     1057,  512,  512,  512,  512,  512,  512,  513, 1057,  750,
> +     1172,  513,  513,  513,  513,  513,  513,  513,  513,  513,
> +      513,  513,  513,  513,  749,  748,  513,  513,  513,  513,
> +      513,  513,  513,  513,  513,  513,  513,  513,  513,  513,
> +      513,  513,  513,  513,  513,  513,  513,  513,  513, 1172,
> +      741,  513,  513,  513,  513,  513,  513,  513,  513,  513,
> +      513,  513,  513,  513,  513,  513,  513,  513,  513,  514,
> +     1200, 1217, 1101,  514,  854,  854,  854,  854,  854,  854,
> +
> +      854,  854,  854,  854, 1101,  727, 1102,  514,  514,  514,
> +      514,  514,  514,  514,  514,  514,  514,  514, 1102, 1123,
> +      726,  514,  514,  514,  514,  514,  514, 1123,  720, 1200,
> +     1217,  854,  858,  858,  858,  858,  858,  858,  858,  958,
> +      958,  958,  958,  958,  958,  714,  713,  514,  514,  514,
> +      514,  514,  514,  534,  711,  534,  534,  534,  534,  534,
> +      534,  534,  534,  534,  534, 1061, 1061,  710, 1061, 1061,
> +      858,  861,  861,  861,  861,  861,  861,  861,  861,  861,
> +      861,  863,  863,  863,  863,  863,  863,  863,  863,  863,
> +      863,  709,  534,  535, 1104,  535,  535,  535,  535,  535,
> +
> +      535,  535,  535,  535,  535,  867, 1104,  867,  867,  867,
> +      867,  867,  867, 1292, 1292, 1292, 1118,  867,  869,  869,
> +      869,  869,  869,  869,  869,  869,  869,  869, 1118,  708,
> +      985,  690,  535,  557,  985,  557,  557,  557,  557,  557,
> +      557,  557,  557,  557,  557,  872,  669,  872,  872,  872,
> +      872,  872,  872,  872,  872,  872,  872,  873,  985,  873,
> +      873,  873,  873,  873,  873,  873,  873,  873,  873,  668,
> +      987,  667,  557,  558,  987,  558,  558,  558,  558,  558,
> +      558,  558,  558,  558,  558,  874,  666,  874,  874,  874,
> +      874,  874,  874,  874,  874,  874,  874,  875,  987,  875,
> +
> +      875,  875,  875,  875,  875,  875,  875,  875,  875,  655,
> +      654,  653,  558,  559,  652,  559,  559,  559,  559,  559,
> +      559,  559,  559,  559,  559,  880,  880,  880,  880,  880,
> +      880,  880,  880,  880,  880,  884,  884,  884,  884,  884,
> +      884,  884,  884,  651, 1064,  650, 1064,  884, 1157, 1157,
> +     1157, 1157,  559,  572,  572,  572,  572,  572,  572,  572,
> +      572,  572,  572,  572,  572,  572,  649,  648,  647,  572,
> +      572,  572,  572,  572,  572,  886,  886,  886,  886,  886,
> +      886,  886,  886,  886,  886,  910,  910,  910,  910,  910,
> +      910,  910,  910,  910,  910,  572,  572,  572,  572,  572,
> +
> +      572,  575,  575,  575,  575,  575,  575,  575,  575,  575,
> +      575,  575,  575,  575, 1064,  646,  645,  575,  575,  575,
> +      575,  575,  575,  888,  644,  888,  888,  888,  888,  888,
> +      888,  888,  888,  888,  888,  929,  929,  929,  929,  929,
> +      929,  929,  643,  575,  575,  575,  575,  575,  575,  578,
> +      578,  578,  578,  578,  578,  578,  578,  578,  578,  578,
> +      578,  639,  638,  637,  578,  578,  578,  578,  578,  578,
> +      636,  635,  965,  929,  965,  965,  965,  965,  965,  965,
> +      895,  625, 1125, 1125,  895, 1125, 1125,  624,  621,  620,
> +      578,  578,  578,  578,  578,  578,  640,  612,  640,  640,
> +
> +      640,  640,  640,  640,  640,  640,  640,  640,  895,  912,
> +      912,  912,  912,  912,  912,  912,  912,  912,  912,  912,
> +      899,  611,  610,  945,  899,  945,  945,  945,  945,  945,
> +      945,  945,  945,  945,  945,  640,  641,  895,  641,  641,
> +      641,  641,  641,  641,  641,  641,  641,  641,  899,  913,
> +      913,  913,  913,  913,  913,  913,  913,  913,  913,  913,
> +      900,  922,  923,  602,  900,  922,  923,  973,  973,  973,
> +      973,  973,  973,  973,  973,  641,  642,  899,  642,  642,
> +      642,  642,  642,  642,  642,  642,  642,  642,  900,  922,
> +      923,  925,  925,  925,  925,  925,  925,  925,  925,  925,
> +
> +      925,  933,  937,  938,  566,  933,  937,  938, 1253, 1253,
> +      922,  923,  565,  564, 1253,  642,  663,  900,  663,  663,
> +      663,  663,  663,  663,  663,  663,  663,  663,  925,  933,
> +      937,  938,  946,  563,  946,  946,  946,  946,  946,  946,
> +      946,  946,  946,  946, 1039, 1039, 1039, 1039, 1039, 1039,
> +      933,  937,  938,  561,  560,  663,  664, 1152,  664,  664,
> +      664,  664,  664,  664,  664,  664,  664,  664,  947, 1152,
> +      947,  947,  947,  947,  947,  947,  947,  947,  947,  947,
> +      951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
> +     1164, 1164,  552, 1164, 1164,  664,  670,  670,  670,  670,
> +
> +      670,  670,  670,  670,  670,  670,  670,  551,  550,  549,
> +      670,  670,  670,  670,  670,  670,  955,  548,  955,  955,
> +      955,  955,  955,  955, 1281, 1281,  547, 1002,  955, 1050,
> +     1281, 1002,  546, 1050,  545,  544,  670,  670,  670,  670,
> +      670,  670,  680,  680,  680,  680,  680,  680,  680,  680,
> +      680,  680,  680,  680,  680, 1002,  541, 1050,  680,  680,
> +      680,  680,  680,  680,  957,  957,  957,  957,  957,  957,
> +      957,  957,  957,  957,  961,  961,  961,  961,  961,  961,
> +      961,  961,  961,  961,  680,  680,  680,  680,  680,  680,
> +      683,  683,  683,  683,  683,  683,  683,  683,  683,  683,
> +
> +      683,  683,  683,  540,  538,  531,  683,  683,  683,  683,
> +      683,  683,  960,  530,  960,  960,  960,  960,  960,  960,
> +      960,  960,  960,  960, 1001,  529, 1190, 1190, 1001, 1190,
> +     1190,  508,  683,  683,  683,  683,  683,  683,  686,  686,
> +      686,  686,  686,  686,  686,  686,  686,  686,  686,  686,
> +      500,  499, 1001,  686,  686,  686,  686,  686,  686,  963,
> +      498,  963,  963,  963,  963,  963,  963,  963,  963,  963,
> +      963, 1282, 1282, 1001,  497,  496,  495, 1282,  490,  686,
> +      686,  686,  686,  686,  686,  744,  487,  744,  744,  744,
> +      744,  744,  744,  744,  744,  744,  744,  964,  458,  964,
> +
> +      964,  964,  964,  964,  964,  964,  964,  964,  964,  457,
> +     1053, 1079, 1011,  454, 1053, 1079, 1011, 1119,  453,  976,
> +      439, 1119,  978,  976,  744,  745,  978,  745,  745,  745,
> +      745,  745,  745,  745,  745,  745,  745,  995, 1053, 1079,
> +     1011,  995,  995,  995,  995, 1119,  438,  976,  437,  997,
> +      978,  997,  997,  997,  997,  997,  997,  997,  997,  997,
> +      997, 1011,  436,  435,  745,  765,  765,  765,  765,  765,
> +      765,  765,  765,  765,  765,  765,  976,  996,  434,  978,
> +      433,  996,  996,  996,  996, 1110, 1110, 1110, 1110, 1110,
> +     1110,  998,  995,  998,  998,  998,  998,  998,  998,  998,
> +
> +      998,  998,  998,  765,  766,  766,  766,  766,  766,  766,
> +      766,  766,  766,  766,  766,  999,  432,  999,  999,  999,
> +      999,  999,  999,  999,  999,  999,  999, 1012, 1310, 1310,
> +      431, 1012,  996, 1021, 1310, 1021, 1021, 1021, 1021, 1021,
> +     1021,  430,  766,  767,  767,  767,  767,  767,  767,  767,
> +      767,  767,  767,  767, 1000, 1012, 1000, 1000, 1000, 1000,
> +     1000, 1000, 1000, 1000, 1000, 1000,  429, 1132,  428, 1159,
> +      427, 1132, 1021, 1159, 1299, 1323, 1012, 1299, 1323, 1299,
> +     1323,  767,  772,  426,  772,  772,  772,  772,  772,  772,
> +      772,  772,  772,  772,  772, 1132,  423, 1159,  772,  772,
> +
> +      772,  772,  772,  772, 1017, 1017, 1017, 1017, 1017, 1017,
> +     1017, 1017, 1017, 1017, 1023, 1023, 1023, 1023, 1023, 1023,
> +     1023, 1023, 1023, 1023,  772,  772,  772,  772,  772,  772,
> +      775,  775,  775,  775,  775,  775,  775,  775,  775,  775,
> +      775, 1017,  417,  414,  775,  775,  775,  775,  775,  775,
> +     1025,  413, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025,
> +     1025, 1025, 1027,  412, 1027, 1027, 1027, 1027, 1027, 1027,
> +      775,  775,  775,  775,  775,  775,  788,  788,  788,  788,
> +      788,  788,  788,  788,  788,  788,  788,  788,  788,  411,
> +      410,  409,  788,  788,  788,  788,  788,  788, 1026,  408,
> +
> +     1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
> +     1077,  407, 1077, 1077, 1077, 1077, 1077, 1077,  788,  788,
> +      788,  788,  788,  788,  791,  791,  791,  791,  791,  791,
> +      791,  791,  791,  791,  791,  791,  791,  406,  405,  404,
> +      791,  791,  791,  791,  791,  791, 1032, 1032, 1032, 1032,
> +     1032, 1032, 1032, 1032, 1032, 1032, 1038, 1038, 1038, 1038,
> +     1038, 1038, 1038, 1038, 1038, 1038,  791,  791,  791,  791,
> +      791,  791,  794,  794,  794,  794,  794,  794,  794,  794,
> +      794,  794,  794,  403,  402,  401,  398,  794,  794,  794,
> +      794,  794,  794, 1036,  383, 1036, 1036, 1036, 1036, 1036,
> +
> +     1036,  379,  378,  377,  376, 1036, 1115, 1115, 1115, 1115,
> +     1115, 1115, 1115,  794,  794,  794,  794,  794,  794,  797,
> +     1070, 1339,  797, 1070, 1339,  370, 1339,  369,  797,  797,
> +     1070, 1070,  797,  797, 1070,  797,  797,  797,  797,  797,
> +      797,  797,  797,  797,  797,  797,  797,  797, 1070, 1070,
> +     1070,  797,  797,  797,  797,  797,  797,  797,  797,  797,
> +      797,  797,  797,  797,  797,  797,  797,  797,  797,  797,
> +      797,  797,  797,  797,  797,  797,  797,  797,  797,  797,
> +      797,  797,  797,  797,  797,  797,  797,  797,  797,  797,
> +      797,  797,  797,  797,  797,  831,  368,  367,  366,  831,
> +
> +      831,  831,  831,  831,  831,  831,  831,  831,  831,  831,
> +      365,  831,  363,  362,  831,  831,  831,  831,  831,  831,
> +      831,  831,  831,  831,  831,  831,  831,  831,  831,  831,
> +      831,  831,  831,  831,  831,  831,  831,  361,  360,  831,
> +      831,  831,  831,  831,  831,  831,  831,  831,  831,  831,
> +      831,  831,  831,  831,  831,  831,  831,  841,  841,  841,
> +      841,  841,  841,  841,  841,  841,  841,  841, 1041,  359,
> +     1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041,
> +     1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
> +     1042,  358,  357,  356,  355,  841,  842,  842,  842,  842,
> +
> +      842,  842,  842,  842,  842,  842,  842, 1043, 1043, 1043,
> +     1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1044, 1044,
> +     1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1055,
> +      354,  353,  352, 1055,  842,  843,  843,  843,  843,  843,
> +      843,  843,  843,  843,  843,  843,  351, 1121, 1065,  349,
> +      348, 1121, 1065, 1065, 1065, 1065, 1069, 1055,  341, 1069,
> +     1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,  340,
> +     1316, 1316,  327,  843,  844, 1121, 1316,  844,  323, 1317,
> +     1317,  322,  320,  844,  844, 1317, 1055,  844,  844,  319,
> +      844,  844,  844,  844,  844,  844,  844,  844,  844,  844,
> +
> +      844,  844,  844, 1065, 1121,  318,  844,  844,  844,  844,
> +      844,  844,  844,  844,  844,  844,  844,  844,  844,  844,
> +      844,  844,  844,  844,  844,  844,  844,  844,  844,  844,
> +      844,  844,  844,  844,  844,  844,  844,  844,  844,  844,
> +      844,  844,  844,  844,  844,  844,  844,  844,  844,  844,
>        856,  856,  856,  856,  856,  856,  856,  856,  856,  856,
> -      868,  868,  868,  868,  868,  868,  868,  868,  868,  868,
> -      868, 1077, 1375,  310, 1375, 1077, 1077, 1077, 1077, 1078,
> -     1375,  307,  305, 1078, 1078, 1078, 1078, 1085, 1085, 1085,
> -     1085, 1085, 1085, 1085, 1085, 1085, 1085,  303,  868,  869,
> -      869,  869,  869,  869,  869,  869,  869,  869,  869,  869,
> -
> -     1079,  300,  299,  298, 1079, 1079, 1079, 1079, 1080,  297,
> -      294,  293, 1080, 1080, 1080, 1080, 1077, 1127, 1127, 1127,
> -     1127, 1127, 1127, 1127, 1078,  291,  290,  869,  877,  289,
> -      877,  877,  877,  877,  877,  877,  877,  877,  877,  877,
> -      877,  880,  288,  880,  880,  880,  880,  880,  880,  880,
> -      880,  880,  880,  880,  287, 1079,  285,  880,  880,  880,
> -      880,  880,  880, 1080, 1083,  279,  271,  267, 1083, 1083,
> -     1083, 1083, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095,
> -     1095, 1095,  262,  880,  880,  880,  880,  880,  880,  883,
> -      883,  883,  883,  883,  883,  883,  883,  883,  883,  883,
> -
> -      261,  259,  255,  883,  883,  883,  883,  883,  883, 1095,
> -     1099,  250, 1099, 1099, 1099, 1099, 1099, 1099, 1351, 1083,
> -     1143, 1351, 1149, 1351, 1143,  245, 1149,  243,  239,  883,
> -      883,  883,  883,  883,  883,  894,  894,  894,  894,  894,
> -      894,  894,  894,  894,  894,  894,  894,  894, 1143, 1099,
> -     1149,  894,  894,  894,  894,  894,  894, 1087,  234, 1087,
> -     1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1143,
> -     1150, 1149,  222,  221, 1150,  220,  219,  894,  894,  894,
> -      894,  894,  894,  897,  897,  897,  897,  897,  897,  897,
> -      897,  897,  897,  897,  897,  218,  212,  205, 1150,  897,
> -
> -      897,  897,  897,  897,  897, 1133,  204, 1084,  203, 1133,
> -     1084, 1171,  202,  201,  200, 1171,  198, 1084, 1084, 1150,
> -      197, 1084,  196,  195,  194,  897,  897,  897,  897,  897,
> -      897,  902,  193, 1133,  902, 1084, 1084, 1084,  192, 1171,
> -      902,  902,  191,  190,  902,  902,  189,  902,  902,  902,
> -      902,  902,  902,  902,  902,  902,  902,  902,  902,  902,
> -      184,  180, 1133,  902,  902,  902,  902,  902,  902,  902,
> -      902,  902,  902,  902,  902,  902,  902,  902,  902,  902,
> -      902,  902,  902,  902,  902,  902,  902,  902,  902,  902,
> -      902,  902,  902,  902,  902,  902,  902,  902,  902,  902,
> -
> -      902,  902,  902,  902,  902,  902,  902,  927,  179,  175,
> -      172,  927,  927,  927,  927,  927,  927,  927,  927,  927,
> -      927,  927,  168,  927,  165,  162,  927,  927,  927,  927,
> +      856, 1066,  317, 1359, 1359, 1066, 1066, 1066, 1066, 1067,
> +     1359,  316,  315, 1067, 1067, 1067, 1067, 1073, 1073, 1073,
> +     1073, 1073, 1073, 1073, 1073, 1073, 1073,  309,  856,  857,
> +      857,  857,  857,  857,  857,  857,  857,  857,  857,  857,
> +
> +     1068, 1363,  305, 1363, 1068, 1068, 1068, 1068, 1071, 1363,
> +      302,  300, 1071, 1071, 1071, 1071, 1066, 1207, 1207, 1207,
> +     1207, 1207, 1207,  298, 1067,  295,  294,  857,  865,  293,
> +      865,  865,  865,  865,  865,  865,  865,  865,  865,  865,
> +      865,  868,  290,  868,  868,  868,  868,  868,  868,  868,
> +      868,  868,  868,  868,  289, 1068,  287,  868,  868,  868,
> +      868,  868,  868, 1071, 1075,  286, 1075, 1075, 1075, 1075,
> +     1075, 1075, 1075, 1075, 1075, 1075, 1237, 1237, 1237, 1237,
> +     1237, 1237,  285,  868,  868,  868,  868,  868,  868,  871,
> +      871,  871,  871,  871,  871,  871,  871,  871,  871,  871,
> +
> +      284,  283,  281,  871,  871,  871,  871,  871,  871, 1076,
> +      275, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076,
> +     1076, 1089, 1161,  267,  263, 1089, 1161,  258,  257,  871,
> +      871,  871,  871,  871,  871,  882,  882,  882,  882,  882,
> +      882,  882,  882,  882,  882,  882,  882,  882,  255, 1089,
> +     1161,  882,  882,  882,  882,  882,  882,  251, 1083, 1083,
> +     1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,  246, 1087,
> +     1089, 1087, 1087, 1087, 1087, 1087, 1087,  882,  882,  882,
> +      882,  882,  882,  885,  885,  885,  885,  885,  885,  885,
> +      885,  885,  885,  885,  885, 1083,  241,  239,  235,  885,
> +
> +      885,  885,  885,  885,  885, 1122,  230, 1072, 1087, 1122,
> +     1072, 1131,  218, 1318, 1318, 1131,  217, 1072, 1072, 1318,
> +      216, 1072,  215,  214,  209,  885,  885,  885,  885,  885,
> +      885,  890,  202, 1122,  890, 1072, 1072, 1072,  201, 1131,
> +      890,  890,  200,  199,  890,  890,  198,  890,  890,  890,
> +      890,  890,  890,  890,  890,  890,  890,  890,  890,  890,
> +     1131,  197, 1122,  890,  890,  890,  890,  890,  890,  890,
> +      890,  890,  890,  890,  890,  890,  890,  890,  890,  890,
> +      890,  890,  890,  890,  890,  890,  890,  890,  890,  890,
> +      890,  890,  890,  890,  890,  890,  890,  890,  890,  890,
> +
> +      890,  890,  890,  890,  890,  890,  890,  915,  195,  194,
> +      193,  915,  915,  915,  915,  915,  915,  915,  915,  915,
> +      915,  915,  192,  915,  191,  190,  915,  915,  915,  915,
> +      915,  915,  915,  915,  915,  915,  915,  915,  915,  915,
> +      915,  915,  915,  915,  915,  915,  915,  915,  915,  189,
> +      188,  915,  915,  915,  915,  915,  915,  915,  915,  915,
> +      915,  915,  915,  915,  915,  915,  915,  915,  915,  927,
>        927,  927,  927,  927,  927,  927,  927,  927,  927,  927,
> -      927,  927,  927,  927,  927,  927,  927,  927,  927,  158,
> -      152,  927,  927,  927,  927,  927,  927,  927,  927,  927,
> -      927,  927,  927,  927,  927,  927,  927,  927,  927,  939,
> -      939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
> -     1088,  151, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088,
> -     1088, 1088, 1108,  150, 1108, 1108, 1108, 1108, 1108, 1108,
> -
> -     1108, 1108, 1108, 1108,  149,  148,  147,  939,  940,  940,
> -      940,  940,  940,  940,  940,  940,  940,  940,  940, 1109,
> -      143, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
> -     1109, 1110,  137, 1110, 1110, 1110, 1110, 1110, 1110, 1110,
> -     1110, 1110, 1110,  135,  131,  129,  940,  942, 1173, 1182,
> -      942,  125, 1173, 1182,  124,  123,  942,  942,  122,  121,
> -      942,  942,  120,  942,  942,  942,  942,  942,  942,  942,
> -      942,  942,  942,  942,  942,  942, 1173, 1182,  116,  942,
> -      942,  942,  942,  942,  942,  942,  942,  942,  942,  942,
> -      942,  942,  942,  942,  942,  942,  942,  942,  942,  942,
> -
> -      942,  942,  942,  942,  942,  942,  942,  942,  942,  942,
> -      942,  942,  942,  942,  942,  942,  942,  942,  942,  942,
> -      942,  942,  942,  952,  103,  952,  952,  952,  952,  952,
> -      952,  952,  952,  952,  952, 1115, 1115, 1115, 1115, 1115,
> -     1115, 1115, 1115, 1115, 1115, 1119,   96, 1119, 1119, 1119,
> -     1119, 1119, 1119, 1329, 1329, 1330, 1330, 1119,   89, 1329,
> -       88, 1330,  952,  953,   81,  953,  953,  953,  953,  953,
> -      953,  953,  953,  953,  953, 1121, 1121, 1121, 1121, 1121,
> -     1121, 1121, 1121, 1121, 1121, 1123,   80, 1123, 1123, 1123,
> -     1123, 1123, 1123, 1123, 1123, 1123, 1123,   75, 1336, 1336,
> -
> -       74,   73,  953,  954, 1336,  954,  954,  954,  954,  954,
> -      954,  954,  954,  954,  954, 1125, 1125, 1125, 1125, 1125,
> -     1125, 1125, 1125, 1125, 1125, 1125, 1126, 1126, 1126, 1126,
> -     1126, 1126, 1126, 1126, 1126, 1126, 1126, 1199,   72,   67,
> -     1134, 1199,  954,  955, 1134,  955,  955,  955,  955,  955,
> -      955,  955,  955,  955,  955, 1138, 1138, 1138, 1138, 1138,
> -     1138, 1138, 1138, 1138, 1138, 1199,   65,   54, 1134, 1139,
> -     1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,   53,
> -       51,   50,  955,  965,   48,  965,  965,  965,  965,  965,
> -      965,  965,  965,  965,  965,  965,  968, 1134,  968,  968,
> -
> -      968,  968,  968,  968,  968,  968,  968,  968,  968,   38,
> -       32,   26,  968,  968,  968,  968,  968,  968, 1140,   25,
> -     1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140,
> -     1161,   22, 1161, 1161, 1161, 1161, 1161, 1161,  968,  968,
> -      968,  968,  968,  968,  971,  971,  971,  971,  971,  971,
> -      971,  971,  971,  971,  971,   21,    0,    0,  971,  971,
> -      971,  971,  971,  971, 1141,    0, 1141, 1141, 1141, 1141,
> -     1141, 1141, 1141, 1141, 1141, 1141, 1156,    0, 1156, 1156,
> -     1156, 1156, 1156, 1156,  971,  971,  971,  971,  971,  971,
> -      983,  983,  983,  983,  983,  983,  983,  983,  983,  983,
> -
> -      983,  983, 1019,    0, 1019, 1019, 1019, 1019, 1019, 1019,
> -     1019, 1019, 1019, 1019, 1142, 1156, 1142, 1142, 1142, 1142,
> -     1142, 1142, 1142, 1142, 1142, 1142, 1152, 1152, 1152, 1152,
> -     1152, 1152, 1152, 1152, 1152, 1152,    0, 1337, 1337,    0,
> -        0, 1019, 1020, 1337, 1020, 1020, 1020, 1020, 1020, 1020,
> -     1020, 1020, 1020, 1020, 1181,    0, 1181, 1181, 1181, 1181,
> -     1181, 1181,    0, 1152, 1157, 1157, 1157, 1157, 1157, 1157,
> -     1157, 1157, 1157, 1157, 1219, 1219, 1219, 1219, 1219, 1219,
> -        0, 1020, 1021,    0, 1021, 1021, 1021, 1021, 1021, 1021,
> -     1021, 1021, 1021, 1021, 1159,    0, 1159, 1159, 1159, 1159,
> -
> -     1159, 1159, 1159, 1159, 1159, 1159, 1160,    0, 1160, 1160,
> -     1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160,    0, 1175,
> -        0, 1021, 1022, 1175, 1022, 1022, 1022, 1022, 1022, 1022,
> -     1022, 1022, 1022, 1022, 1167,    0, 1167, 1167, 1167, 1167,
> -     1167, 1167, 1167, 1167, 1167, 1167,    0, 1175, 1177, 1177,
> -     1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,    0,    0,
> -        0, 1022, 1031,    0, 1031, 1031, 1031, 1031, 1031, 1031,
> -     1031, 1031, 1031, 1031,    0, 1179, 1175, 1179, 1179, 1179,
> -     1179, 1179, 1179, 1179, 1179, 1179, 1179, 1180,    0, 1180,
> -     1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180,    0,
> -
> -        0, 1031, 1032,    0, 1032, 1032, 1032, 1032, 1032, 1032,
> -     1032, 1032, 1032, 1032,    0,    0,    0,    0,    0, 1183,
> -     1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1187,
> -        0, 1187, 1187, 1187, 1187, 1187, 1187, 1338, 1338,    0,
> -        0, 1032, 1046, 1338, 1046, 1046, 1046, 1046, 1046, 1046,
> -     1046, 1046, 1046, 1046, 1046, 1049, 1183, 1049, 1049, 1049,
> -     1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1187,    0,
> -        0, 1049, 1049, 1049, 1049, 1049, 1049, 1215,    0, 1215,
> -     1215, 1215, 1215, 1215, 1215, 1188,    0,    0, 1227, 1188,
> -     1227, 1227, 1227, 1227, 1227, 1227,    0, 1049, 1049, 1049,
> -
> -     1049, 1049, 1049, 1052, 1052, 1052, 1052, 1052, 1052, 1052,
> -     1052, 1052, 1052, 1188,    0,    0, 1215, 1052, 1052, 1052,
> -     1052, 1052, 1052, 1192, 1192, 1192, 1192, 1192, 1192, 1192,
> -     1192, 1192, 1192,    0, 1188, 1249, 1249, 1249, 1249, 1249,
> -     1249,    0,    0, 1052, 1052, 1052, 1052, 1052, 1052, 1097,
> -        0, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097,
> -     1097, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193,
> -     1193, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194,
> -     1194, 1341, 1341,    0, 1342, 1342,    0, 1341, 1097, 1098,
> -     1342, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098,
> -
> -     1098, 1205,    0, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
> -     1205, 1205, 1205, 1206,    0, 1206, 1206, 1206, 1206, 1206,
> -     1206, 1206, 1206, 1206, 1206,    0,    0,    0, 1098, 1105,
> +     1096,  187, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096,
> +     1096, 1096, 1097,  186, 1097, 1097, 1097, 1097, 1097, 1097,
> +
> +     1097, 1097, 1097, 1097,  181,  177,  176,  927,  928,  928,
> +      928,  928,  928,  928,  928,  928,  928,  928,  928, 1098,
> +      172, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098,
> +     1098, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103,
> +     1103,  169,  165,  162,  159,  155,  928,  930, 1170, 1187,
> +      930,  150, 1170, 1187,  149,  148,  930,  930,  147,  146,
> +      930,  930,  145,  930,  930,  930,  930,  930,  930,  930,
> +      930,  930,  930,  930,  930,  930, 1170, 1187,  141,  930,
> +      930,  930,  930,  930,  930,  930,  930,  930,  930,  930,
> +      930,  930,  930,  930,  930,  930,  930,  930,  930,  930,
> +
> +      930,  930,  930,  930,  930,  930,  930,  930,  930,  930,
> +      930,  930,  930,  930,  930,  930,  930,  930,  930,  930,
> +      930,  930,  930,  940,  135,  940,  940,  940,  940,  940,
> +      940,  940,  940,  940,  940, 1107,  133, 1107, 1107, 1107,
> +     1107, 1107, 1107,  129,  124,  123,  122, 1107, 1109, 1109,
> +     1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1324, 1324,
> +      121,  120,  940,  941, 1324,  941,  941,  941,  941,  941,
> +      941,  941,  941,  941,  941, 1111,  119, 1111, 1111, 1111,
> +     1111, 1111, 1111, 1111, 1111, 1111, 1111, 1113, 1113, 1113,
> +     1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1325, 1325,
> +
> +      115,  102,  941,  942, 1325,  942,  942,  942,  942,  942,
> +      942,  942,  942,  942,  942, 1114, 1114, 1114, 1114, 1114,
> +     1114, 1114, 1114, 1114, 1114, 1114, 1126, 1126, 1126, 1126,
> +     1126, 1126, 1126, 1126, 1126, 1126,   95,   88, 1326, 1326,
> +       87,   80,  942,  943, 1326,  943,  943,  943,  943,  943,
> +      943,  943,  943,  943,  943, 1127, 1127, 1127, 1127, 1127,
> +     1127, 1127, 1127, 1127, 1127, 1128,   79, 1128, 1128, 1128,
> +     1128, 1128, 1128, 1128, 1128, 1128, 1128,   74, 1329, 1329,
> +       73,   72,  943,  953, 1329,  953,  953,  953,  953,  953,
> +      953,  953,  953,  953,  953,  953,  956,   71,  956,  956,
> +
> +      956,  956,  956,  956,  956,  956,  956,  956,  956,   66,
> +       64,   54,  956,  956,  956,  956,  956,  956, 1129,   53,
> +     1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
> +     1149,   51, 1149, 1149, 1149, 1149, 1149, 1149,  956,  956,
> +      956,  956,  956,  956,  959,  959,  959,  959,  959,  959,
> +      959,  959,  959,  959,  959,   50,   48,   38,  959,  959,
> +      959,  959,  959,  959, 1130,   32, 1130, 1130, 1130, 1130,
> +     1130, 1130, 1130, 1130, 1130, 1130, 1169,   26, 1169, 1169,
> +     1169, 1169, 1169, 1169,  959,  959,  959,  959,  959,  959,
> +      971,  971,  971,  971,  971,  971,  971,  971,  971,  971,
> +
> +      971,  971, 1007,   25, 1007, 1007, 1007, 1007, 1007, 1007,
> +     1007, 1007, 1007, 1007,   22, 1137,   21,    0, 1144, 1137,
> +     1144, 1144, 1144, 1144, 1144, 1144, 1138,    0,    0,    0,
> +     1138, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140,
> +     1140, 1007, 1008, 1137, 1008, 1008, 1008, 1008, 1008, 1008,
> +     1008, 1008, 1008, 1008, 1138,    0, 1215, 1144, 1215, 1215,
> +     1215, 1215, 1215, 1215, 1137, 1330, 1330,    0, 1140,    0,
> +        0, 1330, 1331, 1331, 1347, 1138,    0, 1347, 1331, 1347,
> +        0, 1008, 1009,    0, 1009, 1009, 1009, 1009, 1009, 1009,
> +     1009, 1009, 1009, 1009, 1145, 1145, 1145, 1145, 1145, 1145,
> +
> +     1145, 1145, 1145, 1145, 1147,    0, 1147, 1147, 1147, 1147,
> +     1147, 1147, 1147, 1147, 1147, 1147,    0,    0,    0, 1163,
> +        0, 1009, 1010, 1163, 1010, 1010, 1010, 1010, 1010, 1010,
> +     1010, 1010, 1010, 1010, 1148,    0, 1148, 1148, 1148, 1148,
> +     1148, 1148, 1148, 1148, 1148, 1148, 1155, 1163, 1155, 1155,
> +     1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155,    0,    0,
> +        0, 1010, 1019,    0, 1019, 1019, 1019, 1019, 1019, 1019,
> +     1019, 1019, 1019, 1019,    0,    0, 1163, 1165, 1165, 1165,
> +     1165, 1165, 1165, 1165, 1165, 1165, 1165, 1167,    0, 1167,
> +     1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,    0,
> +
> +        0, 1019, 1020,    0, 1020, 1020, 1020, 1020, 1020, 1020,
> +     1020, 1020, 1020, 1020, 1168,    0, 1168, 1168, 1168, 1168,
> +     1168, 1168, 1168, 1168, 1168, 1168,    0,    0,    0,    0,
> +        0, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171,
> +     1171, 1020, 1034,    0, 1034, 1034, 1034, 1034, 1034, 1034,
> +     1034, 1034, 1034, 1034, 1034, 1037,    0, 1037, 1037, 1037,
> +     1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1171,    0,
> +        0, 1037, 1037, 1037, 1037, 1037, 1037, 1175,    0, 1175,
> +     1175, 1175, 1175, 1175, 1175, 1176, 1334, 1334,    0, 1176,
> +     1335, 1335, 1334,    0,    0,    0, 1335, 1037, 1037, 1037,
> +
> +     1037, 1037, 1037, 1040, 1040, 1040, 1040, 1040, 1040, 1040,
> +     1040, 1040, 1040, 1176,    0,    0, 1175, 1040, 1040, 1040,
> +     1040, 1040, 1040, 1180, 1180, 1180, 1180, 1180, 1180, 1180,
> +     1180, 1180, 1180,    0, 1176, 1342, 1342,    0,    0,    0,
> +        0, 1342,    0, 1040, 1040, 1040, 1040, 1040, 1040, 1085,
> +        0, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085,
> +     1085, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
> +     1181, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182,
> +     1182, 1350, 1350,    0, 1357, 1357,    0, 1350, 1085, 1086,
> +     1357, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086,
> +
> +     1086, 1193,    0, 1193, 1193, 1193, 1193, 1193, 1193, 1193,
> +     1193, 1193, 1193, 1194,    0, 1194, 1194, 1194, 1194, 1194,
> +     1194, 1194, 1194, 1194, 1194,    0,    0,    0, 1086, 1093,
> +        0, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
> +     1093, 1195,    0, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
> +     1195, 1195, 1195, 1199, 1199, 1199, 1199, 1199, 1199, 1199,
> +     1199, 1199, 1199,    0, 1360, 1360,    0,    0, 1093, 1094,
> +     1360, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
> +     1094,    0, 1203,    0, 1203, 1203, 1203, 1203, 1203, 1203,
> +     1199, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
> +
> +     1205, 1362, 1362,    0,    0,    0,    0, 1362, 1094, 1095,
> +        0, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1095,
> +     1095, 1203, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
> +     1206, 1206, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
> +     1211, 1211,    0,    0,    0,    0,    0,    0, 1095, 1105,
>          0, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105, 1105,
> -     1105, 1207,    0, 1207, 1207, 1207, 1207, 1207, 1207, 1207,
> -     1207, 1207, 1207, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
> -     1211, 1211, 1211,    0, 1343, 1343,    0,    0, 1105, 1106,
> -     1343, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
> -     1106, 1346, 1346, 1347, 1347,    0,    0, 1346,    0, 1347,
> -     1211, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
> -
> -     1217, 1354, 1354,    0, 1362, 1362,    0, 1354, 1106, 1107,
> -     1362, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107,
> -     1107, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
> -     1218, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223,
> -     1223, 1359,    0,    0, 1359,    0, 1359,    0, 1107, 1117,
> -        0, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117,
> -     1117, 1117, 1120,    0, 1120, 1120, 1120, 1120, 1120, 1120,
> -     1120, 1120, 1120, 1120,    0,    0,    0,    0, 1120, 1120,
> -     1120, 1120, 1120, 1120, 1225,    0, 1225, 1225, 1225, 1225,
> -     1225, 1225, 1225, 1225, 1225, 1225, 1369, 1369,    0,    0,
> -
> -        0,    0, 1369,    0, 1120, 1120, 1120, 1120, 1120, 1120,
> -     1146,    0, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
> -     1146, 1146, 1226,    0, 1226, 1226, 1226, 1226, 1226, 1226,
> -     1226, 1226, 1226, 1226, 1228, 1228, 1228, 1228, 1228, 1228,
> -     1228, 1228, 1228, 1228,    0, 1372, 1372,    0,    0, 1146,
> -     1147, 1372, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,
> -     1147, 1147,    0, 1232,    0, 1232, 1232, 1232, 1232, 1232,
> -     1232, 1228, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233,
> -     1233, 1233,    0, 1245, 1245, 1245, 1245, 1245, 1245, 1147,
> -     1148,    0, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
> -
> -     1148, 1148, 1232,    0,    0,    0,    0,    0,    0, 1233,
> -     1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> -     1245, 1374, 1374,    0,    0,    0,    0, 1374,    0, 1148,
> -     1154,    0, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154,
> -     1154, 1154,    0,    0,    0,    0,    0, 1234, 1235, 1235,
> -     1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1237, 1237,
> -     1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237,    0, 1154,
> -     1155,    0, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155,
> -     1155, 1155,    0,    0,    0, 1235, 1238, 1238, 1238, 1238,
> -     1238, 1238, 1238, 1238, 1238, 1238, 1239, 1239, 1239, 1239,
> -
> -     1239, 1239, 1239, 1239, 1239, 1239,    0,    0,    0, 1155,
> -     1185,    0, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
> -     1185, 1185,    0,    0,    0, 1240, 1240, 1240, 1240, 1240,
> -     1240, 1240, 1240, 1240, 1240, 1241, 1241, 1241, 1241, 1241,
> -     1241, 1241, 1241, 1241, 1241,    0,    0,    0,    0, 1185,
> -     1186,    0, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186,
> -     1186, 1186, 1240,    0,    0, 1252, 1252, 1252, 1252, 1252,
> -     1252,    0, 1241, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
> -     1242, 1242, 1242,    0,    0,    0,    0,    0,    0, 1186,
> -     1189,    0, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189,
> -
> -     1189, 1189, 1252,    0,    0,    0,    0,    0,    0,    0,
> -     1242, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244,
> -     1244,    0,    0,    0,    0,    0,    0,    0,    0, 1189,
> -     1190,    0, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190,
> -     1190, 1190,    0,    0,    0,    0,    0,    0, 1244, 1248,
> -     1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1251,
> -     1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1190,
> -     1191,    0, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,
> -     1191, 1191,    0,    0,    0,    0,    0,    0,    0,    0,
> -        0,    0,    0,    0,    0,    0, 1251,    0,    0,    0,
> -
> -        0,    0,    0,    0,    0,    0,    0,    0,    0, 1191,
> -     1208,    0, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208,
> -     1208, 1208,    0,    0,    0,    0,    0,    0,    0,    0,
> +     1105, 1105, 1108,    0, 1108, 1108, 1108, 1108, 1108, 1108,
> +     1108, 1108, 1108, 1108,    0,    0,    0,    0, 1108, 1108,
> +     1108, 1108, 1108, 1108, 1213,    0, 1213, 1213, 1213, 1213,
> +     1213, 1213, 1213, 1213, 1213, 1213,    0,    0,    0,    0,
> +
> +        0,    0,    0,    0, 1108, 1108, 1108, 1108, 1108, 1108,
> +     1134,    0, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
> +     1134, 1134, 1214,    0, 1214, 1214, 1214, 1214, 1214, 1214,
> +     1214, 1214, 1214, 1214, 1216, 1216, 1216, 1216, 1216, 1216,
> +     1216, 1216, 1216, 1216,    0,    0,    0,    0,    0, 1134,
> +     1135,    0, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135,
> +     1135, 1135,    0, 1220,    0, 1220, 1220, 1220, 1220, 1220,
> +     1220, 1216, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221,
> +     1221, 1221,    0, 1233, 1233, 1233, 1233, 1233, 1233, 1135,
> +     1136,    0, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136,
> +
> +     1136, 1136, 1220,    0,    0,    0,    0,    0,    0, 1221,
> +     1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222,
> +     1233,    0,    0,    0,    0,    0,    0,    0,    0, 1136,
> +     1142,    0, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
> +     1142, 1142,    0,    0,    0,    0,    0, 1222, 1223, 1223,
> +     1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1225, 1225,
> +     1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,    0, 1142,
> +     1143,    0, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143,
> +     1143, 1143,    0,    0,    0, 1223, 1226, 1226, 1226, 1226,
> +     1226, 1226, 1226, 1226, 1226, 1226, 1227, 1227, 1227, 1227,
> +
> +     1227, 1227, 1227, 1227, 1227, 1227,    0,    0,    0, 1143,
> +     1173,    0, 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1173,
> +     1173, 1173,    0,    0,    0, 1228, 1228, 1228, 1228, 1228,
> +     1228, 1228, 1228, 1228, 1228, 1229, 1229, 1229, 1229, 1229,
> +     1229, 1229, 1229, 1229, 1229,    0,    0,    0,    0, 1173,
> +     1174,    0, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174,
> +     1174, 1174, 1228,    0,    0, 1240, 1240, 1240, 1240, 1240,
> +     1240,    0, 1229, 1230, 1230, 1230, 1230, 1230, 1230, 1230,
> +     1230, 1230, 1230,    0,    0,    0,    0,    0,    0, 1174,
> +     1177,    0, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
> +
> +     1177, 1177, 1240,    0,    0,    0,    0,    0,    0,    0,
> +     1230, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232,
> +     1232,    0,    0,    0,    0,    0,    0,    0,    0, 1177,
> +     1178,    0, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
> +     1178, 1178,    0,    0,    0,    0,    0,    0, 1232, 1236,
> +     1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1239,
> +     1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1178,
> +     1179,    0, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
> +     1179, 1179,    0,    0,    0,    0,    0,    0,    0,    0,
> +        0,    0,    0,    0,    0,    0, 1239,    0,    0,    0,
> +
> +        0,    0,    0,    0,    0,    0,    0,    0,    0, 1179,
> +     1196,    0, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196,
> +     1196, 1196,    0,    0,    0,    0,    0,    0,    0,    0,
>          0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -        0,    0,    0,    0,    0,    0,    0,    0,    0, 1208,
> -     1209,    0, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
> -     1209, 1209,    0,    0,    0,    0,    0,    0,    0,    0,
> +        0,    0,    0,    0,    0,    0,    0,    0,    0, 1196,
> +     1197,    0, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
> +     1197, 1197,    0,    0,    0,    0,    0,    0,    0,    0,
>          0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -        0,    0,    0,    0,    0,    0,    0,    0,    0, 1209,
> -     1210,    0, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
> +        0,    0,    0,    0,    0,    0,    0,    0,    0, 1197,
> +     1198,    0, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
>  
> -     1210, 1210,    0,    0,    0,    0,    0,    0,    0,    0,
> +     1198, 1198,    0,    0,    0,    0,    0,    0,    0,    0,
>          0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -        0,    0,    0,    0,    0,    0,    0,    0,    0, 1210,
> -     1213,    0, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
> -     1213, 1213,    0,    0,    0,    0,    0,    0,    0,    0,
> +        0,    0,    0,    0,    0,    0,    0,    0,    0, 1198,
> +     1201,    0, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201,
> +     1201, 1201,    0,    0,    0,    0,    0,    0,    0,    0,
>          0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -        0,    0,    0,    0,    0,    0,    0,    0,    0, 1213,
> -     1214,    0, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214,
> -     1214, 1214,    0,    0,    0,    0,    0,    0,    0,    0,
> +        0,    0,    0,    0,    0,    0,    0,    0,    0, 1201,
> +     1202,    0, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202,
> +     1202, 1202,    0,    0,    0,    0,    0,    0,    0,    0,
>          0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
>  
> -        0,    0,    0,    0,    0,    0,    0,    0,    0, 1214,
> -     1230,    0, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230,
> -     1230, 1230,    0,    0,    0,    0,    0,    0,    0,    0,
> +        0,    0,    0,    0,    0,    0,    0,    0,    0, 1202,
> +     1218,    0, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
> +     1218, 1218,    0,    0,    0,    0,    0,    0,    0,    0,
>          0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -        0,    0,    0,    0,    0,    0,    0,    0,    0, 1230,
> -     1231,    0, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231,
> -     1231, 1231,    0,    0,    0,    0,    0,    0,    0,    0,
> +        0,    0,    0,    0,    0,    0,    0,    0,    0, 1218,
> +     1219,    0, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
> +     1219, 1219,    0,    0,    0,    0,    0,    0,    0,    0,
>          0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
> -        0,    0,    0,    0,    0,    0,    0,    0,    0, 1231,
> -     1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
> +        0,    0,    0,    0,    0,    0,    0,    0,    0, 1219,
> +     1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
>  
> +     1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242,
> +     1242, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
> +     1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
> +     1243, 1243, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244,
> +     1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244,
> +     1244, 1244, 1244, 1245, 1245, 1245, 1245, 1245, 1245, 1245,
> +     1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245, 1245,
> +     1245, 1245, 1245, 1245, 1246, 1246, 1246, 1246, 1246, 1246,
> +     1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246,
> +     1246, 1246, 1246, 1246, 1246, 1247, 1247, 1247, 1247, 1247,
> +
> +     1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247,
> +     1247, 1247, 1247, 1247, 1247, 1247, 1248,    0,    0, 1248,
> +        0,    0,    0, 1248,    0, 1248,    0, 1248, 1248, 1248,
> +        0,    0, 1248, 1248, 1248, 1248, 1248, 1249, 1249, 1249,
> +     1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249,
> +     1249, 1249, 1249, 1249, 1249, 1249, 1249, 1249, 1250,    0,
> +        0, 1250,    0,    0, 1250, 1250,    0, 1250,    0, 1250,
> +     1250, 1250, 1250,    0, 1250, 1250, 1250, 1250, 1250, 1251,
> +        0,    0, 1251,    0,    0,    0, 1251,    0, 1251,    0,
> +     1251, 1251, 1251,    0,    0, 1251, 1251, 1251, 1251, 1251,
> +
> +     1252,    0,    0, 1252, 1252, 1252,    0, 1252, 1252, 1252,
> +        0, 1252, 1252, 1252,    0,    0, 1252, 1252, 1252, 1252,
> +     1252, 1254, 1254,    0, 1254, 1254, 1254,    0, 1254, 1254,
>       1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254,
> -     1254, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
> -     1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
> -     1255, 1255, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256,
> +     1254, 1254, 1255,    0,    0, 1255, 1255, 1255,    0, 1255,
> +     1255, 1255,    0, 1255, 1255, 1255,    0,    0, 1255, 1255,
> +     1255, 1255, 1255, 1256, 1256,    0, 1256, 1256, 1256,    0,
>       1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256,
> -     1256, 1256, 1256, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
> -     1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
> -     1257, 1257, 1257, 1257, 1258, 1258, 1258, 1258, 1258, 1258,
> -     1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
> -     1258, 1258, 1258, 1258, 1258, 1259, 1259, 1259, 1259, 1259,
> +     1256, 1256, 1256, 1256, 1257,    0,    0, 1257, 1257, 1257,
> +        0, 1257, 1257, 1257,    0, 1257, 1257, 1257,    0, 1257,
>  
> +     1257,    0, 1257, 1257, 1257, 1258, 1258,    0, 1258, 1258,
> +     1258,    0,    0, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
> +     1258, 1258,    0, 1258, 1258, 1258, 1259, 1259, 1259, 1259,
>       1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259, 1259,
> -     1259, 1259, 1259, 1259, 1259, 1259, 1260,    0,    0, 1260,
> -        0,    0,    0, 1260,    0, 1260,    0, 1260, 1260, 1260,
> -        0,    0, 1260, 1260, 1260, 1260, 1260, 1261, 1261, 1261,
> -     1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261,
> -     1261, 1261, 1261, 1261, 1261, 1261, 1261, 1261, 1262,    0,
> -        0, 1262,    0,    0, 1262, 1262,    0, 1262,    0, 1262,
> -     1262, 1262, 1262,    0, 1262, 1262, 1262, 1262, 1262, 1263,
> -        0,    0, 1263,    0,    0,    0, 1263,    0, 1263,    0,
> -     1263, 1263, 1263,    0,    0, 1263, 1263, 1263, 1263, 1263,
> -
> -     1264,    0,    0, 1264, 1264, 1264,    0, 1264, 1264, 1264,
> -        0, 1264, 1264, 1264,    0,    0, 1264, 1264, 1264, 1264,
> -     1264, 1266, 1266,    0, 1266, 1266, 1266,    0, 1266, 1266,
> -     1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> -     1266, 1266, 1267,    0,    0, 1267, 1267, 1267,    0, 1267,
> -     1267, 1267,    0, 1267, 1267, 1267,    0,    0, 1267, 1267,
> -     1267, 1267, 1267, 1268, 1268,    0, 1268, 1268, 1268,    0,
> -     1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268,
> -     1268, 1268, 1268, 1268, 1269,    0,    0, 1269, 1269, 1269,
> -        0, 1269, 1269, 1269,    0, 1269, 1269, 1269,    0, 1269,
> -
> -     1269,    0, 1269, 1269, 1269, 1270, 1270,    0, 1270, 1270,
> -     1270,    0,    0, 1270, 1270, 1270, 1270, 1270, 1270, 1270,
> -     1270, 1270,    0, 1270, 1270, 1270, 1271, 1271, 1271, 1271,
> -     1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271, 1271,
> -     1271, 1271, 1271, 1271, 1271, 1271, 1271, 1273,    0,    0,
> -     1273, 1273,    0,    0, 1273, 1273, 1273,    0, 1273, 1273,
> -     1273, 1273,    0, 1273, 1273, 1273, 1273, 1273, 1274, 1274,
> -     1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
> -     1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1275,
> -     1275,    0, 1275, 1275,    0, 1275, 1275, 1275, 1275, 1275,
> +     1259, 1259, 1259, 1259, 1259, 1259, 1259, 1261,    0,    0,
> +     1261, 1261,    0,    0, 1261, 1261, 1261,    0, 1261, 1261,
> +     1261, 1261,    0, 1261, 1261, 1261, 1261, 1261, 1262, 1262,
> +     1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262,
> +     1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1262, 1263,
> +     1263,    0, 1263, 1263,    0, 1263, 1263, 1263, 1263, 1263,
> +
> +     1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
> +     1264,    0,    0, 1264,    0,    0, 1264, 1264,    0, 1264,
> +        0, 1264, 1264, 1264, 1264,    0, 1264, 1264, 1264, 1264,
> +     1264, 1265,    0,    0, 1265,    0,    0,    0, 1265,    0,
> +     1265,    0, 1265, 1265, 1265,    0, 1265, 1265, 1265, 1265,
> +     1265, 1265, 1266,    0,    0, 1266, 1266, 1266,    0, 1266,
> +     1266, 1266,    0, 1266, 1266, 1266,    0, 1266, 1266, 1266,
> +     1266, 1266, 1266, 1267, 1267,    0, 1267, 1267, 1267,    0,
> +     1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
> +     1267, 1267, 1267, 1267, 1268,    0,    0,    0, 1268, 1268,
>  
> +     1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268,
> +     1268, 1268, 1268, 1268, 1268, 1269,    0,    0, 1269,    0,
> +        0,    0, 1269,    0, 1269,    0, 1269, 1269, 1269,    0,
> +        0, 1269, 1269, 1269, 1269, 1269, 1270,    0,    0, 1270,
> +        0,    0, 1270, 1270,    0, 1270,    0, 1270, 1270, 1270,
> +     1270,    0, 1270, 1270, 1270, 1270, 1270, 1271,    0,    0,
> +     1271,    0,    0,    0, 1271,    0, 1271,    0, 1271, 1271,
> +     1271,    0,    0, 1271, 1271, 1271, 1271, 1271, 1272,    0,
> +        0, 1272, 1272, 1272,    0, 1272, 1272, 1272,    0, 1272,
> +     1272, 1272,    0,    0, 1272, 1272, 1272, 1272, 1272, 1273,
> +
> +     1273,    0, 1273, 1273, 1273,    0, 1273, 1273, 1273, 1273,
> +     1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
> +     1274,    0,    0, 1274,    0,    0,    0, 1274,    0, 1274,
> +        0, 1274, 1274, 1274,    0,    0, 1274, 1274, 1274, 1274,
> +     1274, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275,
>       1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275,
> -     1276,    0,    0, 1276,    0,    0, 1276, 1276,    0, 1276,
> -        0, 1276, 1276, 1276, 1276,    0, 1276, 1276, 1276, 1276,
> -     1276, 1277,    0,    0, 1277,    0,    0,    0, 1277,    0,
> -     1277,    0, 1277, 1277, 1277,    0, 1277, 1277, 1277, 1277,
> -     1277, 1277, 1278,    0,    0, 1278, 1278, 1278,    0, 1278,
> -     1278, 1278,    0, 1278, 1278, 1278,    0, 1278, 1278, 1278,
> -     1278, 1278, 1278, 1279, 1279,    0, 1279, 1279, 1279,    0,
> -     1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279, 1279,
> -     1279, 1279, 1279, 1279, 1280,    0,    0,    0, 1280, 1280,
> -
> -     1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280, 1280,
> -     1280, 1280, 1280, 1280, 1280, 1281,    0,    0, 1281,    0,
> -        0,    0, 1281,    0, 1281,    0, 1281, 1281, 1281,    0,
> -        0, 1281, 1281, 1281, 1281, 1281, 1282,    0,    0, 1282,
> -        0,    0, 1282, 1282,    0, 1282,    0, 1282, 1282, 1282,
> -     1282,    0, 1282, 1282, 1282, 1282, 1282, 1283,    0,    0,
> -     1283,    0,    0,    0, 1283,    0, 1283,    0, 1283, 1283,
> -     1283,    0,    0, 1283, 1283, 1283, 1283, 1283, 1284,    0,
> -        0, 1284, 1284, 1284,    0, 1284, 1284, 1284,    0, 1284,
> -     1284, 1284,    0,    0, 1284, 1284, 1284, 1284, 1284, 1285,
> -
> -     1285,    0, 1285, 1285, 1285,    0, 1285, 1285, 1285, 1285,
> -     1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285,
> -     1286,    0,    0, 1286,    0,    0,    0, 1286,    0, 1286,
> -        0, 1286, 1286, 1286,    0,    0, 1286, 1286, 1286, 1286,
> -     1286, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
> -     1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
> -     1287, 1287, 1288, 1288,    0, 1288, 1288, 1288, 1288, 1288,
> +     1275, 1275, 1276, 1276,    0, 1276, 1276, 1276, 1276, 1276,
> +     1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276,
> +     1276, 1276, 1276, 1277,    0,    0, 1277,    0,    0,    0,
> +     1277,    0, 1277,    0, 1277, 1277, 1277,    0,    0, 1277,
> +
> +     1277, 1277, 1277, 1277, 1278,    0,    0, 1278,    0,    0,
> +        0, 1278,    0, 1278,    0, 1278, 1278, 1278,    0,    0,
> +     1278, 1278, 1278, 1278, 1278, 1279,    0,    0, 1279, 1279,
> +     1279,    0, 1279, 1279, 1279,    0, 1279, 1279, 1279,    0,
> +        0, 1279, 1279, 1279, 1279, 1279, 1280,    0,    0, 1280,
> +     1280, 1280,    0, 1280, 1280, 1280,    0, 1280, 1280, 1280,
> +        0,    0, 1280, 1280, 1280, 1280, 1280, 1283, 1283, 1283,
> +        0,    0,    0,    0, 1283, 1284, 1284,    0, 1284, 1284,
> +     1284,    0, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
> +     1284, 1284, 1284, 1284, 1284, 1284, 1285, 1285,    0, 1285,
> +
> +     1285, 1285,    0, 1285, 1285, 1285, 1285, 1285, 1285, 1285,
> +     1285, 1285, 1285, 1285, 1285, 1285, 1285, 1286,    0,    0,
> +     1286, 1286, 1286,    0, 1286, 1286, 1286,    0, 1286, 1286,
> +     1286,    0,    0, 1286, 1286, 1286, 1286, 1286, 1287,    0,
> +        0, 1287, 1287, 1287,    0, 1287, 1287, 1287,    0, 1287,
> +     1287, 1287,    0,    0, 1287, 1287, 1287, 1287, 1287, 1288,
> +     1288,    0, 1288, 1288, 1288,    0, 1288, 1288, 1288, 1288,
>       1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288,
> -     1288, 1288, 1288, 1289,    0,    0, 1289,    0,    0,    0,
> -     1289,    0, 1289,    0, 1289, 1289, 1289,    0,    0, 1289,
> +     1289, 1289,    0, 1289, 1289, 1289,    0, 1289, 1289, 1289,
> +     1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289,
>  
> -     1289, 1289, 1289, 1289, 1290,    0,    0, 1290,    0,    0,
> -        0, 1290,    0, 1290,    0, 1290, 1290, 1290,    0,    0,
> -     1290, 1290, 1290, 1290, 1290, 1291,    0,    0, 1291, 1291,
> -     1291,    0, 1291, 1291, 1291,    0, 1291, 1291, 1291,    0,
> -        0, 1291, 1291, 1291, 1291, 1291, 1292,    0,    0, 1292,
> -     1292, 1292,    0, 1292, 1292, 1292,    0, 1292, 1292, 1292,
> -        0,    0, 1292, 1292, 1292, 1292, 1292, 1295, 1295, 1295,
> -        0,    0,    0,    0, 1295, 1296, 1296,    0, 1296, 1296,
> -     1296,    0, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296,
> -     1296, 1296, 1296, 1296, 1296, 1296, 1297, 1297,    0, 1297,
> -
> -     1297, 1297,    0, 1297, 1297, 1297, 1297, 1297, 1297, 1297,
> -     1297, 1297, 1297, 1297, 1297, 1297, 1297, 1298,    0,    0,
> -     1298, 1298, 1298,    0, 1298, 1298, 1298,    0, 1298, 1298,
> -     1298,    0,    0, 1298, 1298, 1298, 1298, 1298, 1299,    0,
> -        0, 1299, 1299, 1299,    0, 1299, 1299, 1299,    0, 1299,
> -     1299, 1299,    0,    0, 1299, 1299, 1299, 1299, 1299, 1300,
> -     1300,    0, 1300, 1300, 1300,    0, 1300, 1300, 1300, 1300,
> +     1289, 1290,    0,    0, 1290, 1290, 1290,    0, 1290, 1290,
> +     1290,    0, 1290, 1290, 1290,    0, 1290, 1290,    0, 1290,
> +     1290, 1290, 1291, 1291,    0, 1291, 1291, 1291,    0,    0,
> +     1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291,    0,
> +     1291, 1291, 1291, 1293,    0,    0, 1293, 1293,    0,    0,
> +     1293, 1293, 1293,    0, 1293, 1293, 1293, 1293,    0, 1293,
> +     1293, 1293, 1293, 1293, 1294, 1294,    0, 1294, 1294,    0,
> +     1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294,
> +     1294, 1294, 1294, 1294, 1294, 1295,    0,    0, 1295,    0,
> +        0,    0, 1295,    0, 1295,    0, 1295, 1295, 1295,    0,
> +
> +        0, 1295, 1295, 1295, 1295, 1295, 1296,    0,    0, 1296,
> +        0,    0,    0, 1296,    0, 1296,    0, 1296, 1296, 1296,
> +        0, 1296, 1296, 1296, 1296, 1296, 1296, 1297,    0,    0,
> +     1297, 1297,    0, 1297, 1297,    0,    0, 1297, 1297, 1298,
> +        0,    0, 1298, 1298, 1298,    0, 1298, 1298, 1298,    0,
> +     1298, 1298, 1298,    0, 1298, 1298, 1298, 1298, 1298, 1298,
> +     1300,    0,    0,    0, 1300, 1300, 1300, 1300, 1300, 1300,
>       1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
> -     1301, 1301,    0, 1301, 1301, 1301,    0, 1301, 1301, 1301,
> -     1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301,
> +     1300, 1301,    0,    0, 1301,    0,    0,    0, 1301,    0,
> +     1301,    0, 1301, 1301, 1301,    0,    0, 1301, 1301, 1301,
>  
> -     1301, 1302,    0,    0, 1302, 1302, 1302,    0, 1302, 1302,
> -     1302,    0, 1302, 1302, 1302,    0, 1302, 1302,    0, 1302,
> -     1302, 1302, 1303, 1303,    0, 1303, 1303, 1303,    0,    0,
> -     1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303,    0,
> -     1303, 1303, 1303, 1305,    0,    0, 1305, 1305,    0,    0,
> -     1305, 1305, 1305,    0, 1305, 1305, 1305, 1305,    0, 1305,
> -     1305, 1305, 1305, 1305, 1306, 1306,    0, 1306, 1306,    0,
> -     1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306,
> -     1306, 1306, 1306, 1306, 1306, 1307,    0,    0, 1307,    0,
> -        0,    0, 1307,    0, 1307,    0, 1307, 1307, 1307,    0,
> -
> -        0, 1307, 1307, 1307, 1307, 1307, 1308,    0,    0, 1308,
> -        0,    0,    0, 1308,    0, 1308,    0, 1308, 1308, 1308,
> -        0, 1308, 1308, 1308, 1308, 1308, 1308, 1309,    0,    0,
> -     1309, 1309,    0, 1309, 1309,    0,    0, 1309, 1309, 1310,
> -        0,    0, 1310, 1310, 1310,    0, 1310, 1310, 1310,    0,
> -     1310, 1310, 1310,    0, 1310, 1310, 1310, 1310, 1310, 1310,
> -     1312,    0,    0,    0, 1312, 1312, 1312, 1312, 1312, 1312,
> -     1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312,
> -     1312, 1313,    0,    0, 1313,    0,    0,    0, 1313,    0,
> -     1313,    0, 1313, 1313, 1313,    0,    0, 1313, 1313, 1313,
> -
> -     1313, 1313, 1314,    0,    0, 1314,    0,    0,    0, 1314,
> -        0, 1314,    0, 1314, 1314, 1314,    0,    0, 1314, 1314,
> -     1314, 1314, 1314, 1315,    0,    0, 1315,    0,    0,    0,
> -     1315,    0, 1315,    0, 1315, 1315, 1315,    0,    0, 1315,
> -     1315, 1315, 1315, 1315, 1316,    0,    0, 1316, 1316, 1316,
> -        0, 1316, 1316, 1316,    0, 1316, 1316, 1316,    0,    0,
> -     1316, 1316, 1316, 1316, 1316, 1317,    0,    0, 1317, 1317,
> -     1317,    0, 1317, 1317, 1317,    0, 1317, 1317, 1317,    0,
> -        0, 1317, 1317, 1317, 1317, 1317, 1318, 1318,    0, 1318,
> -     1318, 1318,    0, 1318, 1318, 1318, 1318, 1318, 1318, 1318,
> -
> -     1318, 1318, 1318, 1318, 1318, 1318, 1318, 1319, 1319, 1319,
> -     1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319,
> -     1319, 1319, 1319, 1319, 1319, 1319, 1319, 1319, 1320, 1320,
> -     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
> -     1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1321,
> -        0,    0, 1321,    0,    0,    0, 1321,    0, 1321,    0,
> -     1321, 1321, 1321,    0,    0, 1321, 1321, 1321, 1321, 1321,
> -     1323, 1323, 1323,    0,    0,    0,    0, 1323, 1324, 1324,
> -        0, 1324, 1324, 1324,    0, 1324, 1324, 1324, 1324, 1324,
> -     1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1324, 1325,
> -
> -     1325,    0, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325,
> -     1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325,
> -     1326, 1326,    0, 1326, 1326, 1326,    0, 1326, 1326, 1326,
> -     1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326, 1326,
> -     1326, 1327, 1327,    0, 1327, 1327, 1327,    0, 1327, 1327,
> -     1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327,
> -     1327, 1327, 1331, 1331, 1331,    0,    0,    0,    0, 1331,
> -     1332, 1332, 1332,    0,    0,    0,    0, 1332, 1333, 1333,
> -     1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333,
> -     1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1334,
> -
> -     1334,    0, 1334, 1334, 1334,    0, 1334, 1334, 1334, 1334,
> -     1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334, 1334,
> -     1339, 1339, 1339,    0,    0,    0,    0, 1339, 1340, 1340,
> -     1340, 1340,    0,    0,    0,    0, 1340, 1344, 1344, 1344,
> -        0,    0,    0,    0, 1344, 1345, 1345, 1345, 1345,    0,
> -        0,    0,    0, 1345, 1348, 1348, 1348,    0,    0,    0,
> -        0, 1348, 1349, 1349, 1349, 1349,    0,    0,    0,    0,
> -     1349, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350,
> -     1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350,
> -     1350, 1350, 1352,    0,    0, 1352, 1352,    0, 1352, 1352,
> -
> -        0,    0, 1352, 1352, 1353,    0,    0, 1353,    0,    0,
> -        0, 1353,    0, 1353,    0, 1353, 1353, 1353,    0,    0,
> -     1353, 1353, 1353, 1353, 1353, 1355,    0, 1355, 1355,    0,
> -        0,    0,    0, 1355, 1356, 1356, 1356,    0,    0,    0,
> -        0, 1356, 1357, 1357, 1357, 1357,    0,    0,    0,    0,
> -     1357, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
> -     1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358,
> -     1358, 1358, 1360,    0,    0, 1360, 1360,    0, 1360, 1360,
> -        0,    0, 1360, 1360, 1361,    0,    0, 1361,    0,    0,
> -        0, 1361,    0, 1361,    0, 1361, 1361, 1361,    0,    0,
> -
> -     1361, 1361, 1361, 1361, 1361, 1363,    0, 1363, 1363,    0,
> -        0,    0,    0, 1363, 1364, 1364, 1364,    0,    0,    0,
> -        0, 1364, 1365, 1365, 1365,    0,    0,    0,    0,    0,
> -     1365, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
> -     1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
> -     1366, 1366, 1367, 1367,    0, 1367, 1367, 1367, 1367, 1367,
> -        0, 1367,    0, 1367, 1367, 1367,    0,    0, 1367, 1367,
> -     1367, 1367, 1367, 1368, 1368,    0, 1368, 1368, 1368, 1368,
> -     1368,    0, 1368,    0, 1368, 1368, 1368,    0,    0, 1368,
> -     1368, 1368, 1368, 1368, 1370,    0, 1370, 1370,    0,    0,
> -
> -        0,    0, 1370, 1373,    0, 1373, 1373,    0,    0,    0,
> -        0, 1373, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
> -     1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
> -     1376, 1376, 1376, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
> +     1301, 1301, 1302,    0,    0, 1302,    0,    0,    0, 1302,
> +        0, 1302,    0, 1302, 1302, 1302,    0,    0, 1302, 1302,
> +     1302, 1302, 1302, 1303,    0,    0, 1303,    0,    0,    0,
> +     1303,    0, 1303,    0, 1303, 1303, 1303,    0,    0, 1303,
> +     1303, 1303, 1303, 1303, 1304,    0,    0, 1304, 1304, 1304,
> +        0, 1304, 1304, 1304,    0, 1304, 1304, 1304,    0,    0,
> +     1304, 1304, 1304, 1304, 1304, 1305,    0,    0, 1305, 1305,
> +     1305,    0, 1305, 1305, 1305,    0, 1305, 1305, 1305,    0,
> +        0, 1305, 1305, 1305, 1305, 1305, 1306, 1306,    0, 1306,
> +     1306, 1306,    0, 1306, 1306, 1306, 1306, 1306, 1306, 1306,
> +
> +     1306, 1306, 1306, 1306, 1306, 1306, 1306, 1307, 1307, 1307,
> +     1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307,
> +     1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1308, 1308,
> +     1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308,
> +     1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1309,
> +        0,    0, 1309,    0,    0,    0, 1309,    0, 1309,    0,
> +     1309, 1309, 1309,    0,    0, 1309, 1309, 1309, 1309, 1309,
> +     1311, 1311, 1311,    0,    0,    0,    0, 1311, 1312, 1312,
> +        0, 1312, 1312, 1312,    0, 1312, 1312, 1312, 1312, 1312,
> +     1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1312, 1313,
> +
> +     1313,    0, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313,
> +     1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313,
> +     1314, 1314,    0, 1314, 1314, 1314,    0, 1314, 1314, 1314,
> +     1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314,
> +     1314, 1315, 1315,    0, 1315, 1315, 1315,    0, 1315, 1315,
> +     1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315,
> +     1315, 1315, 1319, 1319, 1319,    0,    0,    0,    0, 1319,
> +     1320, 1320, 1320,    0,    0,    0,    0, 1320, 1321, 1321,
> +     1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
> +     1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1322,
> +
> +     1322,    0, 1322, 1322, 1322,    0, 1322, 1322, 1322, 1322,
> +     1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322, 1322,
> +     1327, 1327, 1327,    0,    0,    0,    0, 1327, 1328, 1328,
> +     1328, 1328,    0,    0,    0,    0, 1328, 1332, 1332, 1332,
> +        0,    0,    0,    0, 1332, 1333, 1333, 1333, 1333,    0,
> +        0,    0,    0, 1333, 1336, 1336, 1336,    0,    0,    0,
> +        0, 1336, 1337, 1337, 1337, 1337,    0,    0,    0,    0,
> +     1337, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
> +     1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
> +     1338, 1338, 1340,    0,    0, 1340, 1340,    0, 1340, 1340,
> +
> +        0,    0, 1340, 1340, 1341,    0,    0, 1341,    0,    0,
> +        0, 1341,    0, 1341,    0, 1341, 1341, 1341,    0,    0,
> +     1341, 1341, 1341, 1341, 1341, 1343,    0, 1343, 1343,    0,
> +        0,    0,    0, 1343, 1344, 1344, 1344,    0,    0,    0,
> +        0, 1344, 1345, 1345, 1345, 1345,    0,    0,    0,    0,
> +     1345, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346,
> +     1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346,
> +     1346, 1346, 1348,    0,    0, 1348, 1348,    0, 1348, 1348,
> +        0,    0, 1348, 1348, 1349,    0,    0, 1349,    0,    0,
> +        0, 1349,    0, 1349,    0, 1349, 1349, 1349,    0,    0,
> +
> +     1349, 1349, 1349, 1349, 1349, 1351,    0, 1351, 1351,    0,
> +        0,    0,    0, 1351, 1352, 1352, 1352,    0,    0,    0,
> +        0, 1352, 1353, 1353, 1353,    0,    0,    0,    0,    0,
> +     1353, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354,
> +     1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354,
> +     1354, 1354, 1355, 1355,    0, 1355, 1355, 1355, 1355, 1355,
> +        0, 1355,    0, 1355, 1355, 1355,    0,    0, 1355, 1355,
> +     1355, 1355, 1355, 1356, 1356,    0, 1356, 1356, 1356, 1356,
> +     1356,    0, 1356,    0, 1356, 1356, 1356,    0,    0, 1356,
> +     1356, 1356, 1356, 1356, 1358,    0, 1358, 1358,    0,    0,
> +
> +        0,    0, 1358, 1361,    0, 1361, 1361,    0,    0,    0,
> +        0, 1361, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364,
> +     1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364,
> +     1364, 1364, 1364, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
>  
> -     1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253
> +     1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241
>      } ;
>  
>  static yy_state_type yy_last_accepting_state;
> @@ -3138,7 +3135,7 @@
>  
>  
>  
> -#line 3136 "toke.c"
> +#line 3133 "toke.c"
>  
>  #define INITIAL 0
>  #define GOTDEFS 1
> @@ -3361,7 +3358,7 @@
>  	{
>  #line 124 "toke.l"
>  
> -#line 3359 "toke.c"
> +#line 3356 "toke.c"
>  
>  	while ( 1 )		/* loops until end-of-file is reached */
>  		{
> @@ -3389,7 +3386,7 @@
>  			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
>  				{
>  				yy_current_state = (int) yy_def[yy_current_state];
> -				if ( yy_current_state >= 1254 )
> +				if ( yy_current_state >= 1242 )
>  					yy_c = yy_meta[(unsigned int) yy_c];
>  				}
>  			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
> @@ -4265,26 +4262,15 @@
>  YY_RULE_SETUP
>  #line 753 "toke.l"
>  {
> -			    /* No command line args. */
> -			    LEXTRACE("COMMAND ");
> -			    if (!fill_cmnd(sudoerstext, sudoersleng))
> -				yyterminate();
> -			    return COMMAND;
> -			}			/* sudo -l -U otheruser */
> -	YY_BREAK
> -case 71:
> -YY_RULE_SETUP
> -#line 761 "toke.l"
> -{
>  			    BEGIN GOTCMND;
>  			    LEXTRACE("COMMAND ");
>  			    if (!fill_cmnd(sudoerstext, sudoersleng))
>  				yyterminate();
>  			}			/* sudo -e */
>  	YY_BREAK
> -case 72:
> +case 71:
>  YY_RULE_SETUP
> -#line 768 "toke.l"
> +#line 760 "toke.l"
>  {
>  				BEGIN prev_state;
>  				if (!fill(sudoerstext, sudoersleng))
> @@ -4293,9 +4279,9 @@
>  				return WORD;
>  			}
>  	YY_BREAK
> -case 73:
> +case 72:
>  YY_RULE_SETUP
> -#line 776 "toke.l"
> +#line 768 "toke.l"
>  {
>  			    /* directories can't have args... */
>  			    if (sudoerstext[sudoersleng - 1] == '/') {
> @@ -4310,9 +4296,9 @@
>  				yyterminate();
>  			}			/* a pathname */
>  	YY_BREAK
> -case 74:
> +case 73:
>  YY_RULE_SETUP
> -#line 790 "toke.l"
> +#line 782 "toke.l"
>  {
>  			    if (sudoers_strict) {
>  				if (!sudo_regex_compile(NULL, sudoerstext, &sudoers_errstr)) {
> @@ -4326,9 +4312,9 @@
>  				yyterminate();
>  			}			/* a regex */
>  	YY_BREAK
> -case 75:
> +case 74:
>  YY_RULE_SETUP
> -#line 803 "toke.l"
> +#line 795 "toke.l"
>  {
>  			    LEXTRACE("BEGINSTR ");
>  			    sudoerslval.string = NULL;
> @@ -4336,9 +4322,9 @@
>  			    BEGIN INSTR;
>  			}
>  	YY_BREAK
> -case 76:
> +case 75:
>  YY_RULE_SETUP
> -#line 810 "toke.l"
> +#line 802 "toke.l"
>  {
>  			    /* a word */
>  			    if (!fill(sudoerstext, sudoersleng))
> @@ -4348,9 +4334,9 @@
>  			}
>  	YY_BREAK
>  
> -case 77:
> +case 76:
>  YY_RULE_SETUP
> -#line 819 "toke.l"
> +#line 811 "toke.l"
>  {
>  			    /* include file/directory */
>  			    if (!fill(sudoerstext, sudoersleng))
> @@ -4360,9 +4346,9 @@
>  			    return WORD;
>  			}
>  	YY_BREAK
> -case 78:
> +case 77:
>  YY_RULE_SETUP
> -#line 828 "toke.l"
> +#line 820 "toke.l"
>  {
>  			    LEXTRACE("BEGINSTR ");
>  			    sudoerslval.string = NULL;
> @@ -4371,49 +4357,49 @@
>  			}
>  	YY_BREAK
>  
> -case 79:
> +case 78:
>  YY_RULE_SETUP
> -#line 836 "toke.l"
> +#line 828 "toke.l"
>  {
>  			    LEXTRACE("( ");
>  			    return '(';
>  			}
>  	YY_BREAK
> -case 80:
> +case 79:
>  YY_RULE_SETUP
> -#line 841 "toke.l"
> +#line 833 "toke.l"
>  {
>  			    LEXTRACE(") ");
>  			    return ')';
>  			}
>  	YY_BREAK
> -case 81:
> +case 80:
>  YY_RULE_SETUP
> -#line 846 "toke.l"
> +#line 838 "toke.l"
>  {
>  			    LEXTRACE(", ");
>  			    return ',';
>  			}			/* return ',' */
>  	YY_BREAK
> -case 82:
> +case 81:
>  YY_RULE_SETUP
> -#line 851 "toke.l"
> +#line 843 "toke.l"
>  {
>  			    LEXTRACE("= ");
>  			    return '=';
>  			}			/* return '=' */
>  	YY_BREAK
> -case 83:
> +case 82:
>  YY_RULE_SETUP
> -#line 856 "toke.l"
> +#line 848 "toke.l"
>  {
>  			    LEXTRACE(": ");
>  			    return ':';
>  			}			/* return ':' */
>  	YY_BREAK
> -case 84:
> +case 83:
>  YY_RULE_SETUP
> -#line 861 "toke.l"
> +#line 853 "toke.l"
>  {
>  			    if (sudoersleng & 1) {
>  				LEXTRACE("!");
> @@ -4421,10 +4407,10 @@
>  			    }
>  			}
>  	YY_BREAK
> -case 85:
> -/* rule 85 can match eol */
> +case 84:
> +/* rule 84 can match eol */
>  YY_RULE_SETUP
> -#line 868 "toke.l"
> +#line 860 "toke.l"
>  {
>  			    if (YY_START == INSTR) {
>  				/* throw away old string */
> @@ -4444,27 +4430,27 @@
>  			    return '\n';
>  			}			/* return newline */
>  	YY_BREAK
> -case 86:
> +case 85:
>  YY_RULE_SETUP
> -#line 887 "toke.l"
> +#line 879 "toke.l"
>  {			/* throw away space/tabs */
>  			    sawspace = true;	/* but remember for fill_args */
>  			}
>  	YY_BREAK
> -case 87:
> -/* rule 87 can match eol */
> +case 86:
> +/* rule 86 can match eol */
>  YY_RULE_SETUP
> -#line 891 "toke.l"
> +#line 883 "toke.l"
>  {
>  			    sawspace = true;	/* remember for fill_args */
>  			    sudolineno++;
>  			    continued = true;
>  			}			/* throw away EOL after \ */
>  	YY_BREAK
> -case 88:
> -/* rule 88 can match eol */
> +case 87:
> +/* rule 87 can match eol */
>  YY_RULE_SETUP
> -#line 897 "toke.l"
> +#line 889 "toke.l"
>  {
>  			    if (sudoerstext[sudoersleng - 1] == '\n') {
>  				/* comment ending in a newline */
> @@ -4480,9 +4466,9 @@
>  			    return '\n';
>  			}			/* comment, not uid/gid */
>  	YY_BREAK
> -case 89:
> +case 88:
>  YY_RULE_SETUP
> -#line 912 "toke.l"
> +#line 904 "toke.l"
>  {
>  			    LEXTRACE("NOMATCH ");
>  			    return NOMATCH;
> @@ -4498,18 +4484,18 @@
>  case YY_STATE_EOF(WANTDIGEST):
>  case YY_STATE_EOF(GOTINC):
>  case YY_STATE_EOF(EXPECTPATH):
> -#line 917 "toke.l"
> +#line 909 "toke.l"
>  {
>  			    if (!pop_include())
>  				yyterminate();
>  			}
>  	YY_BREAK
> -case 90:
> +case 89:
>  YY_RULE_SETUP
> -#line 922 "toke.l"
> +#line 914 "toke.l"
>  ECHO;
>  	YY_BREAK
> -#line 4507 "toke.c"
> +#line 4493 "toke.c"
>  
>  	case YY_END_OF_BUFFER:
>  		{
> @@ -4803,7 +4789,7 @@
>  		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
>  			{
>  			yy_current_state = (int) yy_def[yy_current_state];
> -			if ( yy_current_state >= 1254 )
> +			if ( yy_current_state >= 1242 )
>  				yy_c = yy_meta[(unsigned int) yy_c];
>  			}
>  		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
> @@ -4831,11 +4817,11 @@
>  	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
>  		{
>  		yy_current_state = (int) yy_def[yy_current_state];
> -		if ( yy_current_state >= 1254 )
> +		if ( yy_current_state >= 1242 )
>  			yy_c = yy_meta[(unsigned int) yy_c];
>  		}
>  	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
> -	yy_is_jam = (yy_current_state == 1253);
> +	yy_is_jam = (yy_current_state == 1241);
>  
>      	return yy_is_jam ? 0 : yy_current_state;
>  }
> @@ -5470,7 +5456,7 @@
>  
>  #define YYTABLES_NAME "yytables"
>  
> -#line 922 "toke.l"
> +#line 914 "toke.l"
>  
>  
>  struct path_list {
> diff -Nru sudo-1.9.13p1/plugins/sudoers/toke.l sudo-1.9.13p3/plugins/sudoers/toke.l
> --- sudo-1.9.13p1/plugins/sudoers/toke.l	2023-02-14 17:53:02.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/toke.l	2023-03-04 16:50:10.000000000 +0100
> @@ -750,14 +750,6 @@
>  			    return SHA512_TOK;
>  			}
>  
> -list			{
> -			    /* No command line args. */
> -			    LEXTRACE("COMMAND ");
> -			    if (!fill_cmnd(sudoerstext, sudoersleng))
> -				yyterminate();
> -			    return COMMAND;
> -			}			/* sudo -l -U otheruser */
> -
>  sudoedit		{
>  			    BEGIN GOTCMND;
>  			    LEXTRACE("COMMAND ");
> diff -Nru sudo-1.9.13p1/plugins/sudoers/visudo.c sudo-1.9.13p3/plugins/sudoers/visudo.c
> --- sudo-1.9.13p1/plugins/sudoers/visudo.c	2023-02-14 17:53:06.000000000 +0100
> +++ sudo-1.9.13p3/plugins/sudoers/visudo.c	2023-02-25 19:21:47.000000000 +0100
> @@ -260,7 +260,9 @@
>      }
>  
>      /* Mock up a fake sudo_user struct. */
> -    user_cmnd = user_base = (char *)"";
> +    user_cmnd = user_base = strdup("true");
> +    if (user_cmnd == NULL)
> +	sudo_fatalx(U_("%s: %s"), __func__, U_("unable to allocate memory"));
>      if (geteuid() == 0) {
>  	const char *user = getenv("SUDO_USER");
>  	if (user != NULL && *user != '\0')
> diff -Nru sudo-1.9.13p1/src/exec_nopty.c sudo-1.9.13p3/src/exec_nopty.c
> --- sudo-1.9.13p1/src/exec_nopty.c	2023-02-14 17:53:02.000000000 +0100
> +++ sudo-1.9.13p3/src/exec_nopty.c	2023-03-04 16:50:12.000000000 +0100
> @@ -447,10 +447,15 @@
>  		ev_free_by_fd(evbase, fd);
>  	    }
>  	}
> -	/* Enable reader if buffer is not full. */
> +	/*
> +	 * Enable reader if buffer is not full but avoid reading
> +	 * /dev/tty if the command is no longer running.
> +	 */
>  	if (iob->revent != NULL && iob->len != sizeof(iob->buf)) {
> -	    if (sudo_ev_add(evbase, iob->revent, NULL, false) == -1)
> -		sudo_fatal("%s", U_("unable to add event to queue"));
> +	    if (!USERTTY_EVENT(iob->revent) || iob->ec->cmnd_pid != -1) {
> +		if (sudo_ev_add(evbase, iob->revent, NULL, false) == -1)
> +		    sudo_fatal("%s", U_("unable to add event to queue"));
> +	    }
>  	}
>      }
>  
> diff -Nru sudo-1.9.13p1/src/exec_pty.c sudo-1.9.13p3/src/exec_pty.c
> --- sudo-1.9.13p1/src/exec_pty.c	2023-02-14 17:53:02.000000000 +0100
> +++ sudo-1.9.13p3/src/exec_pty.c	2023-03-04 16:50:12.000000000 +0100
> @@ -469,10 +469,13 @@
>  		ev_free_by_fd(evbase, fd);
>  	    }
>  	}
> -	/* Enable reader if buffer is not full. */
> -	if (iob->revent != NULL &&
> -	    (ttymode == TERM_RAW || !USERTTY_EVENT(iob->revent))) {
> -	    if (iob->len != sizeof(iob->buf)) {
> +	/*
> +	 * Enable reader if buffer is not full but avoid reading /dev/tty
> +	 * if not in raw mode or the command is no longer running.
> +	 */
> +	if (iob->revent != NULL && iob->len != sizeof(iob->buf)) {
> +	    if (!USERTTY_EVENT(iob->revent) ||
> +		    (ttymode == TERM_RAW && iob->ec->cmnd_pid != -1)) {
>  		if (sudo_ev_add(evbase, iob->revent, NULL, false) == -1)
>  		    sudo_fatal("%s", U_("unable to add event to queue"));
>  	    }
> diff -Nru sudo-1.9.13p1/src/load_plugins.c sudo-1.9.13p3/src/load_plugins.c
> --- sudo-1.9.13p1/src/load_plugins.c	2023-02-14 17:53:02.000000000 +0100
> +++ sudo-1.9.13p3/src/load_plugins.c	2023-02-23 17:09:38.000000000 +0100
> @@ -55,6 +55,8 @@
>  		errno = ENAMETOOLONG;
>  		goto bad;
>  	    }
> +	    /* Plugin is static, do not fully-qualify. */
> +	    debug_return_bool(true);
>  	}
>  #endif /* STATIC_SUDOERS_PLUGIN */
>  


-- 
Sebastian Ramacher


Reply to: